Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 185
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ребят, вопрос не в тему, я новичок, хотел бы заказать работу, на щас на балансе 0, я могу открыть тему? или надо пополнить счет в начале? немного не поня когда блокируют со счета деньги...
Vitaly Muzichenko:
Обратный перебор по закрытым
Спасибо ... меня интересует обратный перебор по открытым ордерам ... так будет правильно работать?
Да, можете проверить через Print();
Спасибо ... в принципе мне всё понятно, вот только смущает параметр i=OrdersTotal()-1; почему именно -1, а не просто i=OrdersTotal(); ... ведь в данном случае получается , что последний из открытых ордеров будет исключён из пересчёта - или я ошибаюсь? ...
OrderTotal() выдаёт количество ордеров столько сколько есть, а учет ордеров начинается с нулевого. То есть минус один надо, что бы было корректно в данном случае.
Спасибо ... в принципе мне всё понятно, вот только смущает параметр i=OrdersTotal()-1; почему именно -1, а не просто i=OrdersTotal(); ... ведь в данном случае получается , что последний из открытых ордеров будет исключён из пересчёта - или я ошибаюсь? ...
Всякому прочитавшему привет.
Вопрос следующий, как в тестере MT4 задать спред или цену ASK имея исторические данные по цене Ask.
Поясняю.
В терминале МТ4 имеем историю по некоторому Symbol (в нем все цены по Bid соответственно) и имеем историю Symbol_ask (все цены по ask, эту историю ТОЖЕ ПРЕДОСТАВЛЯЕТ БРОКЕР)
Возможно ли эти данные использовать в тестере?
Спасибо ... в принципе мне всё понятно, вот только смущает параметр i=OrdersTotal()-1; почему именно -1, а не просто i=OrdersTotal(); ... ведь в данном случае получается , что последний из открытых ордеров будет исключён из пересчёта - или я ошибаюсь? ...
Потому, что в счёт ведётся с 0. Если у вас 10 ордеров, то считать порядковые номера следует 0..9, то есть 0..(10-1), где OrdersTotal()=10.
Просто помните об этом, когда пишете программы.
Спасибо ... в принципе мне всё понятно, вот только смущает параметр i=OrdersTotal()-1; почему именно -1, а не просто i=OrdersTotal(); ... ведь в данном случае получается , что последний из открытых ордеров будет исключён из пересчёта - или я ошибаюсь? ...
Как видите - ордеров десять, но их индексы на 1 меньше, так как в любом массиве счёт начинается с нуля.
OrdersTotal() равен 10, но если начнёте цикл с OrdersTotal(), то будет вылет за пределы массива - индекса ордера 10 нету - самый большой индекс 9 - поэтому OrdersTotal()-1