ФОРТС. Вопросы по исполнению - страница 75

 
prostotrader:

Бай-стоп не выводится на биржу, а "дежурит" на сервере МТ5, следовательно,

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

только лимит-ордера исполняются по заявленной цене?
 
Евгений:
только лимит-ордера исполняются по заявленной цене?

Да, по цене, не хуже указанной в ордере, если не успевает, то

ничего не покупается (продаётся). 

При этом, метод заливки ордера стоит применять IOC (сколько успеет взять)

request.type_filling=ORDER_FILLING_IOC;
 
prostotrader:

Да, по цене, не хуже указанной в ордере, если не успевает, то

ничего не покупается (продаётся). 

При этом, метод заливки ордера стоит применять IOC (сколько успеет взять)

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

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
void OnStart()
  {
   for(int i=0;i<SymbolsTotal(false);i++)
     {
      ENUM_SYMBOL_CALC_MODE calc_mode=(ENUM_SYMBOL_CALC_MODE)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_CALC_MODE);
      string name=SymbolName(i,false);
      //--- получим значение свойства, описывающего режим заполнения 
      int filling=(int)SymbolInfoInteger(name,SYMBOL_FILLING_MODE);
      Print(name,": ",EnumToString(calc_mode),
            ", filling: ",filling,
            ", SYMBOL_FILLING_FOK: ",IsFillingTypeAllowed(name,SYMBOL_FILLING_FOK),
            ", SYMBOL_FILLING_IOC: ",IsFillingTypeAllowed(name,SYMBOL_FILLING_IOC),
            ", Идентификатор отсутствует: ",IsFillingTypeAllowed(name,NULL));
     }
  }
//+------------------------------------------------------------------+ 
//| проверяет разрешенность указанного режима заполнения             | 
//+------------------------------------------------------------------+ 
bool IsFillingTypeAllowed(string symbol,int fill_type)
  {
//--- получим значение свойства, описывающего режим заполнения 
   int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- вернем true, если режим fill_type разрешен 
   return((filling&fill_type)==fill_type);
  }
//+------------------------------------------------------------------+
Файлы:
Test_ru.mq5  4 kb
 
Karputov Vladimir:

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

И что? 

На высоколиквидных символах FOK вообще не будет срабатывать (просто не будет успевать). 

И при чём в Вашем коде ENUM_SYMBOL_CALC_MODE ?  

 

Просто нужно проверять:

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
int OnInit()
  {
   for(int i=0;i<SymbolsTotal(true);i++)
     {
      string name=SymbolName(i,true);
      Print("Обрабатывается символ: ", name);
      //--- получим значение свойства, описывающего режим заполнения 
      int filling=(int)SymbolInfoInteger(name,SYMBOL_FILLING_MODE);
      if ((filling & SYMBOL_FILLING_IOC ) != SYMBOL_FILLING_IOC)
      Print("Символ ", name, " не поддерживает заливку SYMBOL_FILLING_IOC !" );
     }
     return(INIT_SUCCEEDED);
  }

 Результат:

2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: AUDU-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: AUDU-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: BR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: BR-10.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: BR-11.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: BR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: BR-1.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: CHMF-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: CHMF-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: CY-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: ED-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: ED-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Eu-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Eu-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Eu-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Eu-6.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Eu-9.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: FEES-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: FEES-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GAZR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GAZR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GAZR-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GBPU-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GBPU-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GMKR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GMKR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GOLD-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GOLD-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: GOLD-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: HYDR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: HYDR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: LKOH-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: LKOH-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MGNT-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MGNT-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MOEX-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MOEX-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MTSI-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MTSI-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MXI-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: MXI-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: NOTK-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: NOTK-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: PLD-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: PLT-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: PLT-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: ROSN-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: ROSN-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTKM-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTKM-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-6.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-9.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-12.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-3.18
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: RTS-6.18
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SBPR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SBPR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SBRF-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SBRF-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SBRF-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-3.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-6.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-9.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-12.17
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: Si-3.18
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SILV-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SNGP-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SNGP-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SNGR-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: SNGR-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: TATN-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: TATN-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: TRNF-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: TRNF-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UCAD-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UCAD-12.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UCHF-9.16
2016.08.22 18:58:35.272 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UCHF-12.16
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UJPY-9.16
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: UJPY-12.16
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: VTBR-9.16
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: VTBR-12.16
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Обрабатывается символ: USDFIX
2016.08.22 18:58:35.273 Test_ticks (AUDU-9.16,M1)       Символ USDFIX не поддерживает заливку SYMBOL_FILLING_IOC !
 
prostotrader:

...

И при чём в Вашем коде ENUM_SYMBOL_CALC_MODE ?  

Это сразу проверял, каким образом для фьючерсов заполнен способ вычисления величины залоговых средств. А вот то, почему для разных фьючерсов установлены на торговом сервере разные режимы заполнения - это вопрос к брокеру. Всё (для фьючерсов) должно быть однообразно.
 
Karputov Vladimir:
Это сразу проверял, каким образом для фьючерсов заполнен способ вычисления величины залоговых средств. А вот то, почему для разных фьючерсов установлены на торговом сервере разные режимы заполнения - это вопрос к брокеру. Всё (для фьючерсов) должно быть однообразно.
Почему?
 
Andrey Dik:
Почему?

Одинаковые типы контрактов должны иметь одинаковые свойства. А вот ответ, почему некоторые символы имеют отличные от остальных типы заполнения:

//+------------------------------------------------------------------+
//|                                                         Test.mq5 |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
void OnStart()
  {
   for(int i=0;i<SymbolsTotal(false);i++)
     {
      //ENUM_SYMBOL_CALC_MODE calc_mode=(ENUM_SYMBOL_CALC_MODE)SymbolInfoInteger(Symbol(),SYMBOL_TRADE_CALC_MODE);
      string name=SymbolName(i,false);
      //--- получим значение свойства, описывающего режим заполнения 
      int filling=(int)SymbolInfoInteger(name,SYMBOL_FILLING_MODE);
      if(IsFillingTypeAllowed(name,SYMBOL_FILLING_FOK) && IsFillingTypeAllowed(name,SYMBOL_FILLING_IOC) && 
         IsFillingTypeAllowed(name,NULL))
        {
         //---

        }
      else
        {
         //Print(name,": ",
         //      ", filling: ",filling,
         //      ", SYMBOL_FILLING_FOK: ",IsFillingTypeAllowed(name,SYMBOL_FILLING_FOK),
         //      ", SYMBOL_FILLING_IOC: ",IsFillingTypeAllowed(name,SYMBOL_FILLING_IOC),
         //      ", Идентификатор отсутствует: ",IsFillingTypeAllowed(name,NULL));
         SymbolSelect(name,true);
        }
     }
  }
//+------------------------------------------------------------------+ 
//| проверяет разрешенность указанного режима заполнения             | 
//+------------------------------------------------------------------+ 
bool IsFillingTypeAllowed(string symbol,int fill_type)
  {
//--- получим значение свойства, описывающего режим заполнения 
   int filling=(int)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);
//--- вернем true, если режим fill_type разрешен 
   return((filling&fill_type)==fill_type);
  }
//+------------------------------------------------------------------+

Формируется список в окне "Обзор рынка" с "поломанными" символами. На поверку оказывается, что у всех этих "поломанных символов" торговля отключена.

Файлы:
Test_ru.mq5  4 kb
 

Здравствуйте,

у меня вопрос по поводу устройства терминала.

Например, если послать ордер командой OrderSend(...), получить в ответе true и тикет,

а потом  вызвать команду OrderSelect(тикет), то можно получить в ответе false

(при этом ордер потом появится, именно, среди действующих ордеров).

Вопрос такой: у меня имелся активный ордер. Получил при команде OrderSelect(тикет) в ответе false,

затем выполнил команду HistoryOrderSelect(тикет), то могу ли я получить опять false (т.е. ордер не успел оказаться в истории). 

 
Sergey Kudryavtsev:

Здравствуйте,

у меня вопрос по поводу устройства терминала.

Например, если послать ордер командой OrderSend(...), получить в ответе true и тикет,

а потом  вызвать команду OrderSelect(тикет), то можно получить в ответе false

(при этом ордер потом появится, именно, среди действующих ордеров).

Вопрос такой: у меня имелся активный ордер. Получил при команде OrderSelect(тикет) в ответе false,

затем выполнил команду HistoryOrderSelect(тикет), то могу ли я получить опять false (т.е. ордер не успел оказаться в истории). 

https://www.mql5.com/ru/forum/93098
"Плавающая" ошибка PositionSelect()
"Плавающая" ошибка PositionSelect()
  • отзывов: 1
  • www.mql5.com
Форум трейдеров MQL5.community
Причина обращения: