Режимы заполнения на серверах

 

Пожалуйста, протестируйте, если Вашего торгового сервера ещё нет в списке, этот скрипт - скрипт выводит название сервера и разрешённые режимы заполнения объёмов в торговом приказе. Для однообразия, используйте, пожалуйста, символ "EURUSD" (ну или его аналоги вроде "EURUSD.m").

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.001"
#property description "Режимы заполнения"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
// Все/Ничего     SYMBOL_FILLING_FOK   1
// Все/Частично   SYMBOL_FILLING_IOC   2
// Вернуть        Идентификатор отсутствует
   Print("Сервер: ",AccountInfoString(ACCOUNT_SERVER));
   Print("Все/Ничего, SYMBOL_FILLING_FOK: ",IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_FOK));
   Print("Все/Частично, SYMBOL_FILLING_IOC: ",IsFillingTypeAllowed(Symbol(),SYMBOL_FILLING_IOC));
   Print("Вернуть, Идентификатор отсутствует: ",IsFillingTypeAllowed(Symbol(),NULL));
   Print("Режим заключения сделок: ",
         EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_EXEMODE)));
  }
//+------------------------------------------------------------------+ 
//| проверяет разрешенность указанного режима заполнения             | 
//+------------------------------------------------------------------+ 
bool IsFillingTypeAllowed(string symbol,int fill_type)
  {
//--- получим значение свойства, описывающего режим заполнения 
   int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- вернем true, если режим fill_type разрешен 
   return((filling&fill_type)==fill_type);
  }
//+------------------------------------------------------------------+

Начну список:

2016.10.07 12:53:27.512 Test (EURUSD,M5)        Сервер: MetaQuotes-Demo
2016.10.07 12:53:27.512 Test (EURUSD,M5)        Все/Ничего, SYMBOL_FILLING_FOK: true
2016.10.07 12:53:27.512 Test (EURUSD,M5)        Все/Частично, SYMBOL_FILLING_IOC: false
2016.10.07 12:53:27.512 Test (EURUSD,M5)        Вернуть, Идентификатор отсутствует: true
2016.10.07 12:53:27.512 Test (EURUSD,M5)        Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
2016.10.07 12:58:13.124 Test (EURUSD.m,M5)      Сервер: RoboForex-MetaTrader 5
2016.10.07 12:58:13.124 Test (EURUSD.m,M5)      Все/Ничего, SYMBOL_FILLING_FOK: true
2016.10.07 12:58:13.124 Test (EURUSD.m,M5)      Все/Частично, SYMBOL_FILLING_IOC: true
2016.10.07 12:58:13.124 Test (EURUSD.m,M5)      Вернуть, Идентификатор отсутствует: true
2016.10.07 12:58:13.124 Test (EURUSD.m,M5)      Режим заключения сделок: SYMBOL_TRADE_EXECUTION_MARKET
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Сервер: FxPro-ECN
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Все/Ничего, SYMBOL_FILLING_FOK: false
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Все/Частично, SYMBOL_FILLING_IOC: true
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Вернуть, Идентификатор отсутствует: true
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Режим заключения сделок: SYMBOL_TRADE_EXECUTION_MARKET
Файлы:
Test.mq5  4 kb
 

блин опять какие то глюки со вставкой

2016.10.07 13:05:16.558 Test (EURUSD,H1)        Сервер: AlfaForex-Real
2016.10.07 13:05:16.558 Test (EURUSD,H1)        Все/Ничего, SYMBOL_FILLING_FOK: true
2016.10.07 13:05:16.558 Test (EURUSD,H1)        Все/Частично, SYMBOL_FILLING_IOC: false
2016.10.07 13:05:16.558 Test (EURUSD,H1)        Вернуть, Идентификатор отсутствует: true
2016.10.07 13:05:16.558 Test (EURUSD,H1)        Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT

 а так , попробуем

вставилось только если перед и после SRC есть текст

 
Yurij Izyumov:

блин опять какие то глюки со вставкой

После блока кода вставляйте хотя один пробел или буковку.
 
В общем особо интересен параметр "Вернуть, Идентификатор отсутствует". Не получается ли так, что этот параметр включён на абсолютно всех серверах по-умолчанию?
 
Karputov Vladimir:
В общем особо интересен параметр "Вернуть, Идентификатор отсутствует". Не получается ли так, что этот параметр включён на абсолютно всех серверах по-умолчанию?

А куда он пропал? До последнего обновления был ORDER_FILLING_RETURN Не понятно как теперь будет работать код с использованием этого параметра...


Ой какой умный движок форума... сам нашёл


 
Владимир, хочу предложить все добавленные копировать в первый пост темы, чтобы не искать по всей теме нужный. Надеюсь список разрастётся. У меня только Робо потому нечем дополнить.
 
Alexey Viktorov:
Владимир, хочу предложить все добавленные копировать в первый пост темы, чтобы не искать по всей теме нужный. Надеюсь список разрастётся. У меня только Робо потому нечем дополнить.
Ну пока копировать то нечего - информация только в первом и во втором постах.
 
Karputov Vladimir:
Ну пока копировать то нечего - информация только в первом и во втором постах.
Было-бы предложено...
 

Интересная запись от FxPro.

2016.10.07 12:58:32.390 Test (EURUSD,M5)        Сервер: FxPro-ECN
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Все/Ничего, SYMBOL_FILLING_FOK: false
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Все/Частично, SYMBOL_FILLING_IOC: true
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Вернуть, Идентификатор отсутствует: true
2016.10.07 12:58:32.390 Test (EURUSD,M5)        Режим заключения сделок: SYMBOL_TRADE_EXECUTION_MARKET

Только "Вернуть" там не работает...

 
Dennis Kirichenko:

Интересная запись от FxPro.

Только "Вернуть" там не работает...

А можно спросить, а что лично Вы сделали для того, чтобы торговый сервер был правильно настроен - чтобы на нём оставили только одну настройку - 

2016.10.07 12:58:32.390 Test (EURUSD,M5)        Все/Частично, SYMBOL_FILLING_IOC: true

Ведь в спецификации "EURUSD" так и записано: Заполнение: Все/Частично. 

Вы звонили в техподдержку? Вы пытались переписываться с техподдержкой торгового сервера? 

Лично я уже с ними неделю бодаюсь. 

 
Karputov Vladimir:

А можно спросить, а что лично Вы сделали для того, чтобы торговый сервер был правильно настроен - чтобы на нём оставили только одну настройку - 

Ведь в спецификации "EURUSD" так и записано: Заполнение: Все/Частично. 

Вы звонили в техподдержку? Вы пытались переписываться с техподдержкой торгового сервера?

Честно, ничего не сделал. Т.к. не предполагал, что функция IsFillingTypeAllowed() живёт своей жизнью относительно реальных настроек сервера...