【MQL4】EAファイルを作成・実行する方法【FX自動売買】
EAファイルとは、為替の価格データが更新されるたびに繰り返し実行してくれるプログラムのことです。
通常、スクリプトは1回実行して終了してしまいます。
ゲームのプログラミングでは、ゲーム中はコントローラーの入力待ちなどをするために while 文を使ってスクリプトが終了しないようにしていました。
それと同じように、FXの自動売買でも、スクリプトが1回実行しただけで終了してしまうと、自動売買が成立しません。
なので、価格が変動するたびに売買条件に当てはまるかをチェックして、スクリプトの実行状態を保つものが EA(Expert Advisor)であると解釈しています。
それでは、実際に MetaEditor(メタエディタ)を使ってEAファイルを作成し、実行してみます。
Contents
新規EAファイルの作成
MetaEditorを立ち上げて、左上の「新規作成」アイコンをクリック、もしくは「Ctrl+N」キーを押します。
「エキスパートアドバイザ(テンプレート)」を選択し、「次へ」ボタンをクリックします。
適当に名前を付けます。「次へ」ボタンをクリックし、「完了」を押すと「XXXX.mq4」ファイルが作成されます。
ちなみに、EAファイルは「Experts」フォルダの中に保存されます。
OnTick() の編集
EAファイルの中を確認すると、
- int OnInit()
- void OnDeinit(const int reason)
- void OnTick()
の3つの関数がデフォルトで記載されているかと思います。
この中で、OnTick() の部分が特に重要で、この関数の中にコードを書いていきます。
Tick つまり価格が動くたびに実行される部分となります。
それでは、サンプルとして、「チャート上に買値を表示させる」EAを作成してみます。
買値は「Ask」、チャート上に表示するために「Comment」をそれぞれ使用します。
以下のようにコードを書いて、「SampleEA」ファイルとして保存しました。
1 2 3 4 5 6 7 8 9 10 |
//+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- // 現在の買値を表示 Comment("Ask=", Ask); } //+------------------------------------------------------------------+ |
EAファイルの実行
「コンパイル」アイコンをクリックし、「実行(▶)」ボタンを押すと、自動的にMT4が立ち上がります。
以下のような画面が表示されるため、「OK」を押します。
すると、チャート上に現在の買値が表示されました。
スクリプトでは、更新されずに実行時の買値が表示されていましたが、EAでは、買値の値が更新され、変動していることが確認できました。
関連記事
-
-
【トラリピ】スプレッドについて調べてみた【FX自動売買】
トラリピは、マネースクエアが運営しているFXの自動売買システムです。 トラリピの詳細はここでは
-
-
【MT4】PCが再起動しても自動的に起動させる方法【FX自動売買】
今回は、FX 自動売買用のツールの MT4 で、実行しているPCが再起動しても、MT4 を自動的に起
-
-
【楽天証券CFD】調整金(金利/配当)について調べてみた【MT4】
今回は、楽天証券CFDで日経平均(JP225)や SP500(US500)、ダウ(US30)、ナスダ
-
-
【MT4】EAのバックテストをする方法【FX自動売買】
今回は、MT4を使って、EAのバックテストを行う方法について紹介します。 バックテストは、自分
-
-
【MQL4】注文を出す関数について調べてみた【OrderSend】
今回は、EAで注文を出すMQL4の関数「OrderSend()」について調べてみました。 Or
-
-
【楽天MT4】ドル円のスワップとスプレッドについて調べてみた。
楽天MT4で、ドル円(USD/JPY)のスワップポイントとスプレッドについて調べてみました。
-
-
【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】
今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介します。 なぜPCの自動起
-
-
【MT4】複数口座を同時に起動させる方法【FX・CFD】
今回は、MT4(メタトレーダー4)で複数口座を同時にログインし、起動させる方法について紹介します。
-
-
【MQL4】スプレッドを取得する方法【MT4】
今回は、MQL4 で対象通貨ペアのスプレッドを取得する方法について紹介します。 スプレッドを取
-
-
【MT4】EAを移行する方法【FX自動売買】
今回は、MT4(メタトレーダー4)で EA を別のPCに移行して動かす方法について紹介します。