【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では、買値の値が更新され、変動していることが確認できました。

 

関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【MT4】複数口座を同時に起動させる方法【FX・CFD】

今回は、MT4(メタトレーダー4)で複数口座を同時にログインし、起動させる方法について紹介します。

記事を読む

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

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

記事を読む

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

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

記事を読む

【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】

今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介します。 なぜPCの自動起

記事を読む

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

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

記事を読む

【MT4】ノートPCを閉じてもEAを実行させ続ける方法【Windows10】

今回は、MT4上でノートPCを閉じてもEAを実行させ続ける方法について紹介します。 通常、ノー

記事を読む

【楽天証券CFD】調整金(金利/配当)について調べてみた【MT4】

今回は、楽天証券CFDで日経平均(JP225)や SP500(US500)、ダウ(US30)、ナスダ

記事を読む

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

【OpenCV】検出した顔画像部分を切り出す方法【Python】

OpenCV を使って、Python で画像の中から顔部分を切り出した

→もっと見る

PAGE TOP ↑