HELP !!!! 将一个指标从MT4转换到MT5。 - 页 9

 
o_o:

代码在MT4/5中运行

付出就有回报

奥列克西-波利亚科夫

人们帮助plyz重新制作 MT4下的整数水平指标

我没有能力支付工作费用。如果你有一个好心人,我将非常感激。


指标Key_Levels.mq5,我已经试过了。它在mq4和mq5中工作。它非常舒适,你只需要改变文件的扩展名。然而,当它被从图表中移除时,该指标并没有移除它所画的所有水平线。我不得不在mq4中加入以下代码。

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

大家好。请帮助重做该指标,我的大脑对这样的任务太愚蠢了(该指标在图表的背景上显示货币对的名称和时间框架)。

p.s. 文本字体是"影响"

预先感谢 :)

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

伙计们帮 在MT5上重做指标,请问我试了多少次,没办法,我将感激不尽)。

 

帮助 MTF Fractal MQL4指标转换 为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);
}
 

你好。

如果可以,除非太麻烦,请重新做这个帖子里的mt5指标https://www.mql5.com/ru/code/15437

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

也许有人已经有了?需要重做 tma_centered_bands_arr.mq5,但不要重画

附加的文件:
 
请帮助我将指标 从终端4转换 到终端5。
附加的文件:
CCI_.mq4  5 kb
 
大家好,利润不错。

找到了一个MT5到MT4套装文件转换器--MetaTrader 5的脚本https://www.mql5.com/ru/code/17493 那里

使用顺序。

不幸的是,我不是一个程序员,而是一个很好的用户,坦率地说,我不太了解如何正确使用这个程序。

文件掉到了Files文件夹里,但那下面写的是什么,nihihi不明白。

三个输入参数。

  • 文件 - 允许有选择地进行转换。如何处理这个文件,如果用这个名字创建一个文件夹,那么在哪里?只 需写下你想转换的文件的名称。 我在哪里和哪里写我要转换的文件的名称,也就是说,我必须在一个文件夹中创建一个文本文件,并在其中写上我要转换的文件的名称?
  • SubDirectory - 写下你想保存文件的子文件夹的名称。-你将在什么文件中创建这个子文件夹?
  • 输出目录 - 将保存结果的文件夹名称。-和这个文件夹中创建什么文件?

    如何运行这个脚本来转换它?

对不起,我的法语是用红色写的...
我很感谢每一个愿意告诉我如何使用这个剧本的人....。
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:
大家好,利润不错。

找到了一个MT5到MT4套装文件转换器--MetaTrader 5的脚本https://www.mql5.com/ru/code/17493 那里

使用顺序。

不幸的是,我不是一个程序员,但我是一个好的用户,坦率地说,我不明白如何正确使用这个程序员。

该文件在Files文件夹中,但这是做什么的下面写着nihihi不明白。

三个输入参数。

  • 文件 - 允许有选择地进行转换。如何处理这个文件,如果用这个名字创建一个文件夹,那么在哪里?只 需写下你要转换的文件的名称。 我在哪里和哪里写我要转换的文件的名称,也就是说,我必须在一个文件夹中创建一个文本文件,并在其中写上我要转换的文件的名称?
  • SubDirectory - 写下你想保存文件的子文件夹的名称。-你将在什么文件中创建这个子文件夹?
  • 输出目录 - 将保存结果的文件夹名称。-和这个文件夹中的文件来创建?

    如何运行这个脚本,让它转换什么?

对不起,我的法语是用红色写的...
我很感谢每一个愿意告诉我如何使用这个剧本的人....。

它可以转换策略指标预设文件.set


从源代码来看,说明如下。

战略测试仪。

1.MT5菜单,点击文件->打开数据文件夹

2.进入文件夹Tester

3.创建一个文件夹Files(如果它不存在)。

4.在这里再创建一个文件夹,其名称将与输入的SubDirectory参数的值相同。例如,TestSet。

5.在输出目录参数中,命名一个要转换的文件夹。如果它不存在,MT5将创建它。

6.在你在步骤4中创建的文件夹中,放置MT5的.set文件。

7.用这个指标启动策略测试器。

8.在第5点的文件夹中,你会发现MT4的.set vile。


真实的图表。

1.MT5在菜单中按文件->打开数据文件夹

2.转到 "文件 "文件夹

3.这里创建另一个文件夹,其名称将与传入的SubDirectory参数值相同。例如,TestSet。

4.在输出目录参数中,要转换的文件夹的名称。如果它不存在,MT5将创建它。

5.在你在步骤4中创建的文件夹中,放置MT5的.set文件。

6.用这个指标启动策略测试器。

7.在第5点的文件夹中,你会发现一个MT4 .set。


我没有测试该指标本身,但根据代码,它应该这样工作

 

不允许反编译!!!。