FORTI. Problemi di applicazione - pagina 75

 
prostotrader:

Il buy-stop non è in uscita alla borsa, ma "in servizio" sul server MT5, quindi,

Se c'è un forte movimento nel mercato delle scommesse, ci può essere uno slippage.

solo gli ordini limite vengono eseguiti al prezzo indicato?
 
Евгений:
solo gli ordini limite vengono eseguiti al prezzo indicato?

Sì, a un prezzo non peggiore di quello indicato nel mandato, se non in tempo, allora

niente viene comprato (venduto).

In questo caso, il metodo di riempimento dell'ordine dovrebbe essere applicato IOC (per quanto tempo ha a disposizione)

request.type_filling=ORDER_FILLING_IOC;
 
prostotrader:

Sì, a un prezzo non peggiore di quello indicato nel mandato, se non in tempo, allora

niente viene comprato (venduto).

In questo caso, il metodo di riempimento dell'ordine vale l'applicazione di IOC (tanto quanto ha tempo di prendere)

Questo approccio non è corretto perché diversi personaggi possono avere diversi tipi di riempimento.

//+------------------------------------------------------------------+
//|                                                         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);
  }
//+------------------------------------------------------------------+
File:
Test_ru.mq5  4 kb
 
Karputov Vladimir:

Questo approccio è sbagliato, perché diversi personaggi possono avere diversi tipi di riempimento.

Quindi?

Sui personaggi ad alto riempimento, FOK non funzionerà affatto (semplicemente non avrà tempo).

E cosa c'entraENUM_SYMBOL_CALC_MODE con il vostro codice?

 

Dovete solo controllare:

//+------------------------------------------------------------------+
//|                                                         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);
  }

Il risultato:

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:

...

E cosa ha a che fare il tuo codice conENUM_SYMBOL_CALC_MODE?

Si controlla immediatamente il modo in cui viene riempito il valore del margine per i futures. Ma perché diversi modi di riempimento sono impostati per diversi futures sul server di trading è una domanda per il broker. Tutto (per i futures) dovrebbe essere lo stesso.
 
Karputov Vladimir:
Ho controllato subito come vengono compilati i futures per calcolare l'importo della garanzia. Ma perché diversi modi di riempimento sono impostati per diversi futures sul server di trading è una domanda per il broker. Tutto (per i futures) dovrebbe essere lo stesso.
Perché?
 
Andrey Dik:
Perché?

Gli stessi tipi di contratto devono avere le stesse proprietà. Ed ecco la risposta al perché alcuni simboli hanno tipi di riempimento diversi da altri:

//+------------------------------------------------------------------+
//|                                                         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);
  }
//+------------------------------------------------------------------+

Viene generata una lista nella finestra di Market Watch con i simboli "rotti". Si scopre che tutti questi "simboli rotti" hanno il commercio disattivato.

File:
Test_ru.mq5  4 kb
 

Salve,

Ho una domanda sul dispositivo terminale.

Per esempio, se si invia un ordine con il comando OrderSend(...), si ottiene una risposta vera e un biglietto,

e poi chiamare il comando OrderSelect(ticket), restituirà false in risposta

(nel qual caso l'ordine apparirà poi, esattamente tra gli ordini attivi).

La mia domanda è: avevo un ordine attivo. Ho ricevuto una risposta falsa con il comando OrderSelect(ticket),

Poi ho eseguito il comando HistoryOrderSelect(ticket), e di nuovo ho ricevuto una risposta falsa (cioè, l'ordine non è riuscito ad apparire nella storia).

 
Sergey Kudryavtsev:

Salve,

Ho una domanda sul dispositivo terminale.

Per esempio, se si invia un ordine con il comando OrderSend(...), si ottiene una risposta vera e un biglietto,

e poi chiamare il comando OrderSelect(ticket), restituirà false in risposta

(nel qual caso l'ordine apparirà poi, esattamente tra gli ordini attivi).

La mia domanda è: avevo un ordine attivo. Ho ricevuto una risposta falsa con il comando OrderSelect(ticket),

Poi ho eseguito il comando HistoryOrderSelect(ticket), e di nuovo ho ricevuto una risposta falsa (cioè, l'ordine non è riuscito ad apparire nella storia).

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