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



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

СообщениеДобавлено: Чт Дек 27, 2012 2:31 pm Ответить с цитатой Вернуться к началу

Есть стратегия:

Код:
FastEMA= Optimize ("period2",25, 5,29,5);
SlowEMA = Optimize("period3",20, 20,100,5);
EMAsl = Optimize("SL", 5, 5, 50,5);

Buy = Cross (EMA(Close,FastEMA),EMA(Close,SlowEMA));

Sell = C<EMAsl;

Short = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA));
Cover = C>EMAsl;

ApplyStop(stopTypeLoss,stopModePoint,2.5*ATR(14),1);


Тестирую ее на часовом графике за двухлетний период.

В результате тестов захватывает только первый год. На начале второго года открывает сделку и ведет ее весь следующий год.

Даю "Show arrows for all raw signals" - во втором году куча возможностей открытия и закрытия сделок. В settings - даю "allow position size shrinking." - Без эффекта.

Где может быть косяк?
Посмотреть профиль Отправить личное сообщение
nightcarrier



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

СообщениеДобавлено: Чт Дек 27, 2012 3:25 pm Ответить с цитатой Вернуться к началу

pylyp писал(а):


Код:

...
EMAsl = Optimize("SL", 5, 5, 50,5);
...
Sell = C<EMAsl;
...




Если правильно понял - Вы через "EMAsl" стоп-лосс в процентах изобразить хотите? В таком случае, имхо

Sell = Close < 5

не совсем то Smile ApplyStop написали бы.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Дек 27, 2012 3:40 pm Ответить с цитатой Вернуться к началу

Да. Вот это не понятная конструкция
Код:

EMAsl = Optimize("SL", 5, 5, 50,5);
...
Sell = C<EMAsl;

Если цена бумаги уверенно ушла выше EMAsl
То и выход срабатывать не будет.
Остается только стоп.
Код:
ApplyStop(stopTypeLoss,stopModePoint,2.5*ATR(14),1);

Если он не сработал ни разу, то сделка будет держаться хоть 100 лет....

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



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

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

Да, согласен. Теперь работает.
Спасибо.
Посмотреть профиль Отправить личное сообщение
pylyp



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

СообщениеДобавлено: Пт Дек 28, 2012 12:52 pm Ответить с цитатой Вернуться к началу

Блин, пошел дальше со стратегией. Добавил дневной график и опять пропуск сделок. В чем косяк, ведь я все по инструкции делаю:
Код:


FastEMA= Optimize ("period2",10, 5,29,5);
SlowEMA = Optimize("period3",20, 20,100,5);

TimeFrameSet(inDaily);
fastD=EMA(C,10);
slowD=EMA(C,20);
TimeFrameRestore();

fastD=TimeFrameExpand(fastD,inDaily);
slowD=TimeFrameExpand(slowD,inDaily);

Buy = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA))
AND
TimeFrameExpand(fastD,inDaily)<TimeFrameExpand(slowD,inDaily);


Plot(TimeFrameExpand(EMA(C,10),inDaily),"EMAfastD",colorGreen,styleLine);
Plot(TimeFrameExpand(EMA(C,20),inDaily),"EMAslowD",colorBlue,styleLine);
Plot(TimeFrameExpand(EMA(C,FastEMA),inHourly),"FastEMA",colorRed,styleLine);
Plot(TimeFrameExpand(EMA(C,slowEMA),inHourly),"slowEMA",colorBlack,styleLine);


Sell = C<EMA(C,SlowEMA);


Short = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA));
Cover = C>EMA(C,SlowEMA );



ApplyStop(stopTypeLoss,stopModePoint,2.5*ATR(14),1);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Дек 28, 2012 1:37 pm Ответить с цитатой Вернуться к началу

TimeFrameExpand не надо каждый раз использовать.
После
TimeFrameRestore();
один раз расжал массив и потом работай с ним как обычно

Код:
FastEMA= Optimize ("period2",10, 5,29,5);
SlowEMA = Optimize("period3",20, 20,100,5);

TimeFrameSet(inDaily);
  fastD=EMA(C,10);
  slowD=EMA(C,20);
TimeFrameRestore();

fastD=TimeFrameExpand(fastD,inDaily);
slowD=TimeFrameExpand(slowD,inDaily);

Buy = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA))
AND
fastD < slowD;


Plot(fastD, "EMAfastD",colorGreen,styleLine);
Plot(slowD, "EMAslowD",colorBlue,styleLine);
//Plot(TimeFrameExpand(EMA(C,FastEMA),inHourly),"FastEMA",colorRed,styleLine);
//Plot(TimeFrameExpand(EMA(C,slowEMA),inHourly),"slowEMA",colorBlack,styleLine);


Sell = C<EMA(C,SlowEMA);


Short = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA));
Cover = C>EMA(C,SlowEMA );

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



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

СообщениеДобавлено: Пт Дек 28, 2012 10:41 pm Ответить с цитатой Вернуться к началу

Да работает. Спасибо.

BTW: есть ли какой-то учебник по АМИ? а то с хелпа не сразу все схватишь, а на форуме людей постоянно дергать, как-то не удобно.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen