![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если верить komposter'у и Vinin'у, то вместо:
for (int v=0; v<OrdersTotal(); v++)
написать:
for (int v=OrdersTotal()-1; v>0; v--)
У меня работает.
Правильный вариант:
Схожу, поищу.
granit77 и Vinin ! У вас работает это и закрывает все открытые позиции? У меня почему-то этот кусочек
вместо самой ранней открытой позиции стал закрывать последнюю открытую. Но все остальные продолжают движение...Если верить komposter'у и Vinin'у, то вместо:
for (int v=0; v<OrdersTotal(); v++)
написать:
for (int v=OrdersTotal()-1; v>0; v--)
У меня работает.
Правильный вариант:
Благодарю! Сейчас попробую вашу рекомендацию !
Результат пока всё тот же! С последним вариантом закрывается только последняя открытая позиция.!
Попробуем разобраться!
int z = OrdersTotal() - 1
-здесь "z" у нас равно общему числу открытых ордеров минус один ! При этом z задаем >=0.
z--, видимо означает, что мы далее (OrderSelect) перебираем открытые ордера с самого последнего ?
И понятно, что самый последний ордер у нас закрывается . Поскольку он первым "попадает под раздачу". Но на этом выполнение операции закрытия оставшихся ордеров останавливается! И этот алгоритм ждет следующего сигнала индикатора на закрытие. Думаю, что здесь надо что-то добавить. А что - пока не знаю....
А почему, собственно - z = OrdersTotal() - 1; ?
Результат пока всё тот же! С последним вариантом закрывается только последняя открытая позиция.!
А почему, собственно - z = OrdersTotal() - 1; ?
Учим матчасть ;)
Результат пока всё тот же! С последним вариантом закрывается только последняя открытая позиция.!
Попробуем разобраться!
исследовательская работа увлекает! это даже полезно. и для мозгов и для экспириенса. приветствую и уважаю.
однакожа, ежели сподобитесь воплощать алгоритмы посложнее и хочите избавиться от мигреней, делайте проще. все велосипеды и мотоциклы уже украдены (зачёркнуто) изобретены до нас - загоните все ордера в свой массив (возможно, не один) и делайте по этому массиву любые угодные вашему сердцу манипуляции. хочите сортируйте по любым признакам, хочите удаляйте (тикет - ваш друг), хочите модифицируйте - удобно делать массовые модификации стоплоссов/тэйкпрофитов, хочите - создавайте новые ордера.
ps (исчо одно). если решите серьёзно отнестись к своему творению, не забывайте, что в любую секунду (миллисекунду) связь с ДЦ могет отвалиться. ничего страшного, но если у вас сигнал "сиюминутный", то, начиная закрывать по этому сигналу ордера, учтите это момент. в идеале вообще - даже чтобы после экстренного выключения/включения эксперта, он мог увидеть необходимость закрытия определённых ордеров (в данном случае). и закрыл их. хоть на следующем тике. .
если же это просто "игрушечный" эксперт - то никаких этих усложнений не нужно. впрочем, большинство публично продаваемых "граалей" в виде ч.я. - аналогично игрушечные..
однакожа, ежели сподобитесь воплощать алгоритмы посложнее и хочите избавиться от мигреней, делайте проще.
...
загоните все ордера в свой массив (возможно, не один) и делайте по этому массиву любые угодные вашему сердцу манипуляции.
Понятно, если какая-то сложная логика или несколько алгоритмов в одном, то можно заморачиваться, а для простого переворотного эксперта - зачем?
однакожа, ежели сподобитесь воплощать алгоритмы посложнее и хочите избавиться от мигреней, делайте проще.
...
загоните все ордера в свой массив (возможно, не один) и делайте по этому массиву любые угодные вашему сердцу манипуляции.
Понятно, если какая-то сложная логика или несколько алгоритмов в одном, то можно заморачиваться, а для простого переворотного эксперта - зачем?
совершенно верно - для сложной логики. однако, один раз попробовав вкус мёда, винни уже не мог его забыть. :-)
если ордеров больше одного - использую практически всегда. наверное, привычка. или просто автоматизация (своей) работы. :-)