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

【MQL】ゴールデンクロスとデッドクロスでエントリーするEA【初級編】

MQL MT4 ゴールデンクロス デッドクロス EAMT4EA作成

ゴールデンクロスとデッドクロスでエントリーするEA

ゴールデンクロスとデッドクロスでエントリーするEAを作成します。

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

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

パラメーターを記述する

パラメーターを記述しましょう。

input int TakeProfit = 5;//利確
input double Lots = 0.01;//ロット数
input int MagicNumber = 12345;//マジックナンバー
Copy

OnTick()関数を記述する

OnTick()関数を記述しましょう。

まず、はじめに移動平均線を格納する変数を作成します。

double kakoMA50,kakoMA100;
double genMA50,genMA100;

次にそれぞれの変数にiMA関数の値を代入します。シフトで1つ前の足かどうかの違いになります。

     kakoMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);
     kakoMA100 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);
     genMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,0);
     genMA100= iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,0);

ゴールデンクロスしている条件を記載します。

if(kakoMA50 <= kakoMA100 && genMA50 > genMA100)

条件が合えば、ロングのポジションを持ちます。

OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point*10,"Order Long",MagicNumber,0,Red);

ショートエントリーも同様にデッドクロスしているかの条件を記載します。

if(kakoMA50 >= kakoMA100 && genMA50 < genMA100)

条件が満たされていればショートのポジションを持ちます。

OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point*10,"Order Short",MagicNumber,0,Blue);

これで、OnTick()関数は完了です。

     double kakoMA50,kakoMA100;//過去MA50,過去MA100
     double genMA50,genMA100;//現在MA50,現在MA100
     
     kakoMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);//1つ前の50日線
     kakoMA100 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);//1つ前の100MA
     genMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,0);//現在の50MA
     genMA100= iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,0);//現在の100MA

     if(kakoMA50 <= kakoMA100 && genMA50 > genMA100)//もし50日移動平均線が100日線を下から上にクロスしたら(ゴールデンクロス)
     {
      OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point*10,"Order Long",MagicNumber,0,Red);//ロングエントリー
     }

    if(kakoMA50 >= kakoMA100 && genMA50 < genMA100)//もし50日移動平均線が100日線を上から下にクロスしたら(デッドクロス)
    {    
     OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point*10,"Order Short",MagicNumber,0,Blue);//ショートエントリー
    }
Copy

ソースコード全体

//+------------------------------------------------------------------+
//|                                                        GC-DC.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

/*パラメーター*/
input int TakeProfit = 5;//利確
input double Lots = 0.01;//ロット数
input int MagicNumber = 12345;//マジックナンバー

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
    
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
     double kakoMA50,kakoMA100;//過去MA50,過去MA100
     double genMA50,genMA100;//現在MA50,現在MA100
     
     kakoMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,1);//1つ前の50日線
     kakoMA100 = iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,1);//1つ前の100MA
     genMA50 = iMA(NULL,0,50,0,MODE_SMA,PRICE_CLOSE,0);//現在の50MA
     genMA100= iMA(NULL,0,100,0,MODE_SMA,PRICE_CLOSE,0);//現在の100MA

     if(kakoMA50 <= kakoMA100 && genMA50 > genMA100)//もし50日移動平均線が100日線を下から上にクロスしたら(ゴールデンクロス)
     {
      OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point*10,"Order Long",MagicNumber,0,Red);//ロングエントリー
     }

    if(kakoMA50 >= kakoMA100 && genMA50 < genMA100)//もし50日移動平均線が100日線を上から下にクロスしたら(デッドクロス)
    {    
     OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point*10,"Order Short",MagicNumber,0,Blue);//ショートエントリー
    }
}
//+------------------------------------------------------------------+
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

コメント

  1. […] 【MQL】ゴールデンクロスとデッドクロスでエントリーするEA【初級編】 […]

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