У нас в терминале есть 10 ордеров ... но в списке ордера идут 0 1 2 3 4 5 6 7 8 9 Десять ? 0 из программирования сложно выкинуть.
Соответственено OrdersTotal() будет иметь значение 10 , но при обратном отсчете мы берем из ордерс тотал 10-1 тоесть 9 и когда мы доходим до 0 , по условию мы делаем еще одну интерацию цикла 0>=0
то есть у нас остается 1 ордер который мы перебираем в этот момент 0>=0 .
Ничего сверх естественного или неправильного нет ....
В этом и смысл перебора с конца, ничего военного в том что мы обработали один ордер дважды нет. в худшем случае это нам помешает только если мы считаем ордера, например среднюю цену, один ордер будет посчитан 2 раза. даже если это сильно вмешается в расчеты, на следующем тике все вернется на свои места и мы поставим тейк профит там где он должен быть. На моей памяти при количеств ордеров более 50 и самом худшем так называемом "брокере" Азии (да да вы поняли о ком я, на I называется) же после того как счет был взят в оборот (сами знаете зачем) такого не происходило не разу. Но и этого можно избежать:
VOLDEMAR: Вы только тролить можете ??? Предложите свой вариант с объяснением ...
А зачем? Для кого? Такое чувство что тут только спорить могут о том как ордера правильно перебирать и кто из всех присутствующих программистов достоин работать в джобе.
snowman: А зачем? Для кого? Такое чувство что тут только спорить могут о том как ордера правильно перебирать и кто из всех присутствующих программистов достоин работать в джобе.
Ну так не можете ничего путевого сказать , так молчите или по делу говорите .... Если б знали хоть что то то показали ... Или жалко ??? Или не знаете ничего ....
Очень бы хотелось узнать чем не верен этот вариант ???
У вас есть последовательность из n ордеров. Вы выбрали функцией OrderSelect ордер m(m<n).
Во время обработки ордера m, сервер закрывает ордер m-1 и позиция ордера m(который вы обрабатываете) меняется на m-1.
На следующем цикле вы переходите к обработке ордера m-1 и думаете что это новый ордер, а нет это тот же самый ордер m
который сменил свою позицию и занял место ордера закрытого сервером. Таким образом вы два раза подряд обрабатываете
один и тот же ордер.
это mql4 ..
Все смешалось в доме...
Если введут MQL6, а MQL4 еще не уйдет, что же тогда будет?
У вас есть последовательность из n ордеров. Вы выбрали функцией OrderSelect ордер m(m<n).
Во время обработки ордера m, сервер закрывает ордер m-1 и позиция ордера m(который вы обрабатываете) меняется на m-1.
На следующем цикле вы переходите к обработке ордера m-1 и думаете что это новый ордер, а нет это тот же самый ордер m
который сменил свою позицию и занял место ордера закрытого сервером. Таким образом вы два раза подряд обрабатываете
один и тот же ордер.
позвольте с Вами не согласиться ... И да рассудят нас форумчане ....
У нас в терминале есть 10 ордеров ... но в списке ордера идут 0 1 2 3 4 5 6 7 8 9 Десять ? 0 из программирования сложно выкинуть.
Соответственено OrdersTotal() будет иметь значение 10 , но при обратном отсчете мы берем из ордерс тотал 10-1 тоесть 9 и когда мы доходим до 0 , по условию мы делаем еще одну интерацию цикла 0>=0
то есть у нас остается 1 ордер который мы перебираем в этот момент 0>=0 .
Ничего сверх естественного или неправильного нет ....
Агаа! Я понял суть данной ветки!
Она поможет выявить кодеров, которые могут нести чушь или тупить прямо в этой же ветке.
А значит автоматически пойдут по алгоритму: сказал глупость - бан. :)
так что не стесняемся, высказываем свои самые "умные" мысли. Может повезёт ;)
один другого лучше )))
Вы только тролить можете ??? Предложите свой вариант с объяснением ...
А зачем? Для кого? Такое чувство что тут только спорить могут о том как ордера правильно перебирать и кто из всех присутствующих программистов достоин работать в джобе.