はじめに
MT4で自作インジケータを作ると、自分が欲しい情報をチャート上に表示できます。
「難しそう…」と思うかもしれませんが、プログラミング初心者でも簡単に作れるサンプルから始められます。
- スワップポイントを表示したい
- 特定の条件で通知したい
- 自分オリジナルの表示形式にしたい
こうしたニーズに応えるのが、自作インジケータです。
インジケータファイルを新規作成する
ではインジケータの作り方を見ていきましょう。
MT4の画面上部にある メタエディタ ボタンをクリックして、MetaEditorを開きます。

「ファイル」→「新規作成」を選択。

「カスタムインディケータ」を選んで「次へ」。

名前や著作者情報、リンク先を入力します。
例:
- 名前:
CHK_swap
- 著作者:
Copyright 2020, mef Software
- リンク:https://fx-prog.com/

そのまま「次へ」ボタンをクリックします。

そのまま「完了」ボタンをクリックします。

完了ボタンを押すとソースコードが表示されます。これで、インジケータファイルの新規作成は完了です。
ソースを書く
新規作成したファイルにコードを入力します。
今回は、スワップタイプを表示する簡単なサンプルです。
//+------------------------------------------------------------------+
//| CHK_swap.mq4 |
//| Copyright 2020, mef Software |
//| https://fx-prog.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, mef Software"
#property link "https://fx-prog.com/"
#property version "1.00"
#property indicator_chart_window
double prevtime;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
double KekkaLong = 0;
double KekkaShort = 0;
//新しい足ができた時だけやる
if(Time[0] != prevtime){
prevtime = Time[0];
}else{
return(0);
}
//スワップタイプ取得(0:pips, 1:決済通貨, 2:金利, 3:証拠金通貨)
int swap_type = MarketInfo(Symbol(),MODE_SWAPTYPE);
Comment("スワップタイプは",swap_type ,"です。");
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
コンパイルする
ソースコードのプログラミング(上記ソースコードのコピペ)ができたら、画面上部赤枠の「コンパイル」ボタンをクリックしコンパイルします。コンパイル後、画面下部赤枠のようにエラーになっていない事を確認します。

※エラーだと以下のような感じになるのでプログラムを見直しましょう

以上でコンパイル作業は完了です。
チャート上に反映する
次に、コンパイルしたインジケータをチャート上に反映します。
MT4画面の、「ナビゲータ」からインディケータの下にある「CHK_Swap※自分でつけた名前」を見つけて右クリックし、「チャートに表示」をクリックします。
※「CHK_Swap※自分でつけた名前」が見つからない場合、「ナビゲータ」内の適当なところで右クリック→「更新」をクリックするかMT4を再起動すると出てきます

チャートに表示をクリックすると、以下の画面が表示されるので「OK」ボタンをクリックします。

チャート左上に『スワップタイプは・・・』と出てくれば成功です。

まとめ
自作インジケータを使うことで、MT4上に自分だけの情報を表示できます。
- 初めてなら、まずサンプルをコピペして動作を確認
- 慣れたらコードを編集してカスタマイズ
- チャート上に便利な情報を表示して分析に活用
当サイトでは、今後もオリジナルの自作インジケータを公開予定です。ぜひチェックしてみてください。
※ オススメ記事(EAが使える国内FX業者の一覧)
コメント
新値足を利用したマーチンゲール難平EAを考えてます。
サインとなる使いやすいインディケーターが中々見つかりません。
転換点が分かるインディケーターを公開できませんか?
宜しくお願いします。