Discussion de l'article "Migration de MQL4 vers MQL5" - page 9

 
Sergey Pavlov:

Il a été créé en même temps que l'article. Mais il n'y a pas de sens sans fonctions commerciales!

J'ai créé (posté dans kodobase) desfonctions de trading MQL4 qui fonctionnent simultanément avec les fonctions de trading MQL5.

Par conséquent, l'émulateur peut encore avoir un sens.

 
fxsaber:

J'ai créé (téléchargé sur kodobase) desfonctions de négociation MQL4 qui fonctionnent simultanément avec les fonctions de négociation MQL5.

Par conséquent, il peut encore y avoir un sens dans l'émulateur.

https://www.mql5.com/fr/code/16006
MT4Orders
MT4Orders
  • 2016.08.05
  • fxsaber
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 

Plus d'informations sur le sujet.

MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
  • 2016.09.28
  • //www.mql5.com/en/users/marketeer">
  • www.mql5.com
It has been a long time since MetaTrader 5 was released, but MQL products for MetaTrader 4 do still prevail on mql5.com site (both in the codebase, and in the market), and in the Internet in general....
 
buh400:
Je me suis rendu compte que cette question a déjà été soulevée et je dois lire un autre article :) Mes messages peuvent être supprimés

Merci de me dire ce que vous avez compris, quel article lire et comment corriger l'erreur ci-dessus ?

Je comprends ici qu'il s'agit de l'ajout d'un indicateur par l'utilisateur - j'ai donc commenté...
 
MT4Orders
MT4Orders
  • votes : 27
  • 2016.10.10
  • fxsaber
  • www.mql5.com
Parallel use of the MetaTrader 4 and MetaTrader 5 order systems.
 

Je suppose que tout

MQLInfoInteger(MQL5_....


devrait être remplacé par

MQLInfoInteger(MQL_
 

Veuillez corriger

bool IsTesting()
bool MQLInfoInteger(MQL5_TESTING)
IsTesting
Retourne TRUE si un Expert Advisor est en mode test, sinon retourne FALSE.
MQLInfoInteger

bool IsTesting()
  MQLInfoInteger(MQL_TESTER)
IsTesting
Retourne TRUE si un Expert Advisor est en mode test, sinon retourne FALSE.
MQLInfoInteger

MQL5_TESTING dont work please change it to  MQL_TESTER.
IsTesting - Checkup - MQL4 Reference
IsTesting - Checkup - MQL4 Reference
  • docs.mql4.com
IsTesting - Checkup - MQL4 Reference
 
Enum MAIN_SIGNAL_MODE { MODE_MAIN , MODE_SIGNAL}; 

enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };

2 même définition créer une erreur corriger cette erreur svp.
 

iBarShift ne fonctionne pas.

Mon exécution n'est pas tout à fait sûre, mais elle fonctionne correctement et semble logique.

int iBarShift(string symbol,int tf,datetime time,bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(time1<time){
      return(0); /// Si l'heure donnée est inférieure à l'heure d'ouverture du bar
   }
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      return(ArraySize(Arr));
     }
   else return(-1);
  }
 

Je ne comprends pas comment utiliser la fonction

bool ObjectSetMQL4(string name,
                   int index,
                   double value)
  {
   switch(index)
     {
      case OBJPROP_TIME1:
         ObjectSetInteger(0,name,OBJPROP_TIME,(int)value);return(true);
      case OBJPROP_PRICE1:
         ObjectSetDouble(0,name,OBJPROP_PRICE,value);return(true);
      case OBJPROP_TIME2:
         ObjectSetInteger(0,name,OBJPROP_TIME,1,(int)value);return(true);
      case OBJPROP_PRICE2:
         ObjectSetDouble(0,name,OBJPROP_PRICE,1,value);return(true);
      case OBJPROP_TIME3:
         ObjectSetInteger(0,name,OBJPROP_TIME,2,(int)value);return(true);
      case OBJPROP_PRICE3:
         ObjectSetDouble(0,name,OBJPROP_PRICE,2,value);return(true);
      case OBJPROP_COLOR:
         ObjectSetInteger(0,name,OBJPROP_COLOR,(int)value);return(true);
      case OBJPROP_STYLE:
         ObjectSetInteger(0,name,OBJPROP_STYLE,(int)value);return(true);
      case OBJPROP_WIDTH:
         ObjectSetInteger(0,name,OBJPROP_WIDTH,(int)value);return(true);
      case OBJPROP_BACK:
         ObjectSetInteger(0,name,OBJPROP_BACK,(int)value);return(true);
      case OBJPROP_RAY:
         ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,(int)value);return(true);
      case OBJPROP_ELLIPSE:
         ObjectSetInteger(0,name,OBJPROP_ELLIPSE,(int)value);return(true);
      case OBJPROP_SCALE:
         ObjectSetDouble(0,name,OBJPROP_SCALE,value);return(true);
      case OBJPROP_ANGLE:
         ObjectSetDouble(0,name,OBJPROP_ANGLE,value);return(true);
      case OBJPROP_ARROWCODE:
         ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(int)value);return(true);
      case OBJPROP_TIMEFRAMES:
         ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES,(int)value);return(true);
      case OBJPROP_DEVIATION:
         ObjectSetDouble(0,name,OBJPROP_DEVIATION,value);return(true);
      case OBJPROP_FONTSIZE:
         ObjectSetInteger(0,name,OBJPROP_FONTSIZE,(int)value);return(true);
      case OBJPROP_CORNER:
         ObjectSetInteger(0,name,OBJPROP_CORNER,(int)value);return(true);
      case OBJPROP_XDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_XDISTANCE,(int)value);return(true);
      case OBJPROP_YDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_YDISTANCE,(int)value);return(true);
      case OBJPROP_FIBOLEVELS:
         ObjectSetInteger(0,name,OBJPROP_LEVELS,(int)value);return(true);
      case OBJPROP_LEVELCOLOR:
         ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,(int)value);return(true);
      case OBJPROP_LEVELSTYLE:
         ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,(int)value);return(true);
      case OBJPROP_LEVELWIDTH:
         ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,(int)value);return(true);

      default: return(false);
     }
   return(false);
  }

Le compilateur avertit

'OBJPROP_TIME1' - identifiant non déclaré TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_TIME1' - expression constante requise TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_PRICE1' - identificateur non déclaré TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_PRICE1' - expression constante requise TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_TIME2' - identificateur non déclaré TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_TIME2' - expression constante obligatoire TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_PRICE2' - identificateur non déclaré TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_PRICE2' - expression constante requise TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_TIME3' - identificateur non déclaré TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_TIME3' - expression constante requise TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_PRICE3' - identificateur non déclaré TZ_Sky_and_Ground_V_04.mq5 2901 12
'OBJPROP_PRICE3' - expression constante requise TZ_Sky_and_Ground_V_04.mq5 2901 12