Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
подозреваю что для вашего типа ордера в структуре stoplimit надо ещё явно указать, хоть в справке и не написано)
а может кривые функции расчета ТП и СЛ? вы их не привели.
Ещё бросилось в глаза- break выходит из for? зачем? вы разве не хотите все ордера пройти?
Насчёт break - это точно мой косяк. Я этот кусок копировал из другой программы, там при успешной модификации надо было выйти, а здесь нужно по всем ордерам пройтись.
подозреваю что для вашего типа ордера в структуре stoplimit надо ещё явно указать, хоть в справке и не написано)
а может кривые функции расчета ТП и СЛ? вы их не привели.
Ещё бросилось в глаза- break выходит из for? зачем? вы разве не хотите все ордера пройти?
Кажется понял почему запросы инвалидные. Вот момент когда происходит инвалидный запрос:
Попытка модификации совершается до того как ордер оказывается принятым. А когда ордер принят, модификация проходит успешно. Теперь возник вопрос как выяснить был ли ордер accepted на момент запроса на модификацию?
Кажется понял почему запросы инвалидные. Вот момент когда происходит инвалидный запрос:
Попытка модификации совершается до того как ордер оказывается принятым. А когда ордер принят, модификация проходит успешно. Теперь возник вопрос как выяснить был ли ордер accepted на момент запроса на модификацию?
понятно что модифицируете в момент его исполнения, т.е. лимитник еще не выставился, а стоп уже сработал и удаляется, типа.
Не пойму зачем вы непрерывно пытаетесь модифицировать, если это не трейлинг. Одного раза после установки недостаточно чтоли? На том же тике! Многие проблемы бы сняло.
понятно что модифицируете в момент его исполнения, т.е. лимитник еще не выставился, а стоп уже сработал и удаляется, типа.
Не пойму зачем вы непрерывно пытаетесь модифицировать, если это не трейлинг. Одного раза после установки недостаточно чтоли? На том же тике! Многие проблемы бы сняло.
Наверно статус ордера так можно проверить:
Сейчас попробую, если ошибка исчезнет, значит причина была в этом.
Ну это будет утилита для отслеживания пропущенных стопов и тейков, чтобы их установить согласно настройкам.
Наверно статус ордера так можно проверить:
Сейчас попробую, если ошибка исчезнет, значит причина была в этом.
Ну это будет утилита для отслеживания пропущенных стопов и тейков, чтобы их установить согласно настройкам.
Можно и так.
Но всё равно постоянно шпарить смысла нет, вы же ордера при обнаружении в список-массив добавляете, так сразу и модифицируйте один раз и всё.
Несколько попыток в случае ошибок можно сделать с соответствующей обработкой ошибок, если не помогло - сообщить.
подозреваю что для вашего типа ордера в структуре stoplimit надо ещё явно указать, хоть в справке и не написано)
а может кривые функции расчета ТП и СЛ? вы их не привели.
Ещё бросилось в глаза- break выходит из for? зачем? вы разве не хотите все ордера пройти?
Да, Вы оказались правы. Если тип ордера BUY_STOP_LIMIT / SELL_STOP_LIMIT надо ещё цену stoplimit у структуры запроса заполнять. Теперь снова стоп и тейк выставляет.
Можно и так.
Но всё равно постоянно шпарить смысла нет, вы же ордера при обнаружении в список-массив добавляете, так сразу и модифицируйте один раз и всё.
Несколько попыток в случае ошибок можно сделать с соответствующей обработкой ошибок, если не помогло - сообщить.
Тогда эту функцию целесообразно будет засунуть внутрь обработчика OnTrade(). Он как раз при изменении состава сделок / ордеров активируется.
Тогда эту функцию целесообразно будет засунуть внутрь обработчика OnTrade(). Он как раз при изменении состава сделок / ордеров активируется.
Да, именно. Кстати пару лайфхаков)
1. при использовании стандартной библиотеки вы бы не столкнулись с этими проблемами.
2. Даже если хотите написать сами с нуля, то если бы вы заглянули в методы соответствующие СБ, то сразу бы узнали чем ваш код отличается, т.е. в чём может быть затык.
з.ы. В СБ классы CTrade, CExpertTrade, для списка тикетов CArrayLong и т.д.
Вот скрипт -он выставляет https://www.mql5.com/ru/code/30709