Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Где найти программиста? В сервисе Фриланс!
Vladimir Paukas
4099
Vladimir Paukas 2015.01.03 15:46 

Есть большое подозрение что

iOpen(Symbol(),PERIOD_H1,0)

в случае  гэпа выдаёт с первым тиком ноль.

Алексей Тарабанов
7220
Алексей Тарабанов 2015.01.03 18:32  
А проверить? 
Vladimir Paukas
4099
Vladimir Paukas 2015.01.03 19:10  
tara:
А проверить? 

Вот и хочу чтоб они проверили.  что выдает опен часа когда приходит первый тик.

Судя по тому что эксперт уже второй раз открывается с первым же тиком,

значит МТ выдаёт хрень на  опен часа либо минуты, либо одно из двух.

Boris
3883
Boris 2015.01.03 19:32  
paukas:

Вот и хочу чтоб они проверили.  что выдает опен часа когда приходит первый тик.

Судя по тому что эксперт уже второй раз открывается с первым же тиком,

значит МТ выдаёт хрень на  опен часа либо минуты, либо одно из двух.

В какой-то ветке объяснили, что сейчас на всех ТФ, если на открытии бара нет тика, бар формируется на цене закрытия предыдущего бара, чтобы не было пропусков на малых ТФ. Исключение составляет только начало сессии, когда сервер подключается с опозданием.
Vladimir Paukas
4099
Vladimir Paukas 2015.01.03 20:17  
borilunad:
В какой-то ветке объяснили, что сейчас на всех ТФ, если на открытии бара нет тика, бар формируется на цене закрытия предыдущего бара, чтобы не было пропусков на малых ТФ. Исключение составляет только начало сессии, когда сервер подключается с опозданием.

Нет, здесь не то.

Приход первого тика после гэпа генерит какие то неправильные опен дня, часа и минуты.

Либо там вообще  в этот момент какой-то нулл, сравнение с которым всегда дает true.

Алексей Тарабанов
7220
Алексей Тарабанов 2015.01.03 20:54  
paukas:

Нет, здесь не то.

Приход первого тика после гэпа генерит какие то неправильные опен дня, часа и минуты.

Либо там вообще  в этот момент какой-то нулл, сравнение с которым всегда дает true.




// Отработка сигналов
void Execute(){
   int i;
   if( CloseShort == EMPTY_VALUE ) CloseShort=0;
   if( CloseLong  == EMPTY_VALUE ) CloseLong=0;
   if( OpenShort  == EMPTY_VALUE ) OpenShort=0;
   if( OpenLong   == EMPTY_VALUE ) OpenLong=0;
   if( TPofShort  == EMPTY_VALUE ) TPofShort=0;
   if( TPofLong   == EMPTY_VALUE ) TPofLong=0;
   if( SLofShort  == EMPTY_VALUE ) SLofShort=0;
   if( SLofLong   == EMPTY_VALUE ) SLofLong=0;
Может так? 
Boris
3883
Boris 2015.01.03 21:14  
paukas:

Нет, здесь не то.

Приход первого тика после гэпа генерит какие то неправильные опен дня, часа и минуты.

Либо там вообще  в этот момент какой-то нулл, сравнение с которым всегда дает true.




Так разработчики, как всегда предложат продемонстрировать, графики, логи и код! Они же не следят за котировками даже на своём сервере!
Vladimir Paukas
4099
Vladimir Paukas 2015.01.04 06:11  
borilunad:
Так разработчики, как всегда предложат продемонстрировать, графики, логи и код! Они же не следят за котировками даже на своём сервере!

А у меня вообще  даже сервера нет.  Есть только явный глюк в этих функциях. Пришлось даже поставить условие что час ненулевой.

Но вот намедни в  с 9и торговля открылась, и та же хрень.



Boris
3883
Boris 2015.01.04 10:21  
paukas:

А у меня вообще  даже сервера нет.  Есть только явный глюк в этих функциях. Пришлось даже поставить условие что час ненулевой.

Но вот намедни в  с 9и торговля открылась, и та же хрень.



Об этом я уже заметил выше: "Исключение составляет только начало сессии, когда сервер подключается с опозданием."

Чтобы избежать нежелательного открытия в сторону гэпа, разрешаю открытие не раньше одного часа после открытия сессии, и это условие выполняется каждый день по причине очень высокого спреда в это время. А когда открытие сессии в ненулевой час, соответственно, указываю начало возможного открытия на час позже. В 9 часов открывается и 26-го декабря после католического рождества. Вообще, лучше не включаюсь в такие дни! Но для тестера нужно прописывать всё!

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий