AYUDA !!!! convertir un indicador de MT4 a MT5. - página 9

 
o_o:

El código se ejecuta en MT4/5

Paga por ello

Olexiy Polyakov:

La gente ayuda a plyz a rehacer el indicador de nivel de número redondo de MT4 bajo MT5.

No puedo pagar el trabajo. Si tiene una persona amable, le estaré muy agradecido.


El indicadorKey_Levels.mq5, lo he probado. Funciona en mq4 y mq5. Es muy cómodo, sólo hay que cambiar la extensión del archivo. Sin embargo, cuando se elimina del gráfico, el indicador no elimina todas las líneas horizontales dibujadas por él. Tuve que añadir el siguiente código a mq4:

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

Hola a todos. Por favor, ayuda a rehacer el indicador, mi cerebro es demasiado estúpido para tal tarea (el indicador muestra el nombre del par de divisas y el marco de tiempo en la parte posterior del gráfico).

p.d. la fuente del texto es"impact"

gracias de antemano :)

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

chicos ayudenme a rehacer el indicador en mt5 por favor cuantas veces lo intente, ni modo, se los agradeceria de por vida)

 

Ayuda para convertir el indicador MTF Fractal MQL4 a 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);
}
 

Hola.

Si puedes, y a no ser que sea mucha molestia, por favor vuelve a hacer el indicador de mt5 de este post https://www.mql5.com/ru/code/15437

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

¿Quizás alguien ya tiene uno? Hay que rehacer tma_centered_bands_arr.mq5 pero sin redibujar

Archivos adjuntos:
 
Por favor, ayúdenme a convertir el indicador del terminal 4 al terminal 5.
Archivos adjuntos:
CCI_.mq4  5 kb
 
Hola a todos y buenas ganancias.

Encontrado unMT5 a MT4 Set File Converter - un script para MetaTrader 5https://www.mql5.com/ru/code/17493 allí

Orden de uso.

Por desgracia, no soy un programador, pero un buen usuario, francamente no entender cómo utilizar este programulina correctamente escrito.

Archivo cayó a la carpeta de archivos, pero eso es lo que hay que hacer con él por debajo de nihihi escrito no entiende.

Tres parámetros de entrada:

  • Archivo: permite la conversión selectiva. ¿Qué hacer con este archivo, si crear una carpeta con este nombre entonces dónde? Sólo tienes que escribir los nombres de los archivos que quieres convertir. ¿Dónde y cómo debo escribir los nombres de los archivos que quiero convertir, es decir, debo crear un archivo de texto en una carpeta y escribir en él los nombres de los archivos que quiero convertir?
  • SubDirectorio - escriba el nombre de la subcarpeta donde quiere guardar los archivos. - ¿En qué archivo crearía esta subcarpeta?
  • Directorio de salida: nombre de la carpeta en la que se guardarán los resultados. - y esta carpeta en qué archivo crear?

    ¿Cómo ejecutar este script para convertirlo?

Perdón por mi francés escrito en rojo...
Agradezco a todos los que me digan cómo utilizar este 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:
Hola a todos y buenas ganancias.

Encontrado unMT5 a MT4 Set File Converter - un script para MetaTrader 5https://www.mql5.com/ru/code/17493 allí

Orden de uso.

Desgraciadamente, no soy un programador, pero soy un buen usuario, francamente hablando, no entiendo cómo utilizar este programador correctamente.

El archivo está en la carpeta Archivos, pero eso es lo que hay que hacer a continuación escrito nihihi no entender.

Tres parámetros de entrada:

  • Archivo - permite la conversión selectiva. ¿Qué hacer con este archivo, si crear una carpeta con este nombre entonces dónde? Sólo tienes que escribir los nombres de los archivos que quieres convertir. ¿Dónde y cómo debo escribir los nombres de los archivos que quiero convertir, es decir, debo crear un archivo de texto en una carpeta y escribir en él los nombres de los archivos que quiero convertir?
  • SubDirectorio - escriba el nombre de la subcarpeta donde quiere guardar los archivos. - ¿En qué archivo crearía esta subcarpeta?
  • Directorio de salida: nombre de la carpeta en la que se guardarán los resultados. - y esta carpeta en que archivo crear?

    ¿Cómo ejecutar este script que convirtió algo?

Perdón por mi francés escrito en rojo...
Agradezco a todos los que me digan cómo utilizar este script....

Convierte los archivos de preajuste de indicadores de estrategia .set


A juzgar por el código fuente, las instrucciones son las siguientes:

Probador de estrategias:

1.Menú MT5, haga clic en Archivo -> Abrir carpeta de datos

2.Ir a la carpeta Tester

3.Crear una carpeta Files (si no existe)

4. Cree aquí una carpeta más, y su nombre será el mismo que el valor del parámetro SubDirectorio de entrada. Por ejemplo, TestSet.

5.En el parámetro Directorio de salida, nombre una carpeta a la que convertir. Si no existe, MT5 lo creará.

6. En la carpeta que creó en el paso 4, coloque el archivo .set de MT5.

7. Inicie el Probador de Estrategias con este indicador.

8. En la carpeta del punto 5, se encuentra el vil de MT4 .set.


Gráfico real:

1.MT5 en el menú pulse Archivo -> Abrir carpeta de datos

2.Vaya a la carpeta Files

3.Aquí crea otra carpeta y el nombre será el mismo que el valor del parámetro SubDirectorio entrante. Por ejemplo, TestSet.

4.En el parámetro Directorio de Salida el nombre de la carpeta a convertir. Si no existe, MT5 lo creará.

5. En la carpeta que creó en el paso 4, coloque el archivo .set de MT5.

6. Inicie el Probador de Estrategias con este indicador.

7. En la carpeta del punto 5, encontrará un MT4 .set.


No he probado el indicador en sí, pero según el código debería funcionar así

 

¡¡¡NO SE PERMITE LA DESCOMPILACIÓN!!!

Razón de la queja: