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



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

СообщениеДобавлено: Пт Мар 15, 2013 6:13 pm Ответить с цитатой Вернуться к началу

Есть система: покупай, когда две EMA на 60 мин графике идут вверх и две EMA на 15 мин пересекаются. Добавил еще правило на вход, когда две 60 мин EMA пересекаются. Но система, почему-то второе правило игнорит. В чем косяк?


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

TimeFrameSet(60);
fastD=EMA(C,FastEMA);
slowD=EMA(C,SlowEMA);
TimeFrameRestore();

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

Buy = Cross (EMA(Close,fastEMA),EMA(Close,slowEMA)) AND fastD>slowD OR Cross(fastd,slowd);
Sell = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA));
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

Вот это
OR Cross(fastd,slowd)
убери совсем.

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



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

СообщениеДобавлено: Сб Мар 16, 2013 11:34 am Ответить с цитатой Вернуться к началу

Так мне как раз оно и надо. Правило такое: входи когда на часовике ЕМА>EMA и на 15-мин EMA пересекает ЕМА. ИЛИ только на часовике ЕМА пересекает ЕМА.

Мне кажется здесь ограничение в программе. Если я ставлю в настройках тестировать на 15-минутном графике, то он на часовой мне не залезет... Правильно?
Посмотреть профиль Отправить личное сообщение
spitfire



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

СообщениеДобавлено: Сб Мар 16, 2013 12:35 pm Ответить с цитатой Вернуться к началу

Цитата:
Buy = Cross (EMA(Close,fastEMA),EMA(Close,slowEMA)) AND fastD>slowD OR Cross(fastdslowd),;

А если так?
BuyCond1 = Cross (EMA(Close,fastEMA),EMA(Close,slowEMA)) AND fastD>slowD;
BuyCond2 = Cross(fastd,slowd);
Buy = BuyCond1 OR BuyCond2;

Залезть он может на любой таймфрейм БОЛЬШЕ базового и тестируемого.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


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

СообщениеДобавлено: Сб Мар 16, 2013 4:26 pm Ответить с цитатой Вернуться к началу

pylyp писал(а):
Так мне как раз оно и надо. Правило такое: входи когда на часовике ЕМА>EMA и на 15-мин EMA пересекает ЕМА. ИЛИ только на часовике ЕМА пересекает ЕМА.

Мне кажется здесь ограничение в программе. Если я ставлю в настройках тестировать на 15-минутном графике, то он на часовой мне не залезет... Правильно?

Ааа. Тогда так
Код:

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

TimeFrameSet(60);
  fastD=EMA(C, FastEMA);
  slowD=EMA(C, SlowEMA);
  DBuyCond = Cross(fastD, slowD);
TimeFrameRestore();

fastD=TimeFrameExpand(fastD, 60);
slowD=TimeFrameExpand(slowD, 60);
DBuyCond = TimeFrameExpand(DBuyCond, 60);

Buy = (Cross (EMA(Close,fastEMA),EMA(Close,slowEMA)) AND fastD > slowD) OR DBuyCond;
Sell = Cross (EMA(Close,SlowEMA),EMA(Close,FastEMA));

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



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

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

Так, по ходу система все игнорит. Думал может проблема, что во время пересечения ема. уже открыта сделка на 15-мин. забрал все условия для 15-мин. Получилось:

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

TimeFrameSet(60);
  fastD=EMA(C, FastEMA);
  slowD=EMA(C, SlowEMA);
  DBuyCond = Cross(fastD, slowD);
TimeFrameRestore();

fastD=TimeFrameExpand(fastD, 60);
slowD=TimeFrameExpand(slowD, 60);
DBuyCond = TimeFrameExpand(DBuyCond, 60);

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


Результат: если в настройках стоит 15-мин график, то он игнорит 60-мин график и выдает какой-то бред... Скрин ниже с 15-мин графика. На 60-мин вообще не должен быть только один лонг.


Может я в настройках что-то не так прописал?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Мар 18, 2013 4:23 pm Ответить с цитатой Вернуться к началу

Блин. Вот ведь. Сам напортачил и меня сбил.
Во это что?
TimeFrameSet(60);
Переключаешься на 60 секунд?

С 15 минутного фрейма нельзя переключаться на минутный. А если тебе надо переключиться на часовки, то так и пиши inHourly. Или 60*60

Ну и далее в коде то же самое....

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



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

СообщениеДобавлено: Пн Мар 18, 2013 5:20 pm Ответить с цитатой Вернуться к началу

AAAAAaa!!! FUCK!

60 это 60 секунд. От я лушпай. А я думал TimeframeSet(60) это 60 мин. Ладно мучаюсь дальше.

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen