AIDE ! !!! convertir un indicateur de MT4 à MT5. - page 9

 
o_o:

Le code fonctionne dans MT4/5

Pay It Forward

Olexiy Polyakov:

People help plyz remake round number level indicator from MT4 under MT5.

Je n'ai pas les moyens de payer les travaux. Si vous avez une personne aimable, je vous en serai très reconnaissant.


L'indicateurKey_Levels.mq5, je l'ai essayé. Il fonctionne dans mq4 et mq5. C'est très confortable, il suffit de changer l'extension du fichier. Cependant, lorsqu'il est retiré du graphique, l'indicateur ne supprime pas toutes les lignes horizontales qu'il a tracées. J'ai dû ajouter le code suivant à mq4 :

void OnDeinit(const int reason){ Comment(""); ObjectsDeleteAll(0,"Round"); }
 

Bonjour à tous. S'il vous plaît, aidez-nous à refaire l'indicateur, mon cerveau est trop stupide pour une telle tâche (l'indicateur affiche le nom de la paire de devises et le cadre temporel au dos du graphique).

p.s. La police du texte est"impact".

Merci d'avance :)

//+------------------------------------------------------------------+
//|                                                    Watermark.mq4 |
//|                                          Copyright © M00SE  2011 |
//|                                                                  |
//|                      W A T E R M A R K                           |
//|                                                                  |
//| This indicator will display a symbol watermark on the chart      |
//| background, showing the timeframe and symbol name in large font. |
//|                                                                  |
//| Version 1 - 16 Jun 2011                                          |
//|                                                                  |
//|                                                                  |
//| Instructions                                                     |
//|                                                                  |
//| Choose the symbol you're interested in and display it in a chart |
//| window at the appropriate timeframe. Load the Watermark          |
//| indicator and optionally choose font, size, colour, position etc.|
//| Additionally you may choose to add some custom text of your own, |
//| eg. web link, email address etc. in a tag field.                 |
//|                                                                  |
//| That's it!                                                       |
//| Hope you like it, MOOSE.                                         |
//|                                                                  |
//+------------------------------------------------------------------+

#property copyright "Copyright © M00SE  2011"

#property indicator_chart_window

//---- input parameters
extern int sidFontSize = 140;
extern string sidFontName = "Ariel";
extern string NoteRedGreenBlue = "Red/Green/Blue each 0..255";
extern int sidRed = 30;
extern int sidGreen = 30;
extern int sidBlue = 30;
extern int sidXPos = 30;
extern int sidYPos = 150;

extern bool tagDisplayText = true;
extern string tagText = "[Your Name Here]";
extern int tagFontSize = 20;
extern string tagFontName = "Tahoma";
extern int tagRed = 60;
extern int tagGreen = 30;
extern int tagBlue = 60;
extern int tagXPos = 600;
extern int tagYPos = 550;

//---- data
string SID = "Symbol";
int sidRGB = 0;
string TAG = "Tag";
int tagRGB = 0;
string tf;

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

   switch(Period())
     {  
      case PERIOD_D1:
         tf="d1";
         break;
      case PERIOD_H1:
         tf="h1";
         break;
      case PERIOD_H4:
         tf="h4";
         break;
      case PERIOD_M1:
         tf="m1";
         break;
      case PERIOD_M15:
         tf="m15";
         break;
      case PERIOD_M30:
         tf="m30";
         break;
      case PERIOD_M5:
         tf="m5";
         break;
      case PERIOD_MN1:
         tf="mn1";
         break;
      case PERIOD_W1:
         tf="w1";
         break;
      default:
         tf="Unknown";
         break;
     }

     if(tagRed > 255 || tagGreen > 255  || tagBlue > 255 || sidRed > 255 || sidGreen > 255 || sidBlue > 255)
     {
       Alert("Watermark Red/Green/Blue components must each be in range 0..255");
     }   

     tagRGB = (tagBlue << 16); 
     tagRGB |= (tagGreen << 8);
     tagRGB |= tagRed;

     sidRGB = (sidBlue << 16); 
     sidRGB |= (sidGreen << 8);
     sidRGB |= sidRed;
      
//----
   return(0);
  }

//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

   ObjectDelete(SID);
   ObjectDelete(TAG);
   
//----
   return(0);
  }

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{
   double chartHi, chartLo;
   double range;
   static double prevRange;
   
   chartHi = WindowPriceMax(0);
   chartLo = WindowPriceMin(0);
   range = chartHi - chartLo;

   // need only draw the watermark if the chart range has changed
   if(prevRange != range)
   {
      deinit();
      prevRange = range;
   
      watermark(SID, tf + Symbol(), sidFontSize, sidFontName, sidRGB, sidXPos, sidYPos);
      if(tagDisplayText && StringLen(tagText) > 0)
      {
         watermark(TAG, tagText, tagFontSize, tagFontName, tagRGB, tagXPos, tagYPos); 
      }
   }   
   return(0);
}

void watermark(string obj, string text, int fontSize, string fontName, color colour, int xPos, int yPos)
{
      ObjectCreate(obj, OBJ_LABEL, 0, 0, 0); 
      ObjectSetText(obj, text, fontSize, fontName, colour);
      ObjectSet(obj, OBJPROP_CORNER, 0); 
      ObjectSet(obj, OBJPROP_XDISTANCE, xPos); 
      ObjectSet(obj, OBJPROP_YDISTANCE, yPos);
      ObjectSet(obj, OBJPROP_BACK, true);
}
 

les gars aidez-moi à refaire l'indicateur sur mt5 s'il vous plaît combien de fois je l'ai essayé, pas moyen, je serais reconnaissant pour la vie)

 

Aide pour convertir l'indicateur MTF Fractal MQL4 en MQL 5


//+------------------------------------------------------------------+
//|                                                  MTF Fractal.mq4 |
//|                                         Copyright © 2014, TrueTL |
//|                                            http://www.truetl.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2014, TrueTL"
#property link      "http://www.truetl.com"
#property version "1.40"
#property indicator_chart_window
#property indicator_buffers 2

extern string  Version_140                      = "www.truetl.com";
extern int     Fractal_Timeframe                = 0;
extern int     Maxbar                           = 2000;
extern color   Up_Fractal_Color                 = Red;
extern int     Up_Fractal_Symbol                = 108;
extern color   Down_Fractal_Color               = Blue;
extern int     Down_Fractal_Symbol              = 108;
extern bool    Extend_Line                      = true;
extern bool    Extend_Line_to_Background        = true;
extern bool    Show_Validation_Candle           = true;
extern color   Up_Fractal_Extend_Line_Color     = Red;
extern int     Up_Fractal_Extend_Width          = 0;
extern int     Up_Fractal_Extend_Style          = 2;
extern color   Down_Fractal_Extend_Line_Color   = Blue;
extern int     Down_Fractal_Extend_Width        = 0;
extern int     Down_Fractal_Extend_Style        = 2;

double UpBuffer[], DoBuffer[], refchk, tempref, level;
int barc;

//+------------------------------------------------------------------+
//|                                                             INIT |
//+------------------------------------------------------------------+

int init() {

   SetIndexBuffer(0,UpBuffer);
   SetIndexStyle(0,DRAW_ARROW, DRAW_ARROW, 0, Up_Fractal_Color);
   SetIndexArrow(0,Up_Fractal_Symbol);
   SetIndexBuffer(1,DoBuffer);
   SetIndexStyle(1,DRAW_ARROW, DRAW_ARROW, 0, Down_Fractal_Color);
   SetIndexArrow(1,Down_Fractal_Symbol);
   
   return(0);
}

//+------------------------------------------------------------------+
//|                                                           DEINIT |
//+------------------------------------------------------------------+

int deinit() {
   for (int i = ObjectsTotal(); i >= 0; i--) {
      if (StringSubstr(ObjectName(i),0,12) == "MTF_Fractal_") {
         ObjectDelete(ObjectName(i));
      }
   }
   
   return(0);
}

//+------------------------------------------------------------------+
//|                                                            START |
//+------------------------------------------------------------------+

int start() {
   int i, c, dif;
   tempref =   iHigh(Symbol(), Fractal_Timeframe, 1) + 
               iHigh(Symbol(), Fractal_Timeframe, 51) + 
               iHigh(Symbol(), Fractal_Timeframe, 101);
   
   if (barc != Bars || IndicatorCounted() < 0 || tempref != refchk) {
      barc = Bars;
      refchk = tempref;
   } else
      return(0);
   
   deinit();
   
   if (Fractal_Timeframe <= Period()) Fractal_Timeframe = Period();
   
   dif = Fractal_Timeframe/Period();
   
   if (Maxbar > Bars) Maxbar = Bars-10;
   
   for(i = 0; i < Maxbar; i++) {
      if (iBarShift(NULL,Fractal_Timeframe,Time[i]) < 3) {
         UpBuffer[i] = 0;
         DoBuffer[i] = 0;
         continue;
      }
      UpBuffer[i] = iFractals(NULL,Fractal_Timeframe,1,iBarShift(NULL,Fractal_Timeframe,Time[i]));
      DoBuffer[i] = iFractals(NULL,Fractal_Timeframe,2,iBarShift(NULL,Fractal_Timeframe,Time[i]));
   }
   
   if (Extend_Line) {
      for(i = 0; i < Maxbar; i++) {
         if (UpBuffer[i] > 0) {
            level = UpBuffer[i];
            for (c = i; c > 0; c--) {
               if ((Open[c] < level && Close[c] > level) || (Open[c] > level && Close[c] < level)) 
                  break;
               if (Open[c] <= level && Close[c] <= level && Open[c-1] >= level && Close[c-1] >= level) 
                  break;
               if (Open[c] >= level && Close[c] >= level && Open[c-1] <= level && Close[c-1] <= level) 
                  break;
            }
            DrawLine ("H", i, c, level, Extend_Line_to_Background, Up_Fractal_Extend_Line_Color, Up_Fractal_Extend_Width, Up_Fractal_Extend_Style);
            if (Show_Validation_Candle) UpBuffer[i-2*dif] = level;
            i += dif;         
         }
      }
      
      for(i = 0; i < Maxbar; i++) {
         if (DoBuffer[i] > 0) {
            level = DoBuffer[i];
            for (c = i; c > 0; c--) {
               if ((Open[c] < level && Close[c] > level) || (Open[c] > level && Close[c] < level)) 
                  break;
               if (Open[c] <= level && Close[c] <= level && Open[c-1] >= level && Close[c-1] >= level) 
                  break;
               if (Open[c] >= level && Close[c] >= level && Open[c-1] <= level && Close[c-1] <= level) 
                  break;
            }
            DrawLine ("L", i, c, level, Extend_Line_to_Background, Down_Fractal_Extend_Line_Color, Down_Fractal_Extend_Width, Down_Fractal_Extend_Style);
            if (Show_Validation_Candle) DoBuffer[i-2*dif] = level;
            i += dif;
         }
      }
   }
   
   return(0);
}
//+------------------------------------------------------------------+
//|                                                        DRAW LINE |
//+------------------------------------------------------------------+

void DrawLine (string dir, int i, int c, double lev, bool back, color col, int width, int style) {
   ObjectCreate("MTF_Fractal_"+dir+i,OBJ_TREND,0,0,0,0,0);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_TIME1,iTime(Symbol(),Period(),i));
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_PRICE1,lev);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_TIME2,iTime(Symbol(),Period(),c));
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_PRICE2,lev);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_RAY,0);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_BACK,back);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_COLOR,col);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_WIDTH,width);
   ObjectSet("MTF_Fractal_"+dir+i,OBJPROP_STYLE,style);
}
 

Bonjour.

Si vous le pouvez, et à moins que cela ne soit trop difficile, veuillez refaire l'indicateur mt5 de ce post https://www.mql5.com/ru/code/15437.

Engulfing
Engulfing
  • votes : 11
  • 2016.05.13
  • Vladimir Mametov
  • www.mql5.com
Индикатор отображается на ценовом графике в виде стрелок красного и зеленого цвета. Индикатор в первую очередь может быть полезен для трейдеров, использующих в своей работе свечной анализ. Потому что индикатор формирует сигналы по появлению на ценовом графике свечных фигур бычьего поглощения и медвежьего поглощения. В индикаторе...
 

Peut-être que quelqu'un en a déjà un ? Besoin de refaire tma_centered_bands_arr.mq5 mais sans redécoupage

Dossiers :
 
Veuillez m'aider à convertir l'indicateur de la borne 4 à la borne 5.
Dossiers :
CCI_.mq4  5 kb
 
Bonjour à tous et bons profits.

J'ai trouvé unMT5 to MT4 Set File Converter - un script pour MetaTrader 5https://www.mql5.com/ru/code/17493 ici

Ordre d'utilisation.

Malheureusement, je ne suis pas un programmeur mais un bon utilisateur, franchement pas vraiment comprendre comment utiliser ce programulina correctement écrit.

Fichier déposé dans le dossier Fichiers, mais c'est ce qu'il faut faire avec elle ci-dessous écrit nihihi pas comprendre.

Trois paramètres d'entrée :

  • Fichier - permet une conversion sélective. Que faire avec ce fichier, si on crée un dossier avec ce nom, alors où ? Il suffit d'écrire les noms des fichiers que vous voulez convertir. Où et comment dois-je écrire les noms des fichiers que je veux convertir, c'est-à-dire que je dois créer un fichier texte dans un dossier et y écrire les noms des fichiers que je veux convertir ?
  • SubDirectory - écrivez le nom du sous-dossier où vous voulez enregistrer les fichiers. - Dans quel fichier faut-il créer ce sous-dossier ?
  • Répertoire de sortie - nom du dossier dans lequel les résultats seront enregistrés. - et ce dossier dans quel fichier créer ?

    Comment exécuter ce script pour le convertir ?

Désolé pour mon français écrit en rouge...
Je suis reconnaissant à tous ceux qui me diront comment utiliser ce script.....
MT5 to MT4 Set File Converter
MT5 to MT4 Set File Converter
  • www.mql5.com
Этот скрипт конвертирует многочисленные файлы с расширением .set из формата MetaTrader 5 в формат MetaTrader 4. Это необходимый шаг в процессе оптимизации и запуска кросплатформенных торговых советников. MetaTrader 5 способен загружать файлы .set, созданные в MT4, при этом формат получающегося сохранения несовместим с MetaTrader 4. Этот скрипт...
 
btc.mmd:
Bonjour à tous et bons profits.

J'ai trouvé unMT5 to MT4 Set File Converter - un script pour MetaTrader 5https://www.mql5.com/ru/code/17493 ici

Ordre d'utilisation.

Malheureusement, je ne suis pas un programmeur, mais je suis un bon utilisateur, franchement, je ne comprends pas comment utiliser correctement ce programmeur.

Le fichier est dans le dossier Files, mais c'est ce qu'il faut faire ci-dessous écrit nihihi pas comprendre.

Trois paramètres d'entrée :

  • Fichier - permet une conversion sélective. Que faire avec ce fichier, si on crée un dossier avec ce nom, alors où ? Il suffit d'écrire les noms des fichiers que vous voulez convertir. Où et comment dois-je écrire les noms des fichiers que je veux convertir, c'est-à-dire que je dois créer un fichier texte dans un dossier et y écrire les noms des fichiers que je veux convertir ?
  • SubDirectory - écrivez le nom du sous-dossier où vous voulez enregistrer les fichiers. - Dans quel fichier faut-il créer ce sous-dossier ?
  • Répertoire de sortie - nom du dossier dans lequel les résultats seront enregistrés. - et ce dossier dans quel fichier créer ?

    Comment exécuter ce script pour qu'il convertisse quelque chose ?

Désolé pour mon français écrit en rouge...
Je suis reconnaissant à tous ceux qui me diront comment utiliser ce script.....

Il convertit les fichiers de préréglage d'indicateurs de stratégie .set


A en juger par le code source, les instructions sont les suivantes :

Testeur de stratégie :

1.menu MT5, cliquez sur Fichier -> Ouvrir le dossier de données.

2. allez dans le dossier Tester

3. créer un dossier Fichiers (s'il n'existe pas)

Créez ici un autre dossier, et son nom sera le même que la valeur du paramètre SubDirectory. Par exemple TestSet.

Dans le paramètre Répertoire de sortie, nommez un dossier vers lequel vous souhaitez effectuer la conversion. S'il n'existe pas, MT5 le créera.

6. Dans le dossier que vous avez créé à l'étape 4, placez le fichier .set de MT5.

7. Lancez le testeur de stratégie avec cet indicateur.

8. Dans le dossier numéro 5, vous trouverez le MT4 .set.


Graphique réel :

1.MT5 dans le menu, appuyez sur Fichier -> Ouvrir le dossier de données.

2. allez dans le dossier Files

Créez ici un autre dossier dont le nom sera le même que la valeur du paramètre SubDirectory entrant. Par exemple TestSet.

Dans le paramètre Répertoire de sortie, indiquez le nom du dossier à convertir. S'il n'existe pas, MT5 le créera.

5. Dans le dossier que vous avez créé à l'étape 4, placez le fichier .set de MT5.

6. Lancez le testeur de stratégie avec cet indicateur.

7. Dans le dossier du point 5, vous trouverez un MT4 .set.


Je n'ai pas testé l'indicateur lui-même, mais d'après le code, il devrait fonctionner comme ceci

 

LA DÉCOMPILATION EST INTERDITE !!!