見出し画像

【MT4】通貨ペアと時間足を大きく表示するインジケーターの作り方

MT4のチャートって、通貨ペアと時間足が左上に小っちゃく表示されてみづらくないですか?

・今どのチャート開いてるっけ?
・5分足見てると思ったのに、環境認識のために1時間足にしたままだった

なんて事ないですか?

画像1

そこで、今回は通貨ペアを大きく表示するインジケーターの作り方を記事にしていきたいと思います。

通貨ペアと時間足を取得しよう

まずはチャートに表示している通貨ペア名と時間足を取得しないといけませんね。

通貨ペアは、Symbol()というMQLで用意されてる定数で取得が可能です。
時間足については、Period()で取得が可能です。

Period()は「分」が取得される

Period()は分が取得されます。
ですので、1時間足の場合は、「60」、4時間足の場合は「240」って値になります。

60まではいいですが、それ以上になるとパッと見た時にどの足かわからないですよね。

そこで、取得した値で表示する内容を変えるように作ってあげたいと思います。

  string strTime = "";
  switch(Period()){
     case 1:
     case 5:
     case 15:
     case 30:
        strTime = IntegerToString(Period()) + "分";
        break;
     case 60:
        strTime = "1時間";
        break;
     case 240:
        strTime = "4時間";
        break;
     case 1440:
        strTime = "日";
        break;
     case 10080:
        strTime = "週";
        break;
     case 43200:
        strTime = "月";
        break;
     default:
        strTime = "";
        break;
  } 

こんな時は、switch文を使うと簡単ですね。

MT4に表示されてる時間足は、「1H」とか英語表記ですが、
パッと見てわかりやすいように日本語にしようと思います。

ラベルの作成はObjectCreate!

後はラベルを作って表示するだけですね。

string objName = "objCurrency";   
ObjectCreate(objName, OBJ_LABEL, 0, 0, 0);
ObjectSet(objName, OBJPROP_XDISTANCE, 10); 
ObjectSet(objName, OBJPROP_YDISTANCE, 10); 
ObjectSet(objName, OBJPROP_CORNER, 3);
ObjectSetText(objName, Symbol()+ ":" + strTime , 20, "Meiryo UI Bold", clrBlack);

objNameはチャートに表示しているオブジェクトと被らない名前ならなんでも大丈夫です。

時間の表示を日本語にしたので、フォントは日本語表示が可能なフォントを選んでくださいね。

まとめ

通貨ペアと時間足ってとても重要な情報だと思うんですが
なんであんなに小っちゃく表示されてるんでしょうね。。。

小さく表示されてるなら、自分で大きく表示しなおせばOK!
って事で、この記事が役に立つと嬉しいです。

有料の全ソースコードの方では、
表示位置をパラメーターで設定出来たり、
フォントのサイズ、色もパラメーターで変更できるようにしています。

画像2

■左上表示

画像3

■右上表示

画像4

■左下表示

画像5

■右下表示

画像6

■色変更

画像7


インジケーターだけ欲しい方は、私のサイトで配布してます。
ソースコードが欲しい方は有料部分に記載してます。


ここから先は

2,250字
この記事のみ ¥ 500

この記事が気に入ったらサポートをしてみませんか?