Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода) - страница 6

 
Alexey Viktorov:

Ну, если не экзамен, то значит ликбез. Обратите внимание на такое свойство позиции как POSITION_IDENTIFIER

… и вам не придётся делать бесполезные циклы. У закрытой позиции Hadge счёта всегда две сделки… под индексом 0 открытие и под индексом 1 закрытие, если не делали частичного закрытия.

Частичные закрытия редко, но использую и неттинг использую. Поэтому делал сразу универсально. Насчет Hedge-позиций точная информация, что только две сделки может быть? ДЦ не может как в неттинге закрывать частично или частями в зависимости от политики исполнения?
 
Igor Makanu:

дык это плата за скорость МТ5 - все торговые приказы асинхронные, т.е. MQL5 не ждет ответа от сервера, а продолжает свою работу

в МТ4 все торговые приказы получали ответ от сервера синхронно


тут вопрос нужно ставить и что делать? а не почему

- или обрабатывайте закрытие ордера на следующем тике (или в цикле или делайте паузу... или тут зависит от ТС)

- или обрабатывайте  OnTradeTransaction

Я с четверки переходил ). И эти отличия, пока столкнешься, прочуствуешь, преодолеешь и создают впечатление сложности. Так-то да, уже потом в ветке "Особенности языка mql5" нашел решения, сделал. Понятно, что когда будет готова своя библиотека, то МТ5 уже не будет таким громоздким казаться.
 
Vasiliy Pushkaryov:
… Насчет Hedge-позиций точная информация, что только две сделки может быть? ДЦ не может как в неттинге закрывать частично или частями в зависимости от политики исполнения?

HistoryDealsTotal() всегда работает и всегда быстрее чем цикл по истории всех ордеров и сделок.

 
Alexey Viktorov:

HistoryDealsTotal() всегда работает и всегда быстрее чем цикл по истории всех ордеров и сделок.

Я так и делаю, ID позиций контролирую и потом по ним выборку. Просто не встречал информации, что позиция в хедже всегда имеет только две сделки, если не используется частичное закрытие.
 

Чтобы дилингу перейти на МТ5 его надо купить

Тогда вопрос - зачем, если уже куплен МТ4 ?

Поэтому путь только один - обновление дешевле, либо бесплатно.

И тогда трейдера тупо поставт перед фактом что только МТ5 и ппц.

 
Не встречал рабочих решений на MT5 для следующего

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2018.02.15 11:48

предлагаю попробовать написать на MQL5 скрипт с такой торговой логикой (MQL4-стиль только для быстрого показа смысла)

void OnStart()
{
  OrderCloseBy(OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0), OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0));
}

Это совсем не просто.

А ведь есть ситуации гораздо тоньше... если брокер предоставляет MT4/5 при прочих равных, то выбор всегда однозначен.

 
Vasiliy Pushkaryov:
Я так и делаю, ID позиций контролирую и потом по ним выборку. Просто не встречал информации, что позиция в хедже всегда имеет только две сделки, если не используется частичное закрытие.

А вы хотите по каждой мелочи инструкцию?

 
fxsaber:
Не встречал рабочих решений на MT5 для следующего

А ведь есть ситуации гораздо тоньше... если брокер предоставляет MT4/5 при прочих равных, то выбор всегда однозначен.

И никогда не встретите по той простой причине, что частичное закрытие, или закрытие встречной позицией идёт по тикету позиции, а открытие позиции не возвращает тикет. Да и вообще… для чего такие извращения? Наверное это тоже из той серии как закрыть позиции и удалить отложки одним циклом…
 
Alexey Viktorov:

А вы хотите по каждой мелочи инструкцию?

Конечно, хотел бы. Думаю, не я один.
Получить или частичный профит или полный профит, когда рассчитываешь все-таки на информацию о полном - для меня не мелочь. Пробираясь опытным путем, можно немало денег потерять.

Поэтому, чем подробнее будет справка, тем лучше.

 
Alexey Viktorov:
И никогда не встретите по той простой причине, что частичное закрытие, или закрытие встречной позицией идёт по тикету позиции, а открытие позиции не возвращает тикет. Да и вообще… для чего такие извращения?
Причина обращения: