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

 
PapaYozh:

Вам поговорить не с кем?

О чём вы? Игорь кинул мне в голову бешеную смску. Конечно так извращаться нет необходимости, но если нельзя, но очень нужно, то можно.

А затронув такую тему вы хотели серьёзного обсуждения страниц на 40? Всё что можно серьёзно об этом сказать вам уже сказали.

 
Alexey Viktorov:

Да хоть ёжиком назовите, никакой разницы не будет. Ну посмотрите внимательно, чем они отличаются? Так-же есть цена открытия, время открытия, тейк и стоп и всё что есть у ордера в 4ке.

Ну приняли такую терминологию и все дела. Можно привыкнуть и пользоваться ей даже и в 4ке.

Есть, например, в четверке функция взятия цены открытия ордера

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderOpenPrice();

понадобилась узнать профит по ордеру, делаем так

if(OrderSelect(aTicket, SELECT_BY_TICKET))
  return OrderProfit();

Попробуйте эти две задачи в 5-ке решить. И сколько времени уйдет. И с первого раза все равно не получится, пока не обкатаете на реале и не столкнетесь с тем, что в тестере не увидите. Не у всех есть столько времени разбираться и писать масштабные библиотеки. Поэтому и говорят, что МТ4 проще, легче. Просто элементарно времени тратилось меньше из-за его упрощенной ордерной системы.

 
Vasiliy Pushkaryov:

Есть, например, в четверке функция взятия цены открытия ордера

понадобилась узнать профит по ордеру, делаем так

Попробуйте эти две задачи в 5-ке решить. И сколько времени уйдет. И с первого раза все равно не получится, пока не обкатаете на реале и не столкнетесь с тем, что в тестере не увидите. Не у всех есть столько времени разбираться и писать масштабные библиотеки. Поэтому и говорят, что МТ4 проще, легче. Просто элементарно времени тратилось меньше из-за его упрощенной ордерной системы.

Даже не знаю как вам сказать…

POSITION_VOLUME

Объем позиции

double

POSITION_PRICE_OPEN

Цена позиции

double

POSITION_SL

Уровень Stop Loss для открытой позиции

double

POSITION_TP

Уровень Take Profit для открытой позиции

double

POSITION_PRICE_CURRENT

Текущая цена по символу

double

POSITION_SWAP

Накопленный своп

double

POSITION_PROFIT

Текущая прибыль

double

 
Vasiliy Pushkaryov:

Есть, например, в четверке функция взятия цены открытия ордера

понадобилась узнать профит по ордеру, делаем так

Попробуйте эти две задачи в 5-ке решить. И сколько времени уйдет. И с первого раза все равно не получится, пока не обкатаете на реале и не столкнетесь с тем, что в тестере не увидите. Не у всех есть столько времени разбираться и писать масштабные библиотеки. Поэтому и говорят, что МТ4 проще, легче. Просто элементарно времени тратилось меньше из-за его упрощенной ордерной системы.

В тоже время в 4ке не возможно задать тип исполнения приказа. И пожеланий сделать как у брокера тоже было много и они имеют достаточные основания. Это 2 разных исполнения общения с биржей, ДЦ. Один упрощенный, другой наиболее приближенный к реальности, и поэтому более сложный. И плющки оптимизации и матана не оспоримы.

4ку нужно поддерживать. Это простой, удобный инструмент в достаточными возможностями и для торговли и для исследований.

5ку нужно развивать, что бы быть на плаву, среди других предложений. 

 
Alexey Viktorov:

Даже не знаю как вам сказать…

POSITION_VOLUME

Объем позиции

double

POSITION_PRICE_OPEN

Цена позиции

double

POSITION_SL

Уровень Stop Loss для открытой позиции

double

POSITION_TP

Уровень Take Profit для открытой позиции

double

POSITION_PRICE_CURRENT

Текущая цена по символу

double

POSITION_SWAP

Накопленный своп

double

POSITION_PROFIT

Текущая прибыль

double

А если мне теперь закрытые сущности нужно посмотреть. В 4-ке ничего не поменялось. А в МТ5 как теперь?
 
Vasiliy Pushkaryov:

Есть, например, в четверке функция взятия цены открытия ордера

понадобилась узнать профит по ордеру, делаем так

Попробуйте эти две задачи в 5-ке решить. И сколько времени уйдет. И с первого раза все равно не получится, пока не обкатаете на реале и не столкнетесь с тем, что в тестере не увидите. Не у всех есть столько времени разбираться и писать масштабные библиотеки. Поэтому и говорят, что МТ4 проще, легче. Просто элементарно времени тратилось меньше из-за его упрощенной ордерной системы.

в Вашем коде нет проверок, поэтому в 5-ке он будет аналогичный, используйте PositionSelectByTicket , это приведет к копированию свойств позиции в окружение.... далее принцип работы будет такой же как в МТ4


ладно, тема стара как мир, тем более скатились в блиц-опрос: "кто что понял из справки МТ5" ,

справка подробная, ее достаточно даже без материала статей по ордерной системе и стандартной библиотеке МТ5

 
Vasiliy Pushkaryov:
А если мне теперь закрытые сущности нужно посмотреть. В 4-ке ничего не поменялось. А в МТ5 как теперь?
Я хочу понять, это мне экзамен или вам бесплатный ликбез? Научитесь читать документацию по языку. Там очень много интересного.
 
Alexey Viktorov:
Я хочу понять, это мне экзамен или вам бесплатный ликбез? Научитесь читать документацию по языку. Там очень много интересного.

Да, нет. Просто недавно после закрытия позиции решил получить профит по ней. И это не на 5 минут оказалось, как было когда-то в четверке. Пришлось цикл с перебором сделок организовывать. Потом оказалось, что сразу после закрытия позиции, не всегда тут же можно получить результат по сделке. Пришлось в еще один цикл заворачивать. Полдня на это потратил. Это я к чему собственно

Ну посмотрите внимательно, чем они отличаются? Так-же есть цена открытия, время открытия, тейк и стоп и всё что есть у ордера в 4ке.

Не реагируйте остро, экзамен никому устраивать не собирался.

 

Vasiliy Pushkaryov:

Не реагируйте остро, экзамен никому устраивать не собирался.

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

bool  HistorySelectByPosition(
   long   position_id     // идентификатор позиции - POSITION_IDENTIFIER
   );

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


ps; на этом лекция по ликвидации безграмотности закончена. :-)))

Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
HistorySelectByPosition - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasiliy Pushkaryov:

Да, нет. Просто недавно после закрытия позиции решил получить профит по ней. И это не на 5 минут оказалось, как было когда-то в четверке. Пришлось цикл с перебором сделок организовывать. Потом оказалось, что сразу после закрытия позиции, не всегда тут же можно получить результат по сделке. Пришлось в еще один цикл заворачивать. Полдня на это потратил. Это я к чему собственно

Не реагируйте остро, экзамен никому устраивать не собирался.

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

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


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

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

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

Причина обращения: