Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Где я ошибся. Почему я получаю укрупненные позиции.
Есть такое понятие - неттинг называется. Согдасно философии этого самого НЕТТИНГА все однонаправленные сделки увеличивают позицию, а разнонаправленные закрывают, уменьшают или переворачивают.
Делаем вывод из строчки понимаем что при существующем Sell новый Buy закроет или урежет существующую позицию.
PS
Кстати, TP и SL в MT5 выставляются по последней сделке, так что их тоже стоит контролировать...
Как правильно удалить все ордера с определенным мэджиком?
У меня для этого исп. две функции, check_orders проверяет наличие ордеров с опр. меджиком, а remove_sl удаляет:
Проблема в том, что в журнале эксперта появляются вот такие строки:
2011.05.11 21:40:19 Trades '726238' : failed cancel order #4375237 buy 0.00 at 0.00000 [Invalid request]
т.е. идут лишние обращения на торговый сервер с запросом удаления ордера, запрос на удаление которого уже отправлялся.
Необходимо перебирать список ордеров сверху вниз, например так:
ЗЫ Если вы знаете инструмент то для поиска позиции совсем не нужно перебирать все позиции, достаточно воспользоваться вот этой функцией:
Спасибо. Попробую.
Кстати я использую один символ.
Согдасно философии этого самого НЕТТИНГА все однонаправленные сделки увеличивают позицию, а разнонаправленные закрывают, уменьшают или переворачивают.
Так точно!
Делаем вывод из строчки понимаем что при существующем Sell новый Buy закроет или урежет существующую позицию.
PS
Кстати, TP и SL в MT5 выставляются по последней сделке, так что их тоже стоит контролировать...
Из Ваших слов, г-н Interesting, я понимаю, что все понимаю правильно.
Я использую один и тот же лот. Я использую одни и те же стопы. Все как надо. Но что-то не так!
Ладно. Обещал сделать два советника и показать разницу. Буду делать. Не хочу самого хорошего всем на показ выставлять.
Ну вот кому из уважаемых экспертов можно в личку закинуть два советника по одной и той же стратегии на mql4 и на mql5?
Мне просто надо разобраться, что я не так делаю и все. Ну разная статистика цен не может изменить результаты тестирования в 2-3 раза. Тут дело в программировании.
Lizar, Renat, sergeev , ПОМОГИТЕ. Могу вам всем дать экспертов на заценку кода. Советник прост, но результативен. Можно еще улучшить его, но я упростил советника максимально, чтобы суть проблемы была яснее.
И прошу прощения у всех за несдержанность в высказываниях. Мне стыдно. Но я ОЧЕНЬ ХОЧУ разобраться во всем!
Необходимо перебирать список ордеров сверху вниз, например так:
Не помогает, видимо, ордер удаляется успешно, а потом отправляется еще один запрос:
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700 done
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - уже почему то buy, а был buy stop
аналогично, но на mql4:
Ну вот смотрите и сравнивайте. Где-то я накосячил... Разница существенная.
Не помогает, видимо, ордер удаляется успешно, а потом отправляется еще один запрос:
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700 done
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - уже почему то buy, а был buy stop
Стыдно признаться, но все еще не овладел искусством телепатии.
Я повторю вопрос:
Как правильно удалить все ордера с определенным мэджиком?
У меня для этого исп. две функции, check_orders проверяет наличие ордеров с опр. меджиком, а remove_sl удаляет:
Проблема в том, что в журнале эксперта появляются вот такие строки:
2011.05.11 21:40:19 Trades '726238' : failed cancel order #4375237 buy 0.00 at 0.00000 [Invalid request]
т.е. идут лишние обращения на торговый сервер с запросом удаления ордера, запрос на удаление которого уже отправлялся.
Вы посоветовали следующее:
Необходимо перебирать список ордеров сверху вниз, например так:
Я попробовал сделать, как вы сказали, но проблема осталась - отложенный ордер сначала удаляется, потом отправляется еще один запрос на удаление того же ордера. Вот пример строк из журнала:
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700 done - ордер удалился успешно
2011.05.12 16:42:57 Trades '726238' : cancel order #4388299 buy stop 0.02 EURUSD at 1.41700 - отправляется еще один запрос
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - уже почему то buy, а был buy stop
Это происходит не каждый раз, а иногда, и на работу эксперта не влияет. Просто хочется сделать все правильно, не загружать пустыми запросами торговый сервер, и разобраться в проблеме.
Спасибо за ответы, и ваше желание помочь.