Скачать MetaTrader 5

Вопросы по свойствам (ордеров, рынков и т.д.)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Максим
413
Максим  

В первую очередь хочется услышать мнение разработчиков.

Вопрос 1.

В документации <https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties> написано следующее:

Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций OrderGet...() и HistoryOrderGet...().

Также в документации <https://www.mql5.com/ru/docs/trading/historyordergetinteger> сказано:

Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала.

В каком случае следует использовать  OrderGet...() и в каком HistoryOrderGet...()?

 

Вопрос 2.

Функция OrderSelect выбирает ордер для дальнейшей работы с ним.

...

Функция OrderSelect() копирует данные об ордере в программное окружение, и последующие вызовы OrderGetDouble(), OrderGetInteger(), OrderGetString()возвращают ранее скопированные данные. Это означает, что самого ордера может уже и не быть (или же в нем изменились цена открытия, уровни Stop Loss / Take Profit или момент истечения), а данные этому ордеру можно еще получать. Для гарантированного получения свежих данных об ордере рекомендуется вызывать функцию OrderSelect() непосредственно перед обращением за ними.

Функция OrderSelect() используется только для отложенных ордеров?

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

 

Вопрос 3.

Может ли быть такое, что часть свойств ORDER_* доступно только для исполненных ордеров, а другая часть только для отложенных?

Например, ORDER_TIME_DONE имеет смысл только для выполненных. Более удобно это представить в виде таблицы:

Свойство  ПримечаниеОтложенный ордерОтработанный ордер
ORDER_TIME_SETUPВремя постановки ордераx*
ORDER_TYPEТип ордераx*
ORDER_STATEСтатус ордераxx
ORDER_TIME_EXPIRATIONВремя истечения ордераx*
ORDER_TIME_DONEВремя исполнения или снятия ордера
x
ORDER_TYPE_FILLINGТип исполнения по остаткуx*
ORDER_TYPE_TIMEВремя жизни ордераx*
ORDER_MAGICИдентификатор эксперта x*
ORDER_POSITION_IDИдентификатор позиции, который ставится на ордере при его исполнении
x
ORDER_VOLUME_INITIALПервоначальный объем при постановке ордераx*
ORDER_VOLUME_CURRENTНевыполненный объем
x
ORDER_PRICE_OPENЦена, указанная в ордереx*
ORDER_SLУровень Stop Lossx*
ORDER_TPУровень Take Profitx*
ORDER_PRICE_CURRENTТекущая цена по символу ордераxx
ORDER_PRICE_STOPLIMITЦена постановки Limit ордера при срабатывании StopLimit ордераx*
ORDER_SYMBOLСимвол, по которому выставлен ордерx*
ORDER_COMMENTКомментарийx*

 

x - имеет смысл

* - актуально только для отложенных, для отработанных используется только как справка о значениях отложенного ордера

 

Вопрос 4.

В <https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties> написано:

Свойство ORDER_VOLUME_CURRENT означает невыполненный объем.

 Не логично было бы обозначить через ORDER_VOLUME_CURRENT выполненный объём?

 

Вопрос 5.

На что влияют свойства ордеров ORDER_SL и ORDER_TP? Они изменяют свойства POSITION_SL и POSITION_TP соответствующей позиции при срабатывании ордера или если создают позицию?

 

Вопрос 6.

В документации <https://www.mql5.com/ru/docs/trading/historyselect> сказано следующее:

Функция HistorySelect запрашивает историю сделок и ордеров за указанный период серверного времени.

И в <https://www.mql5.com/ru/docs/trading/historyorderselect> следующее:

Функция HistoryOrderSelect выбирает в истории ордер для последующих обращений к нему через соответствующие функции. 

Как поведёт себя функция HistoryOrderSelect, если указать тикет ордера выходящего за рамки, установленные в HistorySelect?

 

Вопрос 7.

Не совсем понятны свойства SYMBOL_LASTHIGH и SYMBOL_LASTLOW. Что они обозначают? Последняя сделка всегда одна. Если операция совершалась по разным ценам согласно ORDER_TYPE_FILLING, то наибольшая цена это и есть SYMBOL_LASTHIGH, а наименьшая SYMBOL_LASTLOW?

 

Вопрос 8.

Что означает свойство POSITION_PRICE_OPEN? Это цена по которой была открыта позиция или это цена последней сделки, которая изменила позицию?

 

Вопрос 9.

Зачем свойство ORDER_TYPE_TIME, когда имеется свойство ORDER_TIME_EXPIRATION? Как они связаны между собой?

 

Вопрос 10.

Может ли быть отложенный ордер без позиции?

 

Вопрос 11.

Отложенный ордер может и не породить сделки (например, его удалят). Попадёт ли он тогда в историю?

Догадываюсь, что ответ: да. Его состояние может быть, например, ORDER_STATE_CANCELED или ORDER_STATE_EXPIRED. Так?

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 1.

В документации <https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties> написано следующее:

Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций OrderGet...() и HistoryOrderGet...().

Также в документации <https://www.mql5.com/ru/docs/trading/historyordergetinteger> сказано:

Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала.

В каком случае следует использовать  OrderGet...() и в каком HistoryOrderGet...()?

Эти функции следует использовать при работе с отложниками (pending orders): OrderGetTicket, OrderSelect, OrderGetDouble, OrderGetInteger, OrderGetString;

Эти функции следует использовать при работе с ордерами попавшими в историю торгов (например удаленные ордера): HistoryOrderGetTicket, HistoryOrderGetDouble, HistoryOrderGetInteger, HistoryOrderGetString.

Maxx:

Вопрос 2.


Функция OrderSelect выбирает ордер для дальнейшей работы с ним.

...

Функция OrderSelect() копирует данные об ордере в программное окружение, и последующие вызовы OrderGetDouble(), OrderGetInteger(), OrderGetString()возвращают ранее скопированные данные. Это означает, что самого ордера может уже и не быть (или же в нем изменились цена открытия, уровни Stop Loss / Take Profit или момент истечения), а данные этому ордеру можно еще получать. Для гарантированного получения свежих данных об ордере рекомендуется вызывать функцию OrderSelect() непосредственно перед обращением за ними.

Функция OrderSelect() используется только для отложенных ордеров?

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

Эти функции следует использовать для выбора отложников: OrdersTotal, OrderSelect.

Такая ситуация конечно возможна, но в большинстве случаев между выбором объектов и запросом его свойств пройдет очень мало времени, т.е. как я понимаю если OrderSelect выбрал ордер то есть все шансы получить инфу по нему.

PS

Общая идея следующая - OrdersXXX предназначены для работы с отложенными ордерами, а HistoryOrderXXX - с ордерами находящимися в "истории торгов".

Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 5.

На что влияют свойства ордеров ORDER_SL и ORDER_TP? Они изменяют свойства POSITION_SL и POSITION_TP соответствующей позиции при срабатывании ордера или если создают позицию?

Насколько помню уровни SL и TP ордера при срабатывании автоматически передаются открытой позиции (если позиция была открыта до этого то изменятся те что были указаны в ней).

Также  позиция "позаимствует" и комментарий у последнего сработавшего по инструменту ордера.

Maxx:

Вопрос 6.


В документации <https://www.mql5.com/ru/docs/trading/historyselect> сказано следующее:

Функция HistorySelect запрашивает историю сделок и ордеров за указанный период серверного времени.

И в <https://www.mql5.com/ru/docs/trading/historyorderselect> следующее:

Функция HistoryOrderSelect выбирает в истории ордер для последующих обращений к нему через соответствующие функции. 

Как поведёт себя функция HistoryOrderSelect, если указать тикет ордера выходящего за рамки, установленные в HistorySelect?


Если функция не найдет (по каким-то причинам) в истории указанный титке она вернет false.

PS

Об этом прямо говориться в справке по функции.

Возвращаемое значение

Возвращает true в случае успеха, иначе false.

Примечание

Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала.

Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 8.

Что означает свойство POSITION_PRICE_OPEN? Это цена по которой была открыта позиция или это цена последней сделки, которая изменила позицию?

Это цена открытия позиций, с учетом последней сделки по символу.

Таким образом в серии сделок это будет усредненная цена по всем сделкам.

Maxx:
 

Вопрос 9.

Зачем свойство ORDER_TYPE_TIME, когда имеется свойство ORDER_TIME_EXPIRATION? Как они связаны между собой?


ORDER_TIME_EXPIRATION имеет более высокий приоритет и больший вес.

ORDER_TYPE_TIME имеет актуальность только если в ORDER_TIME_EXPIRATION прямо указано ORDER_TIME_SPECIFIED (хотя нужно уточнить у разработчиков на счет вариантов когда ORDER_TYPE_TIME меньше времени завершения текущего торгового дня).

ENUM_ORDER_TYPE_TIME

Идентификатор

Описание

ORDER_TIME_GTC

Ордер будет находится в очереди до тех пор, пока не будет снят

ORDER_TIME_DAY

Ордер будет действовать только в течении текущего торгового дня

ORDER_TIME_SPECIFIED

Ордер будет действовать до даты истечения

 




Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 10.

Может ли быть отложенный ордер без позиции?

 

Вопрос 11.

Отложенный ордер может и не породить сделки (например, его удалят). Попадёт ли он тогда в историю?

Догадываюсь, что ответ: да. Его состояние может быть, например, ORDER_STATE_CANCELED или ORDER_STATE_EXPIRED. Так?

10. Конечно может. Исполнится он или будет отменен это уже другой вопрос.

11. Любой отмененый ордер попадет в историю, при этом у него изменится комментарий на соответствующий (насколько я помню).

По поводу статуса, скорей всего так:

Каждый ордер имеет статус, описывающий его состояние. Для получения информации используйте функцию OrderGetInteger() или HistoryOrderGetInteger() с модификатором ORDER_STATE. Допустимые значения хранятся в перечислении ENUM_ORDER_STATE.

ENUM_ORDER_STATE

Идентификатор

Описание

ORDER_STATE_STARTED

Ордер проверен на корректность, но еще не принят брокером

ORDER_STATE_PLACED

Ордер принят

ORDER_STATE_CANCELED

Ордер снят клиентом

ORDER_STATE_PARTIAL

Ордер выполнен частично

ORDER_STATE_FILLED

Ордер выполнен полностью

ORDER_STATE_REJECTED

Ордер отклонен

ORDER_STATE_EXPIRED

Ордер снят по истечении срока его действия

Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 7.

Не совсем понятны свойства SYMBOL_LASTHIGH и SYMBOL_LASTLOW. Что они обозначают? Последняя сделка всегда одна. Если операция совершалась по разным ценам согласно ORDER_TYPE_FILLING, то наибольшая цена это и есть SYMBOL_LASTHIGH, а наименьшая SYMBOL_LASTLOW?


MT5 это терминал заточенный под фондовые рынки, об этом не стоит забывать.

На Forex по большому счету (как  многим это известно) существует две цены - Ask и Bid (формируемые спросом и предложением и разделяемые спредом, верней чтобы точней выразиться - формирующие спред).


На фондовом рынке к этим двум ценам, привычных и понятных для каждого трейдера, добавляется еще одна цена - Last (Цена, по которой совершена последняя сделка. Не Вами лично, а вообще по рынку!).

Таким образом на реальной бирже можно отследить не только Ask и Bid, но и узнать по какой цене была совершена последняя сделка, скажем по акциям IBM.

Прикольно было бы еще узнать объем этой сделки и направление :) , но увы...

Частота изменения и диапазон хода цены Last кстати тоже о многом говорит. Но это я так, к слову.

Так вот HIGH и LOW показывают максимальные и минимальные уровни этих цен за период (за сутки или сессию, тут нужно уточнить).

SYMBOL_BID

Bid - лучшее предложение на продажу

double

SYMBOL_BIDHIGH

Максимальный Bid за день

double

SYMBOL_BIDLOW

Минимальный Bid за день

double

SYMBOL_ASK

Ask - лучшее предложение на покупку

double

SYMBOL_ASKHIGH

Максимальный Ask за день

double

SYMBOL_ASKLOW

Минимальный Ask за день

double

SYMBOL_LAST

Цена, по которой совершена последняя сделка

double

SYMBOL_LASTHIGH

Максимальный Last за день

double

SYMBOL_LASTLOW

Минимальный Last за день

double


PS

Не знаю как у MQ, но на Alpari по пятницам можно наблюдать не хилый "отрыв" ласта от закрытия по Ask и Bid (обычно)...

Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 4.


В <https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties> написано:

Свойство ORDER_VOLUME_CURRENT означает невыполненный объем.

 Не логично было бы обозначить через ORDER_VOLUME_CURRENT выполненный объём?

Не логично. Возвращать не выполненный объем куда логичнее.

Если Вы опять таки торгуете не Forex этот объем Вам будет до лампочки (скорей всего он никогда и не понадобится).

Другое дело фондовый рынок, представьте что условно треба купить скажем 10000 акций IBM, а по заявке вам продали всего 3000.

Вопрос что проще, получить 3000 уже купленных, вспомнить что было 10000, сделать вывод о покупке еще 7000, или сразу получить 7000?

Максим
413
Максим  

Interesting:

Огромное спасибо за разъяснения (в этой и другой темах)!


Теперь попробую подвести для себя итог.

Вопрос 1. Вопрос 2.

Функции OrderGet* следует использовать с отложенными ордерами, а HistoryOrder*() с отработанными.

Вопрос 3.

Пока без ответа.

Вопрос 4.

Interesting:

Не логично. Возвращать не выполненный объем куда логичнее.

 Тогда слово CURRENT вводит в заблуждение и лучше его переименовать, а вопрос можно считать закрытым.

Вопрос 5.

Interesting:

Насколько помню уровни SL и TP ордера при срабатывании автоматически передаются открытой позиции (если позиция была открыта до этого то изменятся те что были указаны в ней).

Также  позиция "позаимствует" и комментарий у последнего сработавшего по инструменту ордера. 

 Вопрос 6.

Interesting:

Если функция не найдет (по каким-то причинам) в истории указанный титке она вернет false.

Хорошая формулировка.

Об этом прямо говориться в справке по функции.

Возвращаемое значение

Возвращает true в случае успеха, иначе false.

Примечание

Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала.

В справке "Возвращает true в случае успеха, иначе false" - дежурная фраза. А вот явно указать такой момент не помешало бы, как и рассматривать или оговаривать различные ситуации, которые могут привести к вопросам или неясностям.

Вопрос 7.

Interesting:

На фондовом рынке к этим двум ценам, привычных и понятных для каждого трейдера, добавляется еще одна цена - Last (Цена, по которой совершена последняя сделка. Не Вами лично, а вообще по рынку!).

Таким образом на реальной бирже можно отследить не только Ask и Bid, но и узнать по какой цене была совершена последняя сделка, скажем по акциям IBM.

Наверное, это пробелы в моём образовании. Но опять же в документации было бы не лишним (если описываются Ask и Bid).

Частота изменения и диапазон хода цены Last кстати тоже о многом говорит. Но это я так, к слову. 

А можно привести пример, чем всё-таки она интересна? Прошу прощения за любопытство. Но на у ничего не идёт, чем бы она могла быть полезной.

Вопрос 8.

 

Interesting:

Это цена открытия позиций, с учетом последней сделки по символу.

Таким образом в серии сделок это будет усредненная цена по всем сделкам.

Не знал. Спасибо.

Вопрос 9.

ORDER_TIME_EXPIRATION имеет более высокий приоритет и больший вес.

ORDER_TYPE_TIME имеет актуальность только если в ORDER_TIME_EXPIRATION прямо указано ORDER_TIME_SPECIFIED (хотя нужно уточнить у разработчиков на счет вариантов когда ORDER_TYPE_TIME меньше времени завершения текущего торгового дня).

ENUM_ORDER_TYPE_TIME

Идентификатор

Описание

ORDER_TIME_GTC

Ордер будет находится в очереди до тех пор, пока не будет снят

ORDER_TIME_DAY

Ордер будет действовать только в течении текущего торгового дня

ORDER_TIME_SPECIFIED

Ордер будет действовать до даты истечения 

 По логике мне кажется подходит другой вариант: вес ORDER_TYPE_TIME больше, чем у ORDER_TIME_EXPIRATION.

а) иначе непонятно, когда использовать ORDER_TYPE_TIME? При каком значении ORDER_TIME_EXPIRATION?

б) если выставлено ORDER_TYPE_TIME=ORDER_TIME_SPECIFIED, то тогда используется ORDER_TIME_EXPIRATION. Если ORDER_TYPE_TIME=ORDER_TIME_DAY, то время жизни ордера жёстко определено. Если ORDER_TYPE_TIME=ORDER_TIME_GTC, то не важно, что в ORDER_TIME_EXPIRATION, но тогда не ясно, зачем этот вариант нужен?!

Вопрос 10.

Interesting:

10. Конечно может. Исполнится он или будет отменен это уже другой вопрос.

Согласен. Значение в поле ORDER_POSITION_ID имеет смысл, если ордер был выполнен. А если не выполнен, то здесь будет мусор или другое значение, которое не следует использовать.

Вопрос 11.

11. Любой отмененый ордер попадет в историю, при этом у него изменится комментарий на соответствующий (насколько я помню).

Получается, что абсолютно любой ордер попадёт в историю, но статус его может быть различным. Так?

 А есть описание того, как изменяются комментарии? Может разработчики поделятся информацией?

 

 

Максим
413
Максим  

Вопрос 12.

Зачем нужно свойство SYMBOL_TRADE_TICK_VALUE, когда оно дублирует SYMBOL_TRADE_TICK_VALUE_PROFIT? 

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
Vladimir Batrudinov
4944
Vladimir Batrudinov  

Давайте разбираться по порядку, так проще будет.

Maxx:

Вопрос 4.

Тогда слово CURRENT вводит в заблуждение и лучше его переименовать, а вопрос можно считать закрытым.

Тут весь вопрос в переводе и том что по сути понимается под свойством. Также следует учесть, что разработчикам необходимо получить наибольшую информационную ценность для я большого числа людей читающих исходные коды (человек не должен каждые 10 минут заглядывать в справку, а читать код максимально интуитивно).

В данных блоке свойств существует два свойства связанные с объемом ордера

ENUM_ORDER_PROPERTY_DOUBLE

Идентификатор

Описание

Тип

ORDER_VOLUME_INITIAL

Первоначальный объем при постановке ордера

double

ORDER_VOLUME_CURRENT

Невыполненный объем

double


С ORDER_VOLUME_INITIAL все понятно, ORDER - Ордер, VOLUME - Объем, INITIAL - Скорей всего сокращение от инициализации.

Весь вопрос как перевести CURRENT. На мой взгляд больше всего подходит вариант "Текущий".


Разумно предположить что с точки зрения сервера (читай разработчиков) тот объем который не был исполнен сервером (по каким-то причинам ) может стать объемом "новой" заявки, следовательно обозвать его "текущим" вполне уместно.

PS

Переименовать конечно можно например обозвать его как "Remaining" или как "Unfulfilled", только "Current" проще и короче. В некоторых случаях это имеет приоритет.

Maxx:

Вопрос 7.


Interesting:

На фондовом рынке к этим двум ценам, привычных и понятных для каждого трейдера, добавляется еще одна цена - Last (Цена, по которой совершена последняя сделка. Не Вами лично, а вообще по рынку!).

Таким образом на реальной бирже можно отследить не только Ask и Bid, но и узнать по какой цене была совершена последняя сделка, скажем по акциям IBM.

Наверное, это пробелы в моём образовании. Но опять же в документации было бы не лишним (если описываются Ask и Bid).

Частота изменения и диапазон хода цены Last кстати тоже о многом говорит. Но это я так, к слову. 

А можно привести пример, чем всё-таки она интересна? Прошу прощения за любопытство. Но на у ничего не идёт, чем бы она могла быть полезной.

1.

Я тоже узнал о Last не из справки, однажды в пятницу сильно возмущался о наличии "какого-то ласта" по Ере, да еще порядочно отличающегося от привычных мне Ask и Bid.

Нашлись добрые люди и объяснили что к чему. С тех пор я еще много чего узнал о фондовом рынке, и тем более хоть как-то "потрогать руками".

я сомневаюсь, что  на рынке Forex эта цена такая уж актуальная (и что-то даст), хотя в рамках конкретного  ДЦ или брокера вполне может быть дополнительным сигналом.

2.

Last - цена последней сделки по инструменту в рамках  определенного рынка или его сегмента (Пусть  это будет ДЦ, Банк, Биржа или иной подобный финансовый центр).

Как мы можем воспользоваться этой ценой? Есть несколько вариантов (как мне представляется):

а) просто узнать последнюю цену и на основании этой информации сделать выводы (возможно соотнеся Last с текущей ценой);

б) определить диапазон в котором совершаются торговые операции и на этом основании сделать выводы о происходящем на рынке;

в) Использовать динамику изменения Last с объемами и спредами (по возможности еще и с временем публикации экономических событий);

г) еще как-то использовать эту цену.

PS

Если кратко, то согласно этой идеи цена Last может стать дополнительным индикатором настроений определенной группы трейдеров (в зависимости кто является "маркетмейкером" этой цены).

Также эта цена может сигнализировать об определенных процессах на рынке.

Vladimir Batrudinov
4944
Vladimir Batrudinov  
Maxx:

Вопрос 9.

 По логике мне кажется подходит другой вариант: вес ORDER_TYPE_TIME больше, чем у ORDER_TIME_EXPIRATION.

а) иначе непонятно, когда использовать ORDER_TYPE_TIME? При каком значении ORDER_TIME_EXPIRATION?

б) если выставлено ORDER_TYPE_TIME=ORDER_TIME_SPECIFIED, то тогда используется ORDER_TIME_EXPIRATION. Если ORDER_TYPE_TIME=ORDER_TIME_DAY, то время жизни ордера жёстко определено. Если ORDER_TYPE_TIME=ORDER_TIME_GTC, то не важно, что в ORDER_TIME_EXPIRATION, но тогда не ясно, зачем этот вариант нужен?!

Вы правы, это я местами идентификаторы поменял - перепутал, когда пост оформлял.

Правильно следует читать так

ORDER_TYPE_TIME имеет более высокий приоритет и больший вес.

ORDER_TIME_EXPIRATION имеет актуальность только если в ORDER_TYPE_TIME прямо указано ORDER_TIME_SPECIFIED...

ENUM_ORDER_TYPE_TIME

Идентификатор

Описание

ORDER_TIME_GTC

Ордер будет находится в очереди до тех пор, пока не будет снят

ORDER_TIME_DAY

Ордер будет действовать только в течении текущего торгового дня

ORDER_TIME_SPECIFIED

Ордер будет действовать до даты истечения 


Maxx:

Вопрос 11.

Получается, что абсолютно любой ордер попадёт в историю, но статус его может быть различным. Так?

А есть описание того, как изменяются комментарии? Может разработчики поделятся информацией?

По идеи да, все ордера попадают в историю. Вопрос как они туда попадают.

Ели рассматривать отложники (pending orders) то после установки у них есть следующие варианты:

1. Быть отмененным трейдером (МТС) или сервером. При этом ордер переносится в историю как отмененный и сервер устанавливает ему соответствующие свойства, статус и прочие (дополнительно, для наглядности в отчете, меня комментарий - пишет туда cancelled или что-то в этом вроде).

Хотел точно пример привести, но нет у экспертов торгующих на чемпионате желания ордера отменять. :)

Позже организуем отмену ордера...

2. Ордер исполняется, при этом он создает сделку которая создает позицию или изменяет уже существующую позу.

При этом поза получает комментарий этого ордера в "наследство", а сделка фиксируется в истории.

Попадает ли в историю при этом сам ордер я точно сказать не могу, нужно уточнять (но думаю что попадает).

PS

В использовании комментариев сервером нет особых секретов, это делалось еще в MT4 (для большей информативности и удобства восприятия трейдером).

Про [sl] и [tp] говорить не будем, это и так понятно, да и сталкиваются с этим все очень часто.

Существуют еще комментарии к балансовым операциям (операции зачисление и вывода средств); комментарии к поправкам в балансе (при различных ошибках и внештатных ситуациях сервера), с этим сталкивались многие; комментарии к операция закрытия по Stop Out (если не ошибаюсь выглядят как [so]).


12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий