FX-EA System Projectはこちら公式ラインに登録して
プレゼントをもらう

【MQL言語入門】MQLプログラミングで開発できる3つのシステムについてまとめてみた

MQL言語入門 カスタムインジケーター EA(エキスパートアドバイザー) スクリプトMQL言語入門

MQL言語で開発できること

MQL言語で開発できることは大きく分けて以下の3つになります。

  • カスタムインジケーター
  • EA(エキスパートアドバイザー)
  • スクリプト

その中でもカスタムインジケーターとEA(エキスパートアドバイザー)が非常に多く開発されています。

MQL言語入門 カスタムインジケーター EA(エキスパートアドバイザー) スクリプト

カスタムインジケーター

カスタムインジケーターとは毎ティック実行されるプログラムです。

カスタムインジケーターはトレード機能を持たないことが特徴的です。

計算した値をチャートにグラフィカルに表示するために使用します。

EA(エキスパートアドバイザー)

EA(エキスパートアドバイザー)は毎ティック実行されるプログラムです。

カスタムインジケータとは異なりトレード機能を有します。

主にトレードを実行するために使用するプログラムです。

スクリプト(Script)

スクリプト(Script)は、1回のみ実行されるプログラムです。

スクリプトはトレード機能を有します。基本的に1度だけ処理を実行したい場合に使用します。

例えば、複数のポジションを一括で決済したりなどの操作の自動化を行うために利用します。

それぞれのプログラムの比較

それぞれのプログラムの比較してみました。

カスタムインジケーターEAスクリプト
プログラムの実行期間長期長期1回
トレードの機能×
オブジェクトによる
ライン等の表示
バッファによる
ライン等の表示
××
1つのチャートで
複数同時使用
××
他のプログラムから実行×××

カスタムインジケータ/EA/スクリプトで使える関数の違い

カスタムインジケータ/EA/スクリプトで使える関数の違いをご紹介します。

関数とは以下の記事に詳しく記載しています。

【プログラミング基礎】値を与えると処理を行って値を返してくれる『関数』についてわかりやすく説明してみた
関数とは 関数とは、データを受け取り、定められた独自の処理を実行し、その結果を返す命令のことです。 ある値を与えるとその関数固有の処理を行って値を返します。 少し難しいのでもう少し関数を簡単に言うと自動販売機みたいなものです。...
  • EAまたはスクリプト
  • インジケーター

とでは使用できる関数が異なります。

EAまたはスクリプトが使用不可な関数

EAまたはスクリプトが使用不可な関数は以下のとおりです。

ポイント

IndicatorBuffers()

IndicatorCounted ()

IndicatorDigits()

IndicatorShortName()

SetIndexArrow()

SetIndexBuffer()

SetIndexDrawBegin()

SetIndexEmptyValue()

SetIndexLabel()

SetIndexShift()

SetIndexStyle()

SetLevelStyle()

SetLevelValue()

 

インジケータが使用不可な関数

インジケータが使用不可な関数は以下のとおりです。

ポイント

OrderSend()
OrderClose()
OrderCloseBy()
OrderDelete()
OrderModify()

まとめ

今回はMQLプログラミングで作れるシステムについて紹介しました。

それぞれどのような特徴や機能があり自分自身が何を作りたいのかをしっかりと整理できるようにしましょう。

ポイント

カスタムインジケータ:毎ティック実行されるプログラム。トレード(注文)機能を持たない。計算した値をチャートにグラフィカルに表示するために使用する。
EA(エキスパートアドバイザー):毎ティック実行されるプログラム。トレード(注文)機能を有する。主にトレードを実行するために使用する。
スクリプト(Script):1回のみ実行されるプログラム。トレード(注文)機能を有する。1度だけ処理を実行したい場合に使用する。

コメント

タイトルとURLをコピーしました