Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1035

 
Roman Sharanov:

Хочу познакомится с разработкой интерфейсов в MQL5 на EasyAndFastGUI

Есть 10 частей (или чего?) статей "Графические интерфейсы", начиная с 2015 года

У меня вопрос, они все последовательны, или старые смысла читать нет?

Хотите разобраться - читайте с начала. Хотите методом тыка - загрузите последнюю версию и изучайте примеры.
 

Всем привет! Впрос по MQL5.
Как правильно закрыть ордер, не нашел нормального примера. Просто закрывать умею, классом CTrade пользуюсь, но есть ли нормальное готовое решение?
Цель не просто отправить команду на закрытие, а иметь фукцию которая возвращает true только после того как получит от брокера ответ "ДА, ПОЗИЦИЯ ТОЧНО ЗАКРЫТА, расслабься))".
Про trade.ResultRetcode() знаю и про TRADE_RETCODE_DONE тоже, но не хочется изобретать велосипед, есть у кого готовое решение?

 
Evgeny Dyuka:

Всем привет! Впрос по MQL5.
Как правильно закрыть ордер, не нашел нормального примера. Просто закрывать умею, классом CTrade пользуюсь, но есть ли нормальное готовое решение?
Цель не просто отправить команду на закрытие, а иметь фукцию которая возвращает true только после того как получит от брокера ответ "ДА, ПОЗИЦИЯ ТОЧНО ЗАКРЫТА, расслабься))".
Про trade.ResultRetcode() знаю и про TRADE_RETCODE_DONE тоже, но не хочется изобретать велосипед, есть у кого готовое решение?

OrderClose из MT4Orders вернет true c той же логикой, как и в MT4 - когда позиция будет закрыта.

 
fxsaber:

OrderClose из MT4Orders вернет true c той же логикой, как и в MT4 - когда позиция будет закрыта.

думаю, как в прошлый раз появятся адепты МТ5 с критикой Вашей библиотеки, все бы ничего... но как пользоваться ордерной системой МТ5 мало кто знает ))))

 
fxsaber:

OrderClose из MT4Orders вернет true c той же логикой, как и в MT4 - когда позиция будет закрыта.

спасибо, не знал про эту библиотеку
 
Igor Makanu:

думаю, как в прошлый раз появятся адепты МТ5 с критикой Вашей библиотеки, все бы ничего... но как пользоваться ордерной системой МТ5 мало кто знает ))))

Странно, что от разработчиков mql5 нет готового решения. А order, deal и position вообще мозг разрывают. Position это то, что открыто, а если уже закрыто, это что? HistoryOrdersTotal что возвращает если, по логике, один ордер открывает позицию, а другой закрывает, т.е. по два на позицию... при этом, тикет открывающего ордера (иногда, может быть, наверное) равет id позиции, а какой тогда тикет у закрывающего????
 
Evgeny Dyuka:
Странно, что от разработчиков mql5 нет готового решения. А order, deal и position вообще мозг разрывают. Position это то, что открыто, а если уже закрыто, это что? HistoryOrdersTotal что возвращает если, по логике, один ордер открывает позицию, а другой закрывает, т.е. по два на позицию... при этом, тикет открывающего ордера (иногда, может быть, наверное) равет id позиции, а какой тогда тикет у закрывающего????
  • Ордер - это приказ, отданный вами на сервер на исполнение того, или иного действия. Он может быть исполнен, может быть исполнен частично (неполным объёмом), и может быть отклонён.
  • Сделка - это результат исполнения ордера (вашего приказа на исполнение того, или иного действия)
  • Позиция - результат исполнения сделки на вход в рынок.
  • Закрытая позиция (это когда нет позиции, и говорить о ней как о чём-то осязаемом - бесполезно - нет её) - результат исполнения сделки на выход из рынка.
  • Сделка на выход из рынка получается при исполнении ордера - вашего приказа на закрытие позиции.
  1. Отправляете приказ на сервер открыть позицию на покупку - ордер с типом ORDER_TYPE_BUY
  2. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на вход в рынок с типом DEAL_ENTRY_IN
  3. В результате вы имеете позицию с типом POSITION_TYPE_BUY
  4. Отправляете приказ на сервер закрыть позицию на покупку - ордер с типом ORDER_TYPE_SELL с таким же объёмом, как у закрываемой позиции
  5. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на выход из рынка с типом DEAL_ENTRY_OUT
  6. В результате вы не имеете позиции с типом POSITION_TYPE_BUY - она полностью закрыта, и её историю можно посмотреть в журнале терминала History - там есть все ордера и сделки этой и других позиций
Это если вкратце - для начального понимания. А дальше - сами - всё есть на форуме и в статьях. Было бы желание.
 
Evgeny Dyuka:
Странно, что от разработчиков mql5 нет готового решения.

Есть.

Документация по MQL5: Стандартная библиотека / Торговые классы
Документация по MQL5: Стандартная библиотека / Торговые классы
  • www.mql5.com
Стандартная библиотека / Торговые классы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
  • Ордер - это приказ, отданный вами на сервер на исполнение того, или иного действия. Он может быть исполнен, может быть исполнен частично (неполным объёмом), и может быть отклонён.
  • Сделка - это результат исполнения ордера (вашего приказа на исполнение того, или иного действия)
  • Позиция - результат исполнения сделки на вход в рынок.
  • Закрытая позиция (это когда нет позиции, и говорить о ней как о чём-то осязаемом - бесполезно - нет её) - результат исполнения сделки на выход из рынка.
  • Сделка на выход из рынка получается при исполнении ордера - вашего приказа на закрытие позиции.
  1. Отправляете приказ на сервер открыть позицию на покупку - ордер с типом ORDER_TYPE_BUY
  2. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на вход в рынок с типом DEAL_ENTRY_IN
  3. В результате вы имеете позицию с типом POSITION_TYPE_BUY
  4. Отправляете приказ на сервер закрыть позицию на покупку - ордер с типом ORDER_TYPE_SELL с таким же объёмом, как у закрываемой позиции
  5. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на выход из рынка с типом DEAL_ENTRY_OUT
  6. В результате вы не имеете позиции с типом POSITION_TYPE_BUY - она полностью закрыта, и её историю можно посмотреть в журнале терминала History - там есть все ордера и сделки этой и других позиций
Это если вкратце - для начального понимания. А дальше - сами - всё есть на форуме и в статьях. Было бы желание.
спасибо, буду вникать
 
Artyom Trishkin:
  • Ордер - это приказ, отданный вами на сервер на исполнение того, или иного действия. Он может быть исполнен, может быть исполнен частично (неполным объёмом), и может быть отклонён.
  • Сделка - это результат исполнения ордера (вашего приказа на исполнение того, или иного действия)
  • Позиция - результат исполнения сделки на вход в рынок.
  • Закрытая позиция (это когда нет позиции, и говорить о ней как о чём-то осязаемом - бесполезно - нет её) - результат исполнения сделки на выход из рынка.
  • Сделка на выход из рынка получается при исполнении ордера - вашего приказа на закрытие позиции.
  1. Отправляете приказ на сервер открыть позицию на покупку - ордер с типом ORDER_TYPE_BUY
  2. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на вход в рынок с типом DEAL_ENTRY_IN
  3. В результате вы имеете позицию с типом POSITION_TYPE_BUY
  4. Отправляете приказ на сервер закрыть позицию на покупку - ордер с типом ORDER_TYPE_SELL с таким же объёмом, как у закрываемой позиции
  5. Если ордер принят сервером и полностью исполнен, то образуется сделка - сделка на выход из рынка с типом DEAL_ENTRY_OUT
  6. В результате вы не имеете позиции с типом POSITION_TYPE_BUY - она полностью закрыта, и её историю можно посмотреть в журнале терминала History - там есть все ордера и сделки этой и других позиций
Это если вкратце - для начального понимания. А дальше - сами - всё есть на форуме и в статьях. Было бы желание.
Вы пишите "Закрытая позиция (это когда нет позиции, и говорить о ней как о чём-то осязаемом - бесполезно - нет её) - результат исполнения сделки на выход из рынка". Получается что в истории нет такой единой сущности, а есть набор событий - ордер->сделка (открытие), ордер->сделка (закрытие) и у этого всего нет единого названия.
Я просто не могу решить банальную задачу - надо обратиться к этой последней сущности (по тикиту наверно) и собрать о ней информацию - время открытия/закрытия, объем и т.д. Предположим, что это нечно открывалось одним ордером и закрывалось тоже одним. Получается надо из HistoryOrderTotal брать последние два и из них стороить какой то анализ? А вдруг у них тикеты разные...
Как такое обращение к истории решено на практике?
Причина обращения: