初心者でもできる自作EAの作成方法2

EAの基本的なコードがわかったら今度はもう一歩踏み出して実際にEAを作成してみましょう。

スポンサーリンク
スポンサーリンク

EAの外部パラメータを記述してみ よう

変数の前にexternと記載することで変数を外部パラメータとして定義することができます。外部パラメータで定義した変数にはEA稼働時にパラメータとして指定できるようになります。

インジケータの値を取得してみよう

インジケータを取得する場合は専用の関数が用意されていますので関数をそのまま記述するだけで簡単にインジケータの値が取得できます。

今回はボリンジャーバンドの値を取得してみます。 ボリンジャーバンドはiBandsという関数を使えばボリンジャーバンドの値を取得できます。 iBandsという関数を詳しく見ていきましょう。

string symbol
通貨ペアを指定するための引数です。現在のチャートの通貨ペアの値を取得したい場合はNULLを指定します。

int timeframe
時間軸を指定するための引数です。現在のチャートの時間軸を指定したい場合は0を指定します。

int period
ボリンジャーバンドの期間を指定するための引数です。

double deviation
σ(シグマ)を指定するための引数です。

int bands_shift
ボリンジャーバンドの値を右にいくつシフトするかを指定するための引数です。

int applied_price
ボリンジャーバンドの計算に適用する価格を指定するための引数です。

int mode
ボリンジャーバンドの上下バンドを指定するための引数です。

int shift
ボリンジャーバンドの計算結果の取得位置を指定するための引数です。

実際にボリンジャーバンドの値を取得してみましょう。

エントリーの条件を決めよう

今回はボリンジャーバンドの+2σで逆張りとしてみます。

High[1]
一つ前の足の高値を取得します。

ifを使用して括弧の中の条件を満たした場合に指定する処理を実行することができます。

OrderSendという関数を用いることで注文を出すことができます。 OrderSend を詳しく見ていきましょう。

string symbol
通貨ペアを指定するための引数です。現在のチャートの通貨ペアの値を取得したい場合はNULLを指定します。

int cmd
注文方法を指定します。

double volume
ロットを指定します。

double price
注文価格を指定します。

int slippage
最大スリッページを指定します。

double stoploss
ストップロスを指定します。

double takeprofit
テイクプロフィットを指定します。

string comment
注文時のコメントを指定します。

int magic
マジックナンバーを指定します。

datetime expiration
注文の有効期限を指定します。

color color arrow_color
注文が通った時にチャート上に表示する矢印の色をしています。

クローズ条件を決めよう

今回はボリンジャーバンドの逆側のバンドに達したら決済してみます。

for分を使うことで処理を繰り返すことができます。
for(int i = OrdersTotal() – 1; i >= 0; i–)は注文の最大数から0まで処理を繰り返すという意味なのでつまり、今の注文すべてに対して処理することになります。

最後に全体のコードを見てみましょう。
後はコンパイルすれば完成です。

もしプログラミングの理解がどうしても難しい場合はEAつくーるというソースコードを自動生成してくれるソフトをオススメします↓

『EAつくーる』
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!?|?fx-on.com

EAつくーるを用いれば、自分の作りたい条件でEAをプログラミングなしで作成できるのでソースコードの参考にもなるし、プログラミングができない人でもEAを作成することができます。

まずは1ヶ月版を試して使えそうなら製品版の購入をオススメします↓

EAつくーる【1ヶ月版】
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!?|?fx-on.com
スポンサーリンク
スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする