локирующий эксперт

slawa7

Местный знаток
вот. избавился от открытого бара на м1. и применил доп. индюк вместо впр...( в своё время предложенный винином для впр и переправленный мной под под CCI)
по локам на чичас возникает проблема...явный перебор по марже при накапливании положительных ( и отрицательных изредка ) локов...
 

Вложения

Последнее редактирование:

darfs

Активный участник
вот. избавился от открытого бара на м1. и применил доп. индюк вместо впр...( в своё время предложенный винином для впр и переправленный мной под под CCI)
по локам на чичас возникает проблема...явный перебор по марже при накапливании положительных ( и отрицательных изредка ) локов...

Во, интересно! Попробую.
Теперь можно корректно тестировать по открытию м1??

Проблема моя в том, что предыдущие версии на демо не открыли с вечера четверга ничего (на тесте не гонял их, так как не было смысла)
 

slawa7

Местный знаток
по открытию м1 тест в любом сл. необъективен! остаётся модификация ...трал...удаление отложек... - всё что работает не ток по барам а и по тикам ...
 

darfs

Активный участник
по открытию м1 тест в любом сл. необъективен! остаётся модификация ...трал...удаление отложек... - всё что работает не ток по барам а и по тикам ...

Понятно.
Но я первым делом в любой советник вставляю работу только по открытию минуток (если там еще нет. Или других таймфреймов - если советник работает только на них).
Не знаю, для этого подойдет ли такое?...

if (NoTicks==-1 && prevtime == iTime(NULL, NoTicksPeriod,0)) {
return(0);
}
else if (NoTicks==-1) prevtime = iTime(NULL, NoTicksPeriod,0);
 

slawa7

Местный знаток
Volume[0]<3 поставьте ... - самое простое ( ток нельзя это делать в этом сове!...разве что в условия входа ток добавить...но т.к. отложки выставляются которые до экспирации тянутся на каждом тике вслед за ценой - смысла нет)
 
Последнее редактирование:

darfs

Активный участник
Volume[0]<3 поставьте ... - самое простое
Ненадежно, так как на баре может и не быть Volume[0]<3 (а сразу 4 или 10)
Очень просто (и вроде бы надежно) - как я написал

( ток нельзя это делать в этом сове!...разве что в условия входа ток добавить...но т.к. отложки выставляются которые до экспирации тянутся на каждом тике вслед за ценой - смысла нет)
Надо будет посмотреть - почему не тянуть отложки и т.п. раз в минуту...
 

slawa7

Местный знаток
Ненадежно, так как на баре может и не быть Volume[0]<3 (а сразу 4 или 10)
Очень просто (и вроде бы надежно) - как я написал


Надо будет посмотреть - почему не тянуть отложки и т.п. раз в минуту...

по времени открытия - эт точно не надёжно ! время открытия бара и наличие цены в этот момент - совершенно не обязательное соответствие !
предыдущий тик остался в прошлом баре а в новом он может и через десяток сек. придёт после времени открытия бара ! время и цена - различные понятия ( и ток в тестере они совпадают ).. а вот тики могут приходить исключительно ток друг за другом... по порядку ! а не как в анекдоте где хулиганы в школе выпустили 3 поросёнка с № 1,2, и 4... после чего полицейские неделю искали свинью под № 3... так что если бар начался сразу с тика 3 это не значит что 1 и 2го не было... это значит что слишком быстро они проскочили просто .
ну а именно 3 необходимо для того что мт имеет ещё один косяк - выполнение любой команды ток на след тике ! т.е. если просто поставить объём = 1 то когда придёт второй тик ( тик исполнения ) то это уже не будет тиком 1... и команда может не исполниться...
так что рекомендую - смиритесь просто с тем что тестер это кривая пародия реалу и приближена к нему весьма отдалённо ! способов получения точного соответствия тестера реалу - не существует ( хоть и предлагаются... и не один... ) , как и не существует полностью достоверной истории !
 
Последнее редактирование:

darfs

Активный участник
по времени открытия - эт точно не надёжно ! время открытия бара и наличие цены в этот момент - совершенно не обязательное соответствие !
предыдущий тик остался в прошлом баре а в новом он может и через десяток сек. придёт после времени открытия бара ! время и цена - различные понятия ( и ток в тестере они совпадают ).. а вот тики могут приходить исключительно ток друг за другом... по порядку ! а не как в анекдоте где хулиганы в школе выпустили 3 поросёнка с № 1,2, и 4... после чего полицейские неделю искали свинью под № 3... так что если бар начался сразу с тика 3 это не значит что 1 и 2го не было... это значит что слишком быстро они проскочили просто .
ну а именно 3 необходимо для того что мт имеет ещё один косяк - выполнение любой команды ток на след тике ! т.е. если просто поставить объём = 1 то когда придёт второй тик ( тик исполнения ) то это уже не будет тиком 1... и команда может не исполниться...
так что рекомендую - смиритесь просто с тем что тестер это кривая пародия реалу и приближена к нему весьма отдалённо ! способов получения точного соответствия тестера реалу - не существует ( хоть и предлагаются... и не один... ) !

я понимаю задачу так - проверять состояния индикаторов со смещением 1 (или более), то есть на только что закрытых (или давно сформировавшихся) барах, раз в минуту. Если пришла новая минута, а текущий бар продолжает модифицироваться и не стал 1, то есть реально не закрылся - значит, мы ошибемся на величину различий между первым и нулевым баром. Есть надежда, что эта ошибка невелика.

Если проверять Volume[0]<3, а тики бегут быстро, то может быть так, что там при проверке сразу 4 или больше тиков на многих барах подряд. И если по условию Volume[0]<3 мы должны пройти далее и выполнять действия, то это может не выполниться сколько угодно баров подряд, и мы ничего не будет делать много баров подряд.
Так?

возможно, надо отступать от времени открытия нового бара секунд на 5-10 (или 30), и тогда большая уверенность, что бар реально закрылся?...
 

Lemon

Новичок форума
Если проверять Volume[0]<3, а тики бегут быстро, то может быть так, что там при проверке сразу 4 или больше тиков на многих барах подряд. И если по условию Volume[0]<3 мы должны пройти далее и выполнять действия, то это может не выполниться сколько угодно баров подряд, и мы ничего не будет делать много баров подряд.
Так?

возможно, надо отступать от времени открытия нового бара секунд на 5-10 (или 30), и тогда большая уверенность, что бар реально закрылся?...
Ну дискуссию то развели...,вот это всегда работало:
if(iTime(Symbol(),PERIOD_M1,0) == prevtime)return(0);
prevtime = iTime(Symbol(),PERIOD_M1,0);
 

Lemon

Новичок форума
...по локам на чичас возникает проблема...явный перебор по марже при накапливании положительных ( и отрицательных изредка ) локов...
Проблема то не страшная вроде... Можно сделать так: перебираем все открытые рыночные ордера и упорядочиваем их по убыванию профита - плюсовые в один массив тикетов, минусовые в другой. Сначала бай направление, потом селл. В результате имеем четыре массива a,b - бай тикеты, c,d - селл. Теперь перекрываем a d, b с при условии что например a+d>0. Остальные локи остаются на созревание.
 

darfs

Активный участник
вот. избавился от открытого бара на м1. и применил доп. индюк вместо впр...( в своё время предложенный винином для впр и переправленный мной под под CCI)
по локам на чичас возникает проблема...явный перебор по марже при накапливании положительных ( и отрицательных изредка ) локов...

Прошлые версии на демо так и не открыли сделки и не выставили ордера.
(эту версию только что поставил)
Начал думать, почему. Увидел, что демо фин_ов
Может поэтому? Что-нибудь с допустимым уровнем селл-стопов у них?
А сова не ругается?
 

