HELP!!MT4からMT5へインジケーターを変換する。 - ページ 9

 
o_o:

MT4/5で動作するコード

ペイ・イット・フォワード

オレクシィ・ポリアコフ

MT4のラウンドナンバーレベルのインジケータを MT5でリメイク するのを手伝ってくれる人。

作品にお金を払う余裕がない。親切な人がいたら、とてもありがたい。


インジケータ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インジケータの MQL5への変換を支援します。


//+------------------------------------------------------------------+
//|                                                  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 to MT4 Set File Converterを 発見- MetaTrader 5用スクリプトhttps://www.mql5.com/ru/code/17493 そこへ

使用順序

残念ながら、私はプログラマーではなく、良いユーザーですが、率直に言って、このprogramulinaが正しく書かれて使用する方法を理解していない。

Filesというフォルダにファイルが落ちたのですが、それをどうすればいいのかがニヒヒと書かれていてよくわかりません。

3つの入力パラメータ。

  • ファイル - 選択的な変換が可能です。このファイルをどうするか、この名前でフォルダを作るとしたらどこにするか?変 換したいファイル名を書き込むだけです。 変換したいファイル名をどこに、どこに書けばいいのか。つまり、フォルダの中にテキストファイルを作成し、そこに変換したいファイル名を書けばいいのか。
  • 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 to MT4 Set File Converterを 発見- MetaTrader 5用スクリプトhttps://www.mql5.com/ru/code/17493 そこへ

使用順序

残念ながら、私はプログラマーではありませんが、良いユーザーです、率直に言って、私はこのプログラマーの正しい使い方を理解していません。

ファイルはFilesフォルダの中にありますが、それは下に書かれたにひひをどうすればいいのかわかりません。

3つの入力パラメータ。

  • ファイル - 選択的な変換が可能です。このファイルをどうするか、この名前でフォルダを作るとしたらどこにするか?変 換したいファイル名を書き込むだけです。 変換したいファイル名をどこに、どこに書けばいいのか。つまり、フォルダの中にテキストファイルを作成し、そこに変換したいファイル名を書けばいいのか。
  • SubDirectory - ファイルを保存するサブフォルダー名を記入してください。- このサブフォルダはどのファイルに作成するのでしょうか?
  • 出力ディレクトリ - 結果を保存するフォルダの名前です。- というフォルダがあり、この中にどのファイルを作成すればいいのか?

    このスクリプトを実行すると、何かが変換されるのですか?

赤で書かれたフランス語ですみません・・・。
このスクリプトの使い方を教えてくれる皆さんには感謝しています...。

ストラテジー・インディケーターのプリセットファイル.setを変換します。


ソースコードから判断すると、以下のような指示になっています。

ストラテジーテスター。

1.MT5メニューの「ファイル」→「データフォルダを開く」をクリックします。

2.フォルダ「Tester」に移動

3.Filesフォルダーを作成する(存在しない場合)。

4.ここにもう一つフォルダを作成し、その名前は入力されたSubDirectoryパラメータの値と同じにします。例えば、TestSet。

5.出力ディレクトリのパラメータで、変換先のフォルダ名を指定します。存在しない場合は、MT5が作成します。

6.手順4で作成したフォルダーに、MT5の.setファイルを配置します。

7.このインジケータでストラテジーテスターを起動します。

8.ポイント5のフォルダの中に、MT4.setのバイルがあります。


リアルチャート

1.メニューのMT5で「ファイル」→「データフォルダを開く」を押す

2.Filesフォルダーに移動

3.ここで、別のフォルダを作成し、名前は入力されたSubDirectoryパラメータ値と同じになります。例えば、TestSet。

4.Output Directoryパラメータに変換先のフォルダの名前を入力します。存在しない場合は、MT5が作成します。

5.手順4で作成したフォルダーに、MT5の.setファイルを配置します。

6.このインジケータでストラテジーテスターを起動します。

7.ポイント5のフォルダの中に、MT4の.setがあります。


インジケータ自体をテストしたわけではありませんが、コードによると次のように動作するはずです。

 

デコンパイル禁止