Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 тест нескольких стратегий одновременно Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Вт Янв 04, 2011 1:30 am Ответить с цитатой Вернуться к началу

Сам по себе способ оценки там самый правильный. Но для его реализации надо создать клоны инструментов. Вот способ создания клонов там геморойный. Можно гораздо проще.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 8:06 am Ответить с цитатой Вернуться к началу

по этой схеме получается, можно сваять мультисистемный робот, если есть способ котировки клонировать в реальном времени или близко к нему.
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 9:16 am Ответить с цитатой Вернуться к началу

dic2005 писал(а):
по этой схеме получается, можно сваять мультисистемный робот, если есть способ котировки клонировать в реальном времени или близко к нему.

Если такой робот предполгается будет работать на 1 инструменте, то ничего клонировать не надо. Для этого в код просто засовывается несколько систем, где заменяется Buy на Buy1, Buy2 и так далее.
А потом в самом роботе пишется Buy = Buy1 OR Buy2 OR...
Посмотреть профиль Отправить личное сообщение ICQ Number
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 10:28 am Ответить с цитатой Вернуться к началу

а разве в таком случае откроется к примеру скажем еще один лонг, если лонг по другой системе уже открыт?
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 11:35 am Ответить с цитатой Вернуться к началу

Да, конечно.
Посмотреть профиль Отправить личное сообщение ICQ Number
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 11:53 am Ответить с цитатой Вернуться к началу

Смотрю в анализаторе, стабильно long-short, long-short. То есть если есть один лонг, втрой не открывается
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 12:38 pm Ответить с цитатой Вернуться к началу

Код:

BuySys1 = .....;
SellSys1 = .....;

BuySys2 = .....;
SellSys2 = ......;

Buy = BuySys1 OR BuySys2;
Sell = SellSys1 OR SellSys2;
Lots = BuySys1*Lots + BuySys2*Lots

И главное не забыть про строчку
Buy = LastValue(Buy); Sell = LastValue(Sell);
В сканнере запускаем n Last qoutations при n=1.
Такая связка работает, проверено.
Посмотреть профиль Отправить личное сообщение ICQ Number
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 12:55 pm Ответить с цитатой Вернуться к началу

дык АА не откроет новую сделку пока не закроет старую
я сделал по другому,
Код:

if (Name()=="SBER")
 {
  Periods = 90;
  Width = 2;
  sl=0.7;
  tp=8;
  AddToComposite(O, "~SBER","O",atcFlagDeleteValues+atcFlagEnableInBacktest+atcFlagEnableInIndicator);
  AddToComposite(H, "~SBER","H",atcFlagDeleteValues+atcFlagEnableInBacktest+atcFlagEnableInIndicator);
  AddToComposite(L, "~SBER","L",atcFlagDeleteValues+atcFlagEnableInBacktest+atcFlagEnableInIndicator);
  AddToComposite(C, "~SBER","C",atcFlagDeleteValues+atcFlagEnableInBacktest+atcFlagEnableInIndicator);
  AddToComposite(V, "~SBER","V",atcFlagDeleteValues+atcFlagEnableInBacktest+atcFlagEnableInIndicator);

 }
if (Name()=="~SBER")
 {
  Periods = 90;
  Width = 2;
  sl=0.7;
  tp=8;
  }

получилось нормально, сделки строго парами идут

потестирую, как идет такой код в реалтайм пока
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 2:08 pm Ответить с цитатой Вернуться к началу

При сканировании роботом последнего бара АА вообще плевать в позиции мы или нет. Какой сигнал твоя система выдаст, такой робот и исполнит! Мы вообще по ходу говорим про разные вещи: я про робота, а ты про бектест. В бектесте вообще все по другому - там сначала идет сбор сигналов (первый проход кода), а потом уже их обработка и ВОЗМОЖНОЕ исполнение (второй проход кода)

ЗЫ Ничего что на ты? Smile
Посмотреть профиль Отправить личное сообщение ICQ Number
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 2:18 pm Ответить с цитатой Вернуться к началу

на ты без проблем Smile
в данном случае. да я про бэктестинг
а в случае робота, как тогда робот обрабатывает ApplyStop, если не "видит" предыдущую сделку?
И потом, прежде чем запускать робот, не плохо бы посмотреть как общая система, портфель то бишь, поведет себя в целом, то есть, набор систем на наборе бумаг Smile
или хотя бы одна система с разными параметрами на наборе бумаг
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 3:08 pm Ответить с цитатой Вернуться к началу

Насчет ApplyStop() ничего сказать не могу так как никогда его не использовал.. Но подозреваю что работать будет Smile
Для того чтобы прикинуть как себя будет вести портфель систем на одном инструменте, нужно по крайней мере выбрать веса каждой системы в портфеле, желательно не наобум Smile Веса можно прикинуть в экселе, с помощью "поиска решения", там же построить график.
Посмотреть профиль Отправить личное сообщение ICQ Number
dic2005



Зарегистрирован: 23.07.2011
Сообщения: 29

СообщениеДобавлено: Ср Сен 07, 2011 3:19 pm Ответить с цитатой Вернуться к началу

В екселе много чего можно делать Smile
Посмотреть профиль Отправить личное сообщение
spitfire



Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow

СообщениеДобавлено: Ср Сен 07, 2011 3:47 pm Ответить с цитатой Вернуться к началу

dic2005 писал(а):
В екселе много чего можно делать Smile

Аха, даже робота Wink
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8816

СообщениеДобавлено: Ср Сен 07, 2011 11:31 pm Ответить с цитатой Вернуться к началу

spitfire писал(а):
dic2005 писал(а):
по этой схеме получается, можно сваять мультисистемный робот, если есть способ котировки клонировать в реальном времени или близко к нему.

Если такой робот предполгается будет работать на 1 инструменте, то ничего клонировать не надо. Для этого в код просто засовывается несколько систем, где заменяется Buy на Buy1, Buy2 и так далее.
А потом в самом роботе пишется Buy = Buy1 OR Buy2 OR...

Это будет работать только если роботе нет функции Equity()

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Яхфар



Зарегистрирован: 24.04.2011
Сообщения: 73

СообщениеДобавлено: Чт Сен 15, 2011 1:23 pm Ответить с цитатой Вернуться к началу

Добрый день!

Есть вот такой простой код, для тестирования двух систем:

Period1 = Optimize("Period1", 11, 1, 100, 1);
Period2 = Optimize("Period1D", 29, 1, 100, 1);

if(Name() == "SPFB.RTS")
{
Buy = Cover = Cross(LinearReg(C, Period1), LinearReg(C, Period2)) ;
Sell = Short = Cross(LinearReg(C, Period2), LinearReg(C, Period1)) ;
SetPositionSize( 1, spsShares);
}
else if(Name() == "RTS1")
{
Period3 = Optimize("PeriodA", 14, 1, 50, 1);
Period4 = Optimize("PeriodB", 36, 1, 50, 1);
Top = Ref(HHV(C, Period3), -1);
Bot = Ref(LLV(C, Period4), -1);
Buy = Cover= Cross(C, Top);
Sell = Short= Cross(Bot, C);
SetPositionSize( 1, spsShares);
}

как его протестировать, если первая система торгуется в дневную сессию, а вторая ситема торгуется и в ночную сессию и в дневную.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen