FORTS. Questions relatives à l'application de la loi - page 75

 
prostotrader:

Le stop d'achat n'est pas envoyé à la bourse, mais il est "en service" sur le serveur MT5, d'où le fait que le stop d'achat ne soit pas envoyé à la bourse,

S'il y a un fort mouvement sur le marché des paris, il peut y avoir du slippage.

seuls les ordres à cours limité sont exécutés au prix indiqué ?
 
Евгений:
seuls les ordres à cours limité sont exécutés au prix indiqué ?

Oui, à un prix qui n'est pas pire que celui indiqué dans le mandat, si ce n'est pas à temps, alors...

rien n'est acheté (vendu).

Dans ce cas, la méthode d'exécution de la commande doit être appliquée IOC (dans la mesure où elle a le temps de prendre).

request.type_filling=ORDER_FILLING_IOC;
 
prostotrader:

Oui, à un prix qui ne sera pas inférieur à celui indiqué dans le mandat, si ce n'est pas à temps, alors...

rien n'est acheté (vendu).

Dans ce cas, la méthode d'exécution de l'ordre doit appliquer l'IOC (dans la mesure où elle a le temps de prendre).

Cette approche est incorrecte car des caractères différents peuvent avoir des types de remplissage différents.

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

Cette approche est erronée, car différents personnages peuvent avoir différents types de remplissage.

Et alors ?

Sur les personnages à haut niveau de remplissage, les FOK ne fonctionneront pas du tout (ils n'auront tout simplement pas le temps).

Et qu'est-ce queENUM_SYMBOL_CALC_MODE a à voir avec votre code?

 

Vous devez juste vérifier :

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

Le résultat :

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:

...

Et qu'est-ce que votre code a à voir avecENUM_SYMBOL_CALC_MODE ?

On vérifie immédiatement la façon dont la valeur de la marge est remplie pour les contrats à terme. Mais pourquoi différents modes de remplissage sont définis pour différents contrats à terme sur le serveur de négociation est une question pour le courtier. Tout (pour les contrats à terme) devrait être identique.
 
Karputov Vladimir:
J'ai tout de suite vérifié comment les contrats à terme sont remplis pour calculer le montant de la garantie. Mais pourquoi différents modes de remplissage sont définis pour différents contrats à terme sur le serveur de négociation est une question pour le courtier. Tout (pour les contrats à terme) devrait être identique.
Pourquoi ?
 
Andrey Dik:
Pourquoi ?

Les mêmes types de contrats doivent avoir les mêmes propriétés. Et voici la réponse à la question de savoir pourquoi certains symboles ont des types de remplissage différents des autres :

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

Une liste est générée dans la fenêtre Market Watch avec les symboles "cassés". Il s'avère que tous ces "symboles brisés" ont le commerce désactivé.

Dossiers :
Test_ru.mq5  4 kb
 

Bonjour,

J'ai une question concernant le dispositif terminal.

Par exemple, si vous envoyez une commande avec la commande OrderSend(...), vous obtenez une réponse vraie et un ticket,

puis appelez la commande OrderSelect(ticket), elle renverra false en réponse

(dans ce cas, l'ordre apparaîtra alors, exactement parmi les ordres actifs).

Ma question est la suivante : j'avais une commande active. J'ai reçu une fausse réponse avec la commande OrderSelect(ticket),

J'ai ensuite exécuté la commande HistoryOrderSelect(ticket), et j'ai de nouveau reçu une réponse fausse (c'est-à-dire que l'ordre n'a pas réussi à apparaître dans l'historique).

 
Sergey Kudryavtsev:

Bonjour,

J'ai une question concernant le dispositif terminal.

Par exemple, si vous envoyez une commande avec la commande OrderSend(...), vous obtenez une réponse vraie et un ticket,

puis appelez la commande OrderSelect(ticket), elle renverra false en réponse

(dans ce cas, l'ordre apparaîtra alors, exactement parmi les ordres actifs).

Ma question est la suivante : j'avais une commande active. J'ai reçu une fausse réponse avec la commande OrderSelect(ticket),

J'ai ensuite exécuté la commande HistoryOrderSelect(ticket), et j'ai de nouveau reçu une réponse fausse (c'est-à-dire que l'ordre n'a pas réussi à apparaître dans l'historique).

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