HELP !!!! convertire un indicatore da MT4 a MT5. - pagina 9

 
o_o:

Il codice funziona in MT4/5

Paga in avanti

Olexiy Polyakov:

La gente aiuta plyz a rifare l'indicatore di livello del numero tondo da MT4 sotto MT5.

Non posso permettermi di pagare il lavoro. Se avete una persona gentile, ve ne sarò molto grato.


L'indicatoreKey_Levels.mq5, l'ho provato. Funziona in mq4 e mq5. È molto comodo, basta cambiare l'estensione del file. Tuttavia, quando viene rimosso dal grafico, l'indicatore non rimuove tutte le linee orizzontali disegnate da esso. Ho dovuto aggiungere il seguente codice a mq4:

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

Ciao a tutti. Per favore aiutatemi a rifare l'indicatore, il mio cervello è troppo stupido per un tale compito (l'indicatore mostra il nome della coppia di valute e il time frame sul retro del grafico).

p.s. il font del testo è"impact"

grazie in anticipo :)

//+------------------------------------------------------------------+
//|                                                    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);
}
 

ragazzi aiutatemi a rifare l'indicatore su mt5 per favore quante volte ho provato, non c'è modo, sarei grato per la vita)

 

Aiuto per convertire l'indicatore MTF Fractal MQL4 in 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);
}
 

Salve.

Se puoi, e a meno che non sia troppo difficile, per favore rifai l'indicatore mt5 da questo post https://www.mql5.com/ru/code/15437

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

Forse qualcuno ne ha già uno? Necessità di rifare tma_centered_bands_arr.mq5 ma senza ridisegnare

 
Per favore, aiutatemi a convertire l'indicatore dal terminale 4 al terminale 5.
File:
CCI_.mq4  5 kb
 
Ciao a tutti e buoni profitti.

Ho trovato unMT5 to MT4 Set File Converter - uno script per MetaTrader 5https://www.mql5.com/ru/code/17493

Ordine di utilizzo.

Purtroppo, non sono un programmatore ma un buon utente, francamente non capisco bene come usare questa programulina scritta correttamente.

File caduto nella cartella Files, ma è quello che fare con esso sotto scritto nihihi non capire.

Tre parametri di input:

  • File - permette una conversione selettiva. Cosa fare con questo file, se creare una cartella con questo nome allora dove? Basta scrivere i nomi dei file che volete convertire. Dove e come devo scrivere i nomi dei file che voglio convertire, cioè devo creare un file di testo in una cartella e scrivere in esso i nomi dei file che voglio convertire?
  • SubDirectory - scrivi il nome della sottocartella dove vuoi salvare i file. - In quale file creereste questa sottocartella?
  • Output Directory - nome della cartella in cui verranno salvati i risultati. - e questa cartella in quale file creare?

    Come eseguire questo script per convertirlo?

Scusate il mio francese scritto in rosso...
Sono grato a tutti coloro che mi diranno come usare questo 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:
Ciao a tutti e buoni profitti.

Ho trovato unMT5 to MT4 Set File Converter - uno script per MetaTrader 5https://www.mql5.com/ru/code/17493

Ordine di utilizzo.

Purtroppo, non sono un programmatore, ma sono un buon utente, francamente parlando, non capisco come usare correttamente questo programmatore.

Il file è nella cartella Files, ma è quello che fare sotto scritto nihihi non capire.

Tre parametri di input:

  • File - permette una conversione selettiva. Cosa fare con questo file, se creare una cartella con questo nome dove? Basta scrivere i nomi dei file che volete convertire. Dove e come devo scrivere i nomi dei file che voglio convertire, cioè devo creare un file di testo in una cartella e scrivere in esso i nomi dei file che voglio convertire?
  • SubDirectory - scrivi il nome della sottocartella dove vuoi salvare i file. - In quale file creereste questa sottocartella?
  • Output Directory - nome della cartella in cui verranno salvati i risultati. - e questa cartella in quale file creare?

    Come eseguire questo script che ha convertito qualcosa?

Scusate il mio francese scritto in rosso...
Sono grato a tutti coloro che mi diranno come usare questo script....

Converte i file di preimpostazione degli indicatori di strategia .set


A giudicare dal codice sorgente, le istruzioni sono le seguenti:

Tester di strategia:

1.MT5 menu, fare clic su File -> Apri cartella dati

2.Vai alla cartella Tester

3. Creare una cartella Files (se non esiste)

4. Create qui un'altra cartella, e il suo nome sarà lo stesso del valore del parametro SubDirectory inserito. Per esempio TestSet.

5.Nel parametro Output Directory, nomina una cartella in cui convertire. Se non esiste, MT5 lo creerà.

6. Nella cartella che avete creato al punto 4, mettete il file .set di MT5.

7. Avvia lo Strategy Tester con questo indicatore.

8. Nella cartella al punto 5, troverete il vile MT4 .set.


Grafico reale:

1.MT5 nel menu premere File -> Apri cartella dati

2.Vai alla cartella Files

3.Qui create un'altra cartella e il nome sarà lo stesso del valore del parametro SubDirectory in arrivo. Per esempio TestSet.

4.Nel parametro Output Directory il nome della cartella da convertire. Se non esiste, MT5 lo creerà.

5. Nella cartella che avete creato al punto 4, mettete il file .set di MT5.

6. Avvia lo Strategy Tester con questo indicatore.

7. Nella cartella al punto 5, troverete un MT4 .set.


Non ho testato l'indicatore stesso, ma secondo il codice dovrebbe funzionare così

 

NESSUNA DECOMPILAZIONE PERMESSA!!!

Motivazione: