1,000人限定!!企画に参加してEAをGetする公式ラインに登録して
プレゼントをもらう

【MQL】ローソク足の陽線が3本でエントリーさせるEA【初級編】

MQL EA(エキスパートアドバイザー)  ローソク足陽線3本でエントリーMT4EA作成

ローソク足の陽線が3本でエントリーさせるEA

ローソク足の陽線が3本で自動売買させるEAを作成したいと思います。

  • ローソク足の陽線が3本でロングエントリー
  • 決済は6時と18時に行う

メタエディタ(MetaEditor)を立ち上げる

メタエディタ(MetaEditor)を立ち上げましょう。今回は名前を「3Candle-long」で作成します。

グローバル変数を記述する

グローバル変数を記述します。

TicketNumberとは、ポジションごとの番号です。

MT4ではエントリーするとそれぞれのポジション別の番号があります。

これを代入するための変数です。

staticというのはチャートのティックが更新後にも変数をリセットさせないようにするためです。

staticが無いとティック更新後に変数がリセットされてしまうからです。

static int TicketNumber;//チケットナンバー
Copy

OnTick()関数を記述する

OnTick()関数を記述します。

ローソク足陽線3本連続なので、シフトを使いながら初値と終値を見て終値が3本大きいようにif文を作ります。

if(iOpen(Symbol(),0,1) < iClose(Symbol(),0,1) &&
       iOpen(Symbol(),0,2) < iClose(Symbol(),0,2) &&
       iOpen(Symbol(),0,3) < iClose(Symbol(),0,3))

そしてその条件を満たしたらオーダーをTicketNumberにセットします。

TicketNumber = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"EA",1234,0,Red);

決済は、Hour()で6時または18時のタイミングだった場合に

if(OrdersTotal() > 0 && ( Hour() == 6 || Hour() == 18))

OrderCloseして決済します。

OrderClose(TicketNumber,0.1,Bid,3,Yellow);

これでOnTick()関数の記述は完了です。

   if(iOpen(Symbol(),0,1) < iClose(Symbol(),0,1) &&//1本前の始値より終値が高い
       iOpen(Symbol(),0,2) < iClose(Symbol(),0,2) &&//2本前の始値より終値が高い
       iOpen(Symbol(),0,3) < iClose(Symbol(),0,3))//3本前の始値より終値が高い
   {
     TicketNumber = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"EA",1234,0,Red); //ロングエントリー
   } 
   if(OrdersTotal() > 0 && ( Hour() == 6 || Hour() == 18))//ポジションが0以上で時刻が6時か18時の場合
   {
      OrderClose(TicketNumber,0.1,Bid,3,Yellow);//ポジションを決済
   }
Copy

コンパイルする

コンパイルしましょう。バックテストで動きを確認できたら完了です。

ソースコード全体

//+------------------------------------------------------------------+
//|                                                 3Candle-long.mq4 |
//|                     Copyright 2020, FX-EA System Project Creator |
//|                        https://creator.fx-ea-system-project.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, FX-EA System Project Creator"
#property link      "https://creator.fx-ea-system-project.com/"
#property version   "1.00"
#property strict

static int TicketNumber;//チケットナンバー

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if( iOpen(Symbol(),0,1) < iClose(Symbol(),0,1) &&//1本前の始値より終値が高い
       iOpen(Symbol(),0,2) < iClose(Symbol(),0,2) &&//2本前の始値より終値が高い
       iOpen(Symbol(),0,3) < iClose(Symbol(),0,3) )//3本前の始値より終値が高い
   {
     TicketNumber = OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"EA",1234,0,Red); //ロングエントリー
   } 
   if(OrdersTotal() > 0 && ( Hour() == 6 || Hour() == 18))//ポジションが0以上で時刻が6時か18時の場合
   {
      OrderClose(TicketNumber,0.1,Bid,3,Yellow);//ポジションを決済
   }

   
  }
//+------------------------------------------------------------------+
Copy

まとめ

今回はポジションの取り方やポジションの決済方法を理解できれば完璧です。

1,000人限定でFXの自動売買のEAを無料で配布中!!

FX-EA System Projectでは、

【1,000人限定で無料でFXの自動売買のEAを配布中】

です!!

・毎日チャートを見てるのに全く稼げなかった

・コンサルや塾に入ったけど全く稼げなかった

・裁量トレードは難しくて挫折した

・ツールやシステムを購入したが全く稼げなかった

・時間がなくて裁量トレードを行える時間がない

・自動で楽に稼ぎたい

という風に思っている方はこの企画はおすすめです。

フォワードテスト・バックテストを

しっかり行ったパフォーマンスの良いEAを提供中です!!

また、どんどん新しいEAも随時無料配布します!!

人数限定なので早いものがちです!!

もしFX-EA System Projectに興味があれば

是非参加してください。

MT4EA作成 初級編
\記事が役に立ったらシェアしてね/
FX-EA System Projectをフォローする
FX-EA System Project Creator

コメント

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