【MQL4】EAファイルを作成・実行する方法【FX自動売買】

公開日: : MT4 , , , , ,

EAファイルとは、為替の価格データが更新されるたびに繰り返し実行してくれるプログラムのことです。

通常、スクリプトは1回実行して終了してしまいます。

ゲームのプログラミングでは、ゲーム中はコントローラーの入力待ちなどをするために while 文を使ってスクリプトが終了しないようにしていました。

それと同じように、FXの自動売買でも、スクリプトが1回実行しただけで終了してしまうと、自動売買が成立しません。

なので、価格が変動するたびに売買条件に当てはまるかをチェックして、スクリプトの実行状態を保つものが EA(Expert Advisor)であると解釈しています。

それでは、実際に MetaEditor(メタエディタ)を使ってEAファイルを作成し、実行してみます。

新規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」ファイルとして保存しました。

EAファイルの実行

コンパイル」アイコンをクリックし、「実行(▶)」ボタンを押すと、自動的にMT4が立ち上がります。

以下のような画面が表示されるため、「OK」を押します。

すると、チャート上に現在の買値が表示されました。

スクリプトでは、更新されずに実行時の買値が表示されていましたが、EAでは、買値の値が更新され、変動していることが確認できました。

 

関連記事

【楽天CFD】取引口座を開設してみた【MT4】

今回は、楽天CFDの取引口座(本番口座)の開設方法について紹介します。 以前、楽天CFDのデモ

記事を読む

【MQL4】注文を出す関数について調べてみた【OrderSend】

今回は、EAで注文を出すMQL4の関数「OrderSend()」について調べてみました。 Or

記事を読む

【トラリピ】スプレッドについて調べてみた【FX自動売買】

トラリピは、マネースクエアが運営しているFXの自動売買システムです。 トラリピの詳細はここでは

記事を読む

【MT4】チャート上にボリンジャーバンドを表示(削除)する方法。

今回は、MT4(メタトレーダー4)上に、ボリンジャーバンド(Bollinger Bands)を表示・

記事を読む

【MT4】EAを移行する方法【FX自動売買】

今回は、MT4(メタトレーダー4)で EA を別のPCに移行して動かす方法について紹介します。

記事を読む

【MT4】チャート上に日本時間を表示させる方法【JPN_Time_SubZero】

今回は、MT4(メタトレーダー4)でチャート上に日本時間を表示させる方法について紹介します。

記事を読む

【MT4】デモ口座で無効な口座になっているときの対処方法。

FXツールのMetaTrader4(メタトレーダー4)のデモ口座で色々と試そうとしていたら、

記事を読む

【MQL4】スプレッドを取得する方法【MT4】

今回は、MQL4 で対象通貨ペアのスプレッドを取得する方法について紹介します。 スプレッドを取

記事を読む

【MT4】PCが再起動しても自動的に起動させる方法【FX自動売買】

今回は、FX 自動売買用のツールの MT4 で、実行しているPCが再起動しても、MT4 を自動的に起

記事を読む

【楽天CFD】デモ口座を開設してみた【MT4】

CFDとは、Contract For Difference の略で、差金決済取引(さきんけっさいとり

記事を読む

【TensorFlow】GPUを認識しない時の対処方法【Python】

TensorFlow で GPU を認識させようとしたときにハマってし

【耳コピ】音楽ファイルを楽器ごとに分離する方法【Spleeter:フリー】

今回は、mp3 などの音楽ファイルをボーカル、ベース、ドラムなどの楽器

【Chainer】手書き数字認識をしてみた【Deep Learning】

Chainerを用いて、ニューラルネットワークを構築し、手書き数字認識

【Spyder】引数のあるスクリプトを実行する方法。

Python の統合開発環境(IDE)である Spyder では、簡単

【Anaconda】Prompt 上で Git コマンドを実行する方法。

Anaconda のコマンドプロンプト(Anaconda Prompt

→もっと見る

PAGE TOP ↑