はじめに
ここでは、自分でMT4用のインジケータを作る方法について解説します。
自作でインジケータなんて・・・と思われる方もいらっしゃるかもしれませんが、別にテクニカル的なインジケータではなくてもこんな情報ほしいという時に作ってチャート上に表示させておくと便利です。
インジケータファイルを新規作成する
ではインジケータの作り方を見ていきましょう。
まず、MT4画面で以下赤枠の「メタエディタ」ボタンをクリックしてメタエディタを開きます。
次に、ファイル→「新規作成」をクリックします。
次に、カスタムインディケータを選択し、「次へ」ボタンをクリックします。
「名前:Indicators\CHK_swap」、「著作者:Copyright 2020, mef Software」、「リンク:https://fx-prog.com/」のような感じで自由に入力し、「次へ」ボタンをクリックします。※CHK_swapの所は、インジケータ名称になります
そのまま「次へ」ボタンをクリックします。
そのまま「完了」ボタンをクリックします。
完了ボタンを押すとソースコードが表示されます。これで、インジケータファイルの新規作成は完了です。
ソースを書く
次に、先ほど新規作成したファイルにソースコードを書いていきます。今回は以下のコードをサンプルとして使ってみます。
※スワップタイプを表示するサンプルソースコードです
//+------------------------------------------------------------------+
//| 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を考えてます。
サインとなる使いやすいインディケーターが中々見つかりません。
転換点が分かるインディケーターを公開できませんか?
宜しくお願いします。