Select Language

インディケータを作成する方法

MetaTrader4(MT4)/MetaTrader5(MT5)では、インディケータを作成する際、メタエディターと呼ばれるプログラミングツールを利用し、MT4/MT5専用のプログラミング言語であるMQL4/MQL5というプログラミング言語を使ってプログラムを記述します。

ここでは、MT4/MT5にて、インディケータを作成する方法を説明します。

MT4/MT5のそれぞれの説明はタブ切替でご確認いただけます。

mt4
mt5

手順1

メニューバーの「ツール」をクリックし、「メタエディター」を選択します。

オプション画面を開く オプション画面を開く

手順2

メタエディターが起動します。メニューバーの「新規作成」ボタンをクリックします。

メタエディターを起動 メタエディターを起動

手順3

「カスタムインディケータ」を選択し、「次へ」ボタンをクリックします。

カスタムインディケータを作成 カスタムインディケータを作成

手順4

作成するインディケータの名称、著作者、表示させるリンクを入力します。必要に応じて、パラメータを設定後、「次へ」ボタンをクリックします。

カスタムインディケータのプロパティ設定 カスタムインディケータのプロパティ設定

番号

項目名

説明

1

名前

作成するインディケータの名称を指定します。

2

著作者

作成するインディケータの著作者を記載します。

3

リンク

表示させるリンクを入力します。

point 名前と著作者の情報は設定画面に表示される

登録した、名称、著作者、リンクの情報は、インディケータの設定画面に表示されます。

手順5

設定するイベントハンドラ(特定の条件を満たすことで呼ばれる関数)を設定します。

イベントハンドラを設定 イベントハンドラを設定

番号

項目名

説明

1

OnCalculate
(...,open,high,low,close)

OnCalculate(open,high,low,close)は、ティックが更新された時に実行され、インディケータの計算に必要な時刻、始値、高値、安値、終値、ティックボリューム、ボリューム、スプレッドの値を取得する関数です。

2

OnCalculate
(...,prices)

OnCalculate(prices)は、ティックが更新されたときに実行され、インディケータの計算にパラメータの適用価格で選択した値を使用する関数です。

3

OnTimer

OnTimerは、指定した時間間隔で動作する関数です。

4

OnChartEvent

OnChartEventは、チャートでのイベントを処理する関数です。チャート上でオブジェクト作成、削除、移動、編集などのイベントが発生したときに実行されます。

手順6

サブウィンドウに表示する場合、「サブウィンドウに表示」のチェックボックスにチェックを入れます。サブウィンドウの最小値と最大値を設定する場合、「最小値」「最大値」のチェックボックスにチェックを入れ、最小値と最大値を指定します。

カスタムインディケータの描画プロパティを設定 カスタムインディケータの描画プロパティを設定

手順7

インディケータにオブジェクトを使用する場合、「追加」をクリックし、「ラベル」にて名称を、「タイプ」にて種類を、「カラー」にて色を指定します。設定完了後、「完了」ボタンをクリックします。

オブジェクトの追加設定 オブジェクトの追加設定

手順8

MQL4プログラムを記述します。

MQL4プログラムを記述 MQL4プログラムを記述

手順9

MQL4プログラム記述後、ツールバーの「コンパイル」ボタンをクリックします。

コンパイルを実行 コンパイルを実行

手順10

コンパイル完了後、ナビゲータの指定フォルダ内に作成したインディケータが反映されます。

コンパイル完了 コンパイル完了

手順11

メタエディタ―を閉じ、MT4に戻り、ナビゲータに、作成したインディケータが反映されていることを確認します。

ナビゲータに作成したインディケータが反映 ナビゲータに作成したインディケータが反映

手順1

メニューバーの「ツール」をクリックし、「MetaQuotes 言語エディタ」を選択します。

MetaQuotes 言語エディタ MetaQuotes 言語エディタ

手順2

メタエディターが起動します。メニューバーの「新規作成」ボタンをクリックします。

メタエディターが起動 メタエディターが起動

手順3

「カスタムインディケータ」を選択し、「次へ」ボタンをクリックします。

メタエディターが起動 メタエディターが起動

手順4

作成するインディケータの名称、著作者、表示させるリンクを入力します。必要に応じて、パラメータを設定後、「次へ」ボタンをクリックします。

メタエディターが起動 メタエディターが起動

番号

項目名

説明

1

名前

作成するインディケータの名称を指定します。

2

著作者

作成するインディケータの著作者を記載します。

3

リンク

表示させるリンクを入力します。

point 名前と著作者の情報は設定画面に表示される

登録した、名称、著作者、リンクの情報は、インディケータの設定画面に表示されます。

名前と著作者の情報は設定画面に表示 名前と著作者の情報は設定画面に表示

手順5

設定するイベントハンドラ(特定の条件を満たすことで呼ばれる関数)を設定します。

イベントハンドラ イベントハンドラ

番号

項目名

説明

1

OnCalculate
(...,open,high,low,close)

OnCalculate(open,high,low,close)は、ティックが更新された時に実行され、インディケータの計算に必要な時刻、始値高値安値終値ティックボリューム、ボリューム、スプレッドの値を取得する関数です。

2

OnCalculate
(...,prices)

OnCalculate(prices)は、ティックが更新された時に実行され、インディケータの計算にパラメータの適用価格で選択した値を使用する関数です。

3

OnTimer

OnTimerは、指定した時間間隔で動作する関数です。

4

OnChartEvent

OnChartEventは、チャートでのイベントを処理する関数です。チャート上でオブジェクトの作成、削除、移動、編集などイベントが発生したときに実行されます。

手順6

サブウインドウに表示する場合、「サブウインドウに表示」のチェックボックスにチェックを入れます。サブウインドウの最小値と最大値を設定する場合、「最小値」「最大値」のチェックボックスにチェックを入れ、最小値と最大値を指定します。

サブウインドウに表示 サブウインドウに表示

手順7

インディケータにオブジェクトを使用する場合、「追加」をクリックし、「ラベル」にて名称を、「タイプ」にて種類を、「カラー」にて色を指定します。設定完了後、「完了」ボタンをクリックします。

インディケータにオブジェクトを使用する場合 インディケータにオブジェクトを使用する場合

手順8

MQL5プログラムを記述します。

MQL5プログラム MQL5プログラム

手順9

MQL5プログラム記述後、ツールバーの「コンパイル」ボタンをクリックします。

ツールバーの「コンパイル」ボタン ツールバーの「コンパイル」ボタン

手順10

コンパイル完了後、ナビゲータの指定フォルダ内に作成したインディケータが反映されます。

インディケータが反映 インディケータが反映

手順11

メタエディターを閉じ、MetaTrader5に戻り、ナビゲータに、作成したインディケータが反映されることを確認します。

インディケータが反映 インディケータが反映

Date

作成日

2021.04.08

Update

最終更新

2023.09.29

中丸 貴仁 | Takayoshi Nakamaru

マニュアル制作コンサルタント歴12年 経営学修士(MBA)

arrow
中丸 貴仁

マニュアル制作会社フィンテックスにて、マニュアルに関する様々な顧客課題解決に従事。
金融系からエンターテインメント系まで様々な経験から幅広い業務知識を得て、「分かりやすいマニュアル」のあるべき姿を提示。
複数の大企業で、外部マニュアル制作プロジェクトマネージャーを兼務している。

【企業情報】
http://www.fintecs.co.jp/profile/

監修者情報

高木 明 | Akira Takagi

システムエンジニア・MetaTraderアドミニストレータ

arrow
高木 明

2014年、ブラジルUninove大学 コンピュータ科学科を卒業し、その後、様々なシステム開発に携わる。
2019年にFXサービス立ち上げに開発者として参加。その後、MetaTraderのプラグインおよびAPIの開発にも従事。MetaQuotes社認定の、MetaTrader5 Administratorの資格を保持しており、開発だけでなく、コンサルティングやアドバイザーとしても活躍している。

この記事は、お役に立ちましたか?

ご覧いただきありがとうございます。Myforexでは、記事に関するご意見・ご感想をお待ちしています。
また、海外FX・仮想通貨の経験が豊富なライター様も随時募集しております。

お問い合わせ先 [email protected]

貴重な意見をいただきありがとうございます。
貴重な意見をいただきありがとうございます。

免責事項:Disclaimerarw

当サイトの、各コンテンツに掲載の内容は、情報の提供のみを目的としており、投資に関する何らかの勧誘を意図するものではありません。
これらの情報は、当社が独自に収集し、可能な限り正確な情報を元に配信しておりますが、その内容および情報の正確性、完全性または適時性について、当社は保証を行うものでも責任を持つものでもありません。投資にあたっての最終判断は、お客様ご自身でなさるようお願いいたします。

本コンテンツは、当社が独自に制作し当サイトに掲載しているものであり、掲載内容の一部または、全部の無断転用は禁止しております。掲載記事を二次利用する場合は、必ず当社までご連絡ください。

  • Facebook
  • Twitter
  • LINE

Myforexでは、このウェブサイトの機能向上とお客様の利便性を高めるためにクッキー使用しています。本ウェブサイトでは、当社だけではなく、お客様のご利用状況を追跡する事を目的とした第三者(広告主・ログ解析業者等)によるクッキーも含まれる可能性があります。 クッキーポリシー

クッキー利用に同意する
share
シェアする
Line

Line

Facebook

Facebook

X

Twitter

キャンセル