slawa7

Местный знаток
естесно. стоп левелы у них 100 пип ! а дистанция выставления отложных ордеров в сов-е. всего 20...
 

darfs

Активный участник
чегой-то не весело шарашит... (не, ну конечно и открывает иногда...)
159076126 2012.08.07 13:05 sell stop 0.60 eurusd 1.24052 0.00000 0.00000 2012.08.07 13:05 1.24069 cancelled
159076128 2012.08.07 13:05 sell stop 0.60 eurusd 1.24049 0.00000 0.00000 2012.08.07 13:05 1.24069 cancelled
159076130 2012.08.07 13:05 sell stop 0.60 eurusd 1.24050 0.00000 0.00000 2012.08.07 13:05 1.24067 cancelled
159076131 2012.08.07 13:05 sell stop 0.60 eurusd 1.24049 0.00000 0.00000 2012.08.07 13:05 1.24066 cancelled
159076132 2012.08.07 13:05 sell stop 0.60 eurusd 1.24049 0.00000 0.00000 2012.08.07 13:05 1.24069 cancelled
159076133 2012.08.07 13:05 sell stop 0.60 eurusd 1.24052 0.00000 0.00000 2012.08.07 13:05 1.24071 cancelled
159076135 2012.08.07 13:05 sell stop 0.60 eurusd 1.24052 0.00000 0.00000 2012.08.07 13:06 1.24074 cancelled
159076138 2012.08.07 13:07 sell stop 0.60 eurusd 1.24035 0.00000 0.00000 2012.08.07 13:07 1.24050 cancelled
159076139 2012.08.07 13:07 sell stop 0.60 eurusd 1.24031 0.00000 0.00000 2012.08.07 13:07 1.24050 cancelled
159076140 2012.08.07 13:07 sell stop 0.60 eurusd 1.24034 0.00000 0.00000 2012.08.07 13:07 1.24052 cancelled
159076141 2012.08.07 13:07 sell stop 0.60 eurusd 1.24032 0.00000 0.00000 2012.08.07 13:07 1.24035 cancelled
159076142 2012.08.07 13:07 sell stop 0.46 eurusd 1.24025 0.00000 0.00000 2012.08.07 13:08 1.24051 cancelled
 

tai78

Новичок форума
В коде где описывается индикатор CCI_MA похоже ошибочка, так как при визуале выдает период не 1440 как стоит в настройках а 100, красным выделено где поправил
double ie =iCustom(sym,TFSig,"CCI_MA",14,50,0,1440,0,1);// iCCI(sym,TFSig,PwprSig,1,0);//iWPR(sym,TFSig,PwprSig,1); //
double ie1=iCustom(sym,TFSig,"CCI_MA",14,50,0,1440,0,2);//iCCI(sym,TFSig,PwprSig,4,1);//iWPR(sym,TFSig,PwprSig,2);
double ie2=iCustom(sym,TFSig,"CCI_MA",14,50,0,1440,0,3);//iCCI(sym,TFSig,PwprSig,0,2);//iWPR(sym,TFSig,PwprSig,3);
 

slawa7

Местный знаток
ещё один безиндикаторный сов-игрушка на очень простом принципе : ставим 2 разнонаправленных отложника при их отсутствии на опр. дистанции (левел) и даём им небольшое время жизни в сек ( экспирация)...куда цена быстрее дошла - тот и открылся
диапазон настроек возможен весьма широк.
 

Вложения

  • PARA2.mq4
    PARA2.mq4
    9,2 КБ · Просмотры: 109
Последнее редактирование:

slawa7

Местный знаток
ну у кого какие результаты , опты настроек ... ?
у меня так вчера наторговал 619 с 1000 депа но за вечер и ночь почти всё слил что заработал...

HISTORI All 266/44.15 Loss 108/-2251.65 Profit 153/2295.80
 
Последнее редактирование:
Верх