Скачать MetaTrader 5

В чем отличия?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Знаете ли вы, что MQL5 является объектно-ориентированным языком?
agvozdezkiy
146
agvozdezkiy 2016.02.25 02:57 

Никак не могу найти в справке и форуме в чем разница между режимами ордеров:

Request Execution - торговый ордер на открытие позиции в режиме Request Execution (режим торговли по запросу текущих цен);

Instant Execution - торговый ордер на открытие позиции в режиме Instant Execution (режим торговли по потоковым ценам);

Market Execution - торговый ордер на открытие позиции в режиме Market Execution (режим исполнения торговых приказов по рынку);

Exchange Execution - торговый ордер на открытие позиции в режиме Exchange Execution (биржевой режим исполнения торговых приказов).


Где эти режимы выставляются? В чем отличия? И почему в справке никаких деталей?

Sergey Deev
90227
Sergey Deev 2016.02.25 03:34  
agvozdezkiy:

Где эти режимы выставляются? В чем отличия? И почему в справке никаких деталей?

Насколько я понимаю - эти режимы не выставляются. Это режимы исполнения ордеров провайдером (брокером, дилером).

Как их определить средствами MQL - так же не известно (нужно знать).

Например, в режиме Instant Execution приказы исполняются по условиям клиента или отклоняются если, например, если таких цен нет в потоке или они устарели на величину больше указанной в проскальзывании.

В режиме  Market Execution приказы исполняются по рыночной цене. Это тип исполнения, в отличие от предыдущего, не позволяет выставить TP и SL одновременно с отправкой приказа на открытие. В каких-то случаях они выставляются нулями, в других - приказ вообще может быть не исполнен.

Про два других режима не знаю. 

Ihor Herasko
9061
Ihor Herasko 2016.02.25 09:45  
Sergey Deev:

Как их определить средствами MQL - так же не известно (нужно знать).


Просто посмотреть в справке - https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Sergey Gritsay
6478
Sergey Gritsay 2016.02.25 13:20  
Sergey Deev:


Как их определить средствами MQL - так же не известно (нужно знать).


Как это неизвестно, вот так например

if(SymbolInfoInteger(_Symbol,SYMBOL_TRADE_EXEMODE)==SYMBOL_TRADE_EXECUTION_EXCHANGE)
khorosh
8203
khorosh 2016.02.25 14:48  
agvozdezkiy:

Никак не могу найти в справке и форуме в чем разница между режимами ордеров:

Request Execution - торговый ордер на открытие позиции в режиме Request Execution (режим торговли по запросу текущих цен);

Instant Execution - торговый ордер на открытие позиции в режиме Instant Execution (режим торговли по потоковым ценам);

Market Execution - торговый ордер на открытие позиции в режиме Market Execution (режим исполнения торговых приказов по рынку);

Exchange Execution - торговый ордер на открытие позиции в режиме Exchange Execution (биржевой режим исполнения торговых приказов).


Где эти режимы выставляются? В чем отличия? И почему в справке никаких деталей?

Вот скрипт, может пригодится. Бросьте его на график и узнаете какой режим открытия ордеров.

//+------------------------------------------------------------------+
//|                                                 TestTypTrade.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
  string TipTr="";
  int TypTrade=SymbolInfoInteger(_Symbol,SYMBOL_TRADE_EXEMODE);
  if(TypTrade==SYMBOL_TRADE_EXECUTION_REQUEST) {TipTr="Торговля по запросу";} 
  if(TypTrade==SYMBOL_TRADE_EXECUTION_INSTANT) {TipTr="Торговля по потоковым ценаму";}
  if(TypTrade==SYMBOL_TRADE_EXECUTION_MARKET)  {TipTr="Исполнение ордеров по рынку";} 
   Alert("Режим открытия ордеров: ",TipTr);
  }
//+------------------------------------------------------------------+
agvozdezkiy
146
agvozdezkiy 2016.02.26 01:23  

Спасибо за подробные ответы! Как узнать режим, теперь ясно. Осталось понять в чем суть отличий между ними, и что дает это знание!))))

Ihor Herasko
9061
Ihor Herasko 2016.02.26 10:19  
agvozdezkiy:

Спасибо за подробные ответы! Как узнать режим, теперь ясно. Осталось понять в чем суть отличий между ними, и что дает это знание!))))

  1. Торговля по запросу (Request Execution) - чтобы совершить сделку, нужно выполнить запрос цен. Пришедшая цена действительна в течение некоторого определенного времени. По его прошествии нужно делать новый запрос. Этот режим, по-моему, является архаизмом. В последний раз видел его еще в MT3.
  2. Торговля по потоковым ценам (Instant Execution) - при отправке запроса сделка будет исполнена по заявленной цене в пределах коридора slippage. В противном случае получим реквот (requote). В этом режиме можно вместе с отправкой приказа указать параметры  SL и TP.
  3. Исполнение ордеров по рынку (Market Execution) - заявка исполняется по той цене, которая была действительна на момент обработки приказа сервером. То есть, в отличие от режима Instant, цену исполнения контролировать невозможно. Теоретически в этом режиме не должно быть реквот. Нельзя вместе с запросом отправлять уровни SL и TP. Должны быть нули. Хотя в последних версиях терминала сделали авторазбивку таких приказов на два запроса, что разрешает отправлять запрос сразу с установленными уровнями SL и TP.
  4.  Биржевое исполнение (Exchange Exectuion) - заявка выполняется по условиям биржи, на которой торгует трейдер. То есть запрос имеет не два возможных исхода, как в трех предыдущих случаях, а три: исполнен, исполнен частично, не исполнен.

Sergey Lebedev
800
Sergey Lebedev 2016.02.26 10:49  
Недавно разбирался с этим вопросом - все так как написал Ihor Herashko. 
Но вот что важно:
- request/instant/market - самые старые режимы, поедназначены для форекс-контор, при этом market - это форекс-эмуляция рынка,
- exchange - предназначен для торговли на бирже, поэтому в части параметров похож на market.
При этом могут быть ситуации, когда по склейкам указан неверный режим и это может существенно повлиять на результаты тестирования (https://www.mql5.com/ru/forum/74077).
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий