Discussione sull’articolo "Il Metodo Ottimale per il Calcolo del Volume Totale della Posizione in Base al Numero Magico Specificato" - pagina 4

 
jelagins possibile perdita di dati dovuta alla conversione del tipo da 'long' a 'int' eposvoltest.mq5 426 20 , possibile perdita di dati dovuta alla conversione del tipo da 'long' a 'datetime' eposvoltest.mq5 439 32, possibile perdita di dati dovuta alla conversione del tipo da 'long' a 'int' eposvoltest.mq5 456 26, possibile perdita di dati dovuta alla conversione del tipo da 'long' a 'int' eposvoltest.mq5 491 23, il valore di ritorno di 'OrderSend' deve essere controllato eposvoltest.mq5 236 4, il valore di ritorno di 'OrderSend' deve essere controllato eposvoltest.mq5 268 4, '-' - espressione non booleana eposvoltest.mq5 279 14, 'MQL5_TESTING' è deprecato, usare invece 'MQL_TESTER' eposvoltest.mq5 335 23, 'MQL5_TESTING' è deprecato, usare invece 'MQL_TESTER' eposvoltest.mq5 346 23

10.09.2025

Non c'è da stupirsi, visto che il codice risale al 2010!

 
C'era un errore nel codice.
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("...fortunato (#"+IntegerToString(result.order)+")");
      if(aSound)PlaySound("ok");
      return(1);
     }
   else
     {
      Print("...errore"+IntegerToString(result.retcode)+" - "+fTradeRetCode(result.retcode));
      if(aSound)PlaySound("timeout");
      return(-1);
     }
  }

La versione corretta si trova nel trailer.

File:
eposvoltest.mq5  19 kb