Questions des débutants MQL5 MT5 MetaTrader 5 - page 28

 
Merci. Juste ce dont j'ai besoin. J'ai fait un script et... ...l'a mesuré. Erreur TERMINAL_MEMORY_TOTAL et TERMINAL_MEMORY_AVAILABLE dans la documentation, je n'ai jamais compris ce qu'ils donnent et dans quelles mesures, mais il semble que ce ne soit pas ce qui est prévu.
 
paladin800:

Veuillez indiquer comment vérifier les conditions dans le code, par ex :

Cumulativement, 1 est le plus normal.
 
J'utilise la bibliothèque standard pour obtenir l'offre actuelle :

CSymbolInfo m_symbol;

m_symbol.Bid()


Dans le testeur (All ticks, M1) j'obtiens que ce n'est pas l'offre actuelle mais le prix d'ouverture de la barre. J'ai peut-être manqué quelque chose ? Comment vérifier correctement le prix sur les ticks pour obtenir des résultats corrects dans le testeur ?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
tyun:
J'utilise la bibliothèque standard pour obtenir l'offre actuelle :

CSymbolInfo m_symbol;

m_symbol.Bid()


Dans le testeur (All ticks, M1) j'obtiens que ce n'est pas l'offre actuelle mais le prix d'ouverture de la barre. J'ai peut-être manqué quelque chose ? Comment vérifier correctement le prix sur les ticks pour obtenir des résultats corrects dans le testeur ?

https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinforefreshrates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
  • www.mql5.com
Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates - Документация по MQL5
 

J'ouvre une transaction en utilisant CTrade avec un stop loss.

Et comment puis-je attraper le moment de la clôture d'une transaction par Stop Loss dans la méthode OnTrade ou OnTransactionTrade ?

Je connais le ticket, je connais le cadran, mais ils sont toujours différents dans OnTransactionTrade (même si je comprends pourquoi).

 
WiND:

J'ouvre une transaction en utilisant CTrade avec un stop loss.

Et comment puis-je attraper le moment de la clôture d'une transaction par Stop Loss dans la méthode OnTrade ou OnTransactionTrade ?

Je connais le ticket, je connais le cadran, mais ils sont toujours différents dans OnTransactionTrade (même si je comprends pourquoi).

À partir du commentaire, vous pouvez savoir si la position a été fermée par le Stop Loss/TakeProfit. Pour le Stop Loss vérifiez le sl dans le commentaire et pour le Take Profit tp.
 
tol64:
Selon le commentaire, nous pouvons savoir si la position a été fermée par le Stop Loss/TakeProfit. Pour le Stop Loss, vérifiez le commentaire sl, et pour le Take Profit, vérifiez le tp.

J'ai pensé au commentaire, mais si je me souviens bien, les commentaires peuvent être modifiés par le serveur.

En général, je ne me soucie pas de savoir si elle est fermée par stoploss, takeprofit ou manuellement.

L'essentiel est d'identifier le moment de la fermeture d'un certain ordre.

 
WiND:

J'ai pensé au commentaire, mais si je me souviens bien, les commentaires peuvent être modifiés par le serveur.

En général, je ne me soucie pas de savoir si elle est fermée par stoploss, takeprofit ou manuellement.

L'essentiel est d'identifier le moment de la fermeture d'un certain ordre.

Vous pouvez également utiliser l'identifiant DEAL_ENTRY_OUT de l'énumération ENUM_DEAL_ENTRY pour comprendre que la position a été fermée.

Référence : Propriétés des métiers.

 

Bonjour !

J'ai un EA en MQl4 qui doit être converti en MQL5. Veuillez m'aider à comprendre la fonction CopyBuffer().

Dans MQl4, le code ressemble à ceci :

....
int start()
{ 
   induk_real1 = iCustom(NULL, PERIOD_H1, "Laguerre", gamma, 950, 0, 0);
   induk1 = NormalizeDouble(induk_real1,2);
 
   if(OrdersTotal( )<1){
  
   if(induk1==1) {

......
}}}

Dans MQL5, cela ressemble à ceci. L'erreur 'CopyBuffer' - aucune des surcharges ne peut être appliquée à l'appel de fonction.

....
int OnInit()
  {
   SymbolSelect(_Symbol,true);
   induk_handle = iCustom(NULL,PERIOD_H1,"Laguerre",gamma); 
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
   CopyBuffer(induk_handle,0,1,2,induk_real1);
   induk1 = NormalizeDouble(induk_real1,2);
   
    if(OrdersTotal()<1){
    if(induk1==1) {
    ......
     }}}   
 
Aid:

Bonjour !

J'ai un EA en MQl4 qui doit être converti en MQL5. Veuillez m'aider à comprendre la fonction CopyBuffer().

Dans MQl4, le code ressemble à ceci :

Dans MQL5, cela ressemble à ceci. L'erreur 'CopyBuffer' - aucune des surcharges ne peut être appliquée à l'appel de fonction.

induk_real1 - il devrait y avoir un tableau.
Raison: