Discussion de l'article "La Méthode Optimale pour le calcul du volume total de la position par Nombre Magique Indiqué" - page 4

 
jelagins possible loss of data due to type conversion from 'long' to 'int' eposvoltest.mq5 426 20 , possible loss of data due to type conversion from 'long' to 'datetime' eposvoltest.mq5 439 32, possible loss of data due to type conversion from 'long' to 'int' eposvoltest.mq5 456 26, possible loss of data due to type conversion from 'long' to 'int' eposvoltest.mq5 491 23, la valeur de retour de 'OrderSend' doit être vérifiée eposvoltest.mq5 236 4, la valeur de retour de 'OrderSend' doit être vérifiée eposvoltest.mq5 268 4, '-' - expression non booléenne eposvoltest.mq5 279 14, 'MQL5_TESTING' est obsolète, utilisez 'MQL_TESTER' à la place eposvoltest.mq5 335 23, 'MQL5_TESTING' est obsolète, utilisez 'MQL_TESTER' à la place de eposvoltest.mq5 346 23

10.09.2025

Il n'y a rien de surprenant à cela, étant donné que le code date de 2010 !

 
Une erreur s'est glissée dans le code.
bool fOpSell(string aSymbol,double aVolume=0.1,int aSlippage=0,int aMagic=0,string aComment="",string aMessage="",bool aSound=false)
  {
   request.symbol=aSymbol;
   request.action=TRADE_ACTION_DEAL;
   request.type=ORDER_TYPE_SELL;
   request.volume=aVolume;
   request.price=SymbolInfoDouble(aSymbol,SYMBOL_BID);
   request.sl=0;
   request.tp=0;
   request.deviation=aSlippage;
   request.type_filling=ORDER_FILLING_FOK;
   request.comment=aComment;
   request.magic=aMagic;
   if(aMessage!="")Print(aMessage);
   if(aSound)PlaySound("expert");
   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)
     {
      Print("...lucky (#"+IntegerToString(result.order)+")");
      if(aSound)PlaySound("ok");
      return(1);
     }
   else
     {
      Print("...erreur"+IntegerToString(result.retcode)+" - "+fTradeRetCode(result.retcode));
      if(aSound)PlaySound("timeout");
      return(-1);
     }
  }

La version corrigée se trouve dans la bande-annonce.

Dossiers :
eposvoltest.mq5  19 kb