Есть вопрос разработчикам MetaTrader4 - страница 6

 
AlexeyVik:

Владимир, ну не обессудь, лениво мне копать чужой код. Обрати внимание на условие

Если бид увеличился или бид остался неизменным, а аск увеличился.

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

Глянул код беглым взглядом и сразу вопрос: Если новый бар ... else ... Что получается? Поступил новый тик, новый бар, а этот тик не учтён, поскольку else не выполняется. Ну и с условиями не разбирался, но что-то мне не понравилось.



Алексей, я по поводу оператора, на который Вы обратили внимание:

1) if(Bid > _Bid || (Bid == _Bid && _Ask > Ask)  перепишем f(Bid > _Bid || (Bid == _Bid &&  Ask < _Ask)

   Тогда получается, что если Bid больше _Bid, или Bid == _Bid (не изменился) и Ask меньше _Ask, то увеличиваем счетчик возрастающих тиков.  

   Мне кажется, что последнее условие должно быть _Ask < Ask  ПРОЯСНИТЕ, ПОЖАЛУЙСТА!!!!!

2) Аналогично с условиями на убывающие тики.

3) Поправьте, если я что-то не так понимаю: Под тиком я понимаю любое изменение цены котировки, т.е.

    Изменился Bid - ТИК, изменился  Ask - ТИК. ЭТО - ПРАВИЛЬНО???? 

4) По этой причине я сделал конструкцию 4-х условных операторов:

If(Bid > _Bid) TikPlus++;

If(Bid < _Bid) TickMinus++;

if(Ask > _Ask) TicikPlus++;

if(Ask < _Ask) TickMinus--;

Как Вам ход моих рассуждений????? 

Спасибо, Владимир 

 
Vladimir-05:

Алексей, я по поводу оператора, на который Вы обратили внимание:

1) if(Bid > _Bid || (Bid == _Bid && _Ask > Ask)  перепишем f(Bid > _Bid || (Bid == _Bid &&  Ask < _Ask)

   Тогда получается, что если Bid больше _Bid, или Bid == _Bid (не изменился) и Ask меньше _Ask, то увеличиваем счетчик возрастающих тиков.  

   Мне кажется, что последнее условие должно быть _Ask < Ask  ПРОЯСНИТЕ, ПОЖАЛУЙСТА!!!!!

2) Аналогично с условиями на убывающие тики.


Может быть... Я особо не вдавался в разницу. Если-бы у меня сложилась ТС с этим индикатором, то наверное обдумал этот вариант.

Vladimir-05:

3) Поправьте, если я что-то не так понимаю: Под тиком я понимаю любое изменение цены котировки, т.е.

    Изменился Bid - ТИК, изменился  Ask - ТИК. ЭТО - ПРАВИЛЬНО???? 

4) По этой причине я сделал конструкцию 4-х условных операторов:

If(Bid > _Bid) TikPlus++;

If(Bid < _Bid) TickMinus++;

if(Ask > _Ask) TicikPlus++;

if(Ask < _Ask) TickMinus--;

Как Вам ход моих рассуждений????? 

Спасибо, Владимир 

Сначала я сделал изменение только бида, но получилось отклонение от Volume а когда добавил изменение аск то стало всё совпадать. Хотя и так бывают проскоки.

А по поводу раздельного учёта, так это никакой разницы, главное без else иначе пропусков будет больше чем тиков.

 
AlexeyVik:

Может быть... Я особо не вдавался в разницу. Если-бы у меня сложилась ТС с этим индикатором, то наверное обдумал этот вариант.

Сначала я сделал изменение только бида, но получилось отклонение от Volume а когда добавил изменение аск то стало всё совпадать. Хотя и так бывают проскоки.

А по поводу раздельного учёта, так это никакой разницы, главное без else иначе пропусков будет больше чем тиков.


Спасибо)

Причина обращения: