Aide à la mise à niveau vers MetaTrader 5 sans perte de données - page 6

 
Serj74 :
Merci beaucoup.
Le deuxième est prêt, désolé d'avoir mis si longtemps, je n'ai pas pu accéder à l'ordinateur pendant une semaine.
Dossiers :
macd-rsi.mq5  7 kb
 
vdv2001 :
Le deuxième est prêt, désolé d'avoir mis si longtemps, je n'ai pas pu accéder à mon ordinateur pendant une semaine.
Merci.
 

Pour vdv2001

Il est peut-être trop tard, mais je voudrais quand même vous demander de traduire ces trois indicateurs en MKL 5, dont deux sont réalisés par Rosh. Malheureusement, je suis moi-même un parfait imbécile en matière de programmation.

Dossiers :
 
En outre, il ya un groupe d'indicateurs pour le système de négociation ASTTREND (peut-être que vous vous souvenez quand il était populaire), si vous ne refusez pas, je peux vous envoyer et eux à transférer à MKL 5 (il ya 6 indicateurs, trois de la principale, et le reste caractère de service)
 
vdv2001:
Le deuxième est prêt, désolé d'avoir mis si longtemps, je n'ai pas pu accéder à mon ordinateur pendant une semaine.
J'aurais probablement dû écrire dans le style d'une réponse au message concerné. Si c'est le cas, veuillez prendre note de mes deux messages précédents. merci d'avance de votre attention
 

  iBarBegin = iBarShift(NULL, 0, dtTimeBegin);
  iBarEnd = iBarShift(NULL, 0, dtTimeEnd);
  dPriceHigh = High[Highest(NULL, 0, MODE_HIGH, iBarBegin-iBarEnd, iBarEnd)];
  dPriceLow = Low [Lowest (NULL, 0, MODE_LOW , iBarBegin-iBarEnd, iBarEnd)];

Comment puis-je écrire ce code dans MT5 ?

J'ai trouvé la procédure iBarShift sur le forum, mais le copyleader jure sur la fonction TFMigrate qu'elle n'existe pas :

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(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  } 

 
eminsk:

  iBarBegin = iBarShift(NULL, 0, dtTimeBegin);
  iBarEnd = iBarShift(NULL, 0, dtTimeEnd);
  dPriceHigh = High[Highest(NULL, 0, MODE_HIGH, iBarBegin-iBarEnd, iBarEnd)];
  dPriceLow = Low [Lowest (NULL, 0, MODE_LOW , iBarBegin-iBarEnd, iBarEnd)];

Comment puis-je écrire ce code dans MT5 ?

J'ai trouvé la procédure iBarShift sur le forum, mais le copyleader jure sur la fonction TFMigrate qu'elle n'existe pas :

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(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  } 

Voir la transition du MQL4 au MQL5
 

Veuillez réécrire l'indicateur MultiInstrument ou un indicateur similaire pour superposer le graphique d'un instrument sur un autre.


 

Indicateurs très nécessaires, est-il possible de faire quelque chose de similaire dans mt5?

Dossiers :
ind.rar  3 kb
 

Процедуру iBarShift я нашел на форуме, но копилятор ругается на функцию TFMigrate что она не существует:

ENUM_TIMEFRAMES TFMigrate(int tf){switch(tf) { case 0: return(PERIOD_CURRENT);   case 1: return(PERIOD_M1);      case 5: return(PERIOD_M5);   case 15: return(PERIOD_M15);
                                               case 30: return(PERIOD_M30);      case 60: return(PERIOD_H1);     case 240: return(PERIOD_H4); case 1440: return(PERIOD_D1);
                                               case 10080: return(PERIOD_W1);    case 43200: return(PERIOD_MN1); default: return(PERIOD_CURRENT);}}
Et voilà.
Raison: