Автор |
Сообщение |
DMITRY
Зарегистрирован: 18.09.2009
Сообщения: 179
|
А зачем их объединять, ведь по более быстрым скользящим сигнал всегда будет первым? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
DMITRY писал(а): |
А зачем их объединять, ведь по более быстрым скользящим сигнал всегда будет первым? |
Эквити будет ровнее....И в позициях будет соответственно 2, -2, 1, -1.
Если две показывают в лонг, значит покупаем 2. Если одна в лонг, а другая в шорт значит 1. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Системы работают на одной бумаге или на портфеле? Или может каждая система работает на своей бумаге или свем наборе бумаг? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
000 писал(а): |
Системы работают на одной бумаге или на портфеле? Или может каждая система работает на своей бумаге или свем наборе бумаг? |
Пока планирую на фьючерсе ртс. Потом на газпроме тоже самое применить. Вообще для начала хочу посмотреть на сколько изменяются цифры при таком тандеме |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Т.е. сейчас надо две системы на одной бумаге.
В таком случае проще всего создать клон бумаги с другим тикером. Например имеется тикер RTS. Надо создать его копию с именем RTS1
Цитата: |
Для этого создаем пустой символ меню Sumbol -> New пишем там RTS1 и OK
Далее переключаемся на этот пустой символ
Затем в меню Sumbol выбираем Merge. В поле Destination у нас будет RTS1 а в поле Merge with выбираем RTS и жмем OK |
Теперь у нас есть 2 совершенно одинаковых символа RTS и RTS1
Пишем код системы
Код: |
if(Name() == RTS)
{
тут код первой системы
}
else if(Name() == RTS1)
{
тут код второй системы
} |
и далее тестируем это дело просто на портфеле из этих 2 бумаг. Не забываем задать размер позиции чтобы тестер не входил на все деньги в одну систему а оставлял свободные средства на случай сигнала второй системы |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
if(Name() == SPFB.RTS)
{
Period1 = Optimize("Period", 10, 1, 100, 1);
Period2 = Optimize("PeriodD", 15, 1, 100, 1);
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)
{
Period1 = Optimize("Period", 30, 1, 100, 1);
Period2 = Optimize("PeriodD", 80, 1, 100, 1);
Buy = Cover =Cross( LinearReg(C,Period1),LinearReg (C,Period2)) ;
Sell = Short =Cross( LinearReg(C,Period2),LinearReg (C,Period1)) ;
SetPositionSize( 1, spsShares ) ;
}
Что то не получается.....ругается что то по поводу не соответствия оператора/операнда |
|
|
Посмотреть профиль Отправить личное сообщение |
|
DMITRY
Зарегистрирован: 18.09.2009
Сообщения: 179
|
Посмотри в этом разделе, чуть ниже тему «тест нескольких стратегий одновременно», там подробней … |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Скорее всего дело в том, что
Period1 = Optimize("Period", 10, 1, 100, 1);
Period2 = Optimize("PeriodD", 15, 1, 100, 1);
надо вынести за if и вторые тоже. При этом вторые надо переименовать в Period3 и Period4. То, что в кавычках тоже переименовать. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
000 писал(а): |
Скорее всего дело в том, что
Period1 = Optimize("Period", 10, 1, 100, 1);
Period2 = Optimize("PeriodD", 15, 1, 100, 1);
надо вынести за if и вторые тоже. При этом вторые надо переименовать в Period3 и Period4. То, что в кавычках тоже переименовать. |
Пробовал выделяет желтым if(Name() == SPFB.RTS)
операция не разрешима......
В выходные на свежую голову подумаю.....возникла мысль по другому реализовать |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
Period1 = Optimize("Period1", 10, 1, 100, 1);
Period2 = Optimize("Period1D", 15, 1, 100, 1);
Period3 = Optimize("Period2", 30, 1, 100, 1);
Period4 = Optimize("Period2D", 80, 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")
{
Buy = Cover = Cross(LinearReg(C, Period3), LinearReg (C, Period4)) ;
Sell = Short = Cross(LinearReg(C, Period4), LinearReg (C, Period3)) ;
SetPositionSize( 1, spsShares ) ;
} |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Яхфар
Зарегистрирован: 24.04.2011
Сообщения: 74
|
|
Посмотреть профиль Отправить личное сообщение |
|
spitfire
Зарегистрирован: 29.04.2010
Сообщения: 729
Откуда: Moscow
|
Небольшй вопросик: как Ами считает параметр Exposure в итоговой таблице результатов? Как я понял, это процент времени, когда система находится в позиции. Моя система почти все время в рынке, но тест почему то показывает Exposure порядка 25%. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Нет. Это средний процент использования капитала в торгах. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|