*

[FX] 2本の移動平均線を使ったシンプルな EA

公開日: : 最終更新日:2023/07/26 マネー

あるブログの記事「移動平均線クロスでエントリーするEA(フリーEA)」を読んで、「よし久々に作ってみよう」と思いました。

超シンプルなものはもう 6年以上前に作りましたから、最近覚えた技を練り込みます

できた。

厳密には平均線クロスではなく、2本の LWMA(線形加重移動平均線) をフィルタ的に使うことになりました。

つまりクロスさせないで使う・・・アレ、主旨が変わってしまった。

買いエントリ

  • 2本の LWMA がどちらも上を向いている(速度が正)
  • 2本の LWMA の差が拡大している(加速度が正)
  • 終値が1本前の高値を超えた

のすべてが揃ったとき。

売りエントリ

  • 2本の LWMA がどちらも下向いている(速度が負)
  • 2本の LWMA の差が拡大している(加速度が負)
  • 終値が1本前の低値を超えた

のすべてが揃ったとき。

エグジットは、

  • 改良した HLバンド
  • 終値が短期線とクロス
  • 初期ロスカット

のどれかが成立したときにしました。

2021/1/1-2021/5/29 ドル円 15分足 1万通貨

取引数120回、純益 366.67ドル、プロフィットファクター 2.57、勝率41.67%(50勝70敗)、最大ドローダウン 0.49%(4.9% / lot)となりました。

勝率はよくないですが、回数と収益、資産曲線の形状はなかなかいいです。

ほんのちょっとブレイクアウトをかましたトレンドフォローなので、勝率はこんなものでしょう。

指標を移動平均線2本しか使っていないわりにはがんばっているのでは。

気に入ったので、来週から 1万通貨で運用テストに入ります。

プログラムソース

 

//
// ys2MA01a.mq4
//  愛称「2本のチカラ」
//    エントリ、エグジットは  LWMA 2本を使う
//     15分足でよい結果

//マジックナンバーの定義
#define MAGIC  2021060401

//パラメーターの設定//
extern double Lots = 0.1;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  “ys2MA01a”; //コメント

extern int Fast_period = 10 ;
extern double margin = 0.022 ;

int ma1 = 30 ;
int ma2 = 100 ;

extern int in_time =8; // 取引開始時間(サーバー時間)
extern int out_time = 11; // 取引停止時間(最大24)

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数

int OS1 ;
int OS2 ;
double   OOPL;
double   OOPS;

int B_cnt = 0 ;
int S_cnt = 0 ;

extern double ILC = 5.0 ;
extern int TeikyuuYoubi = 0 ; // 定休曜日(0=日, 1=月, 2=火, 3=水, 4=木, 5=金)

int start()
{

double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

if ( DayOfWeek() == TeikyuuYoubi ) return(0) ;

double lwma1 = iMA(NULL,0,ma1,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma2 = iMA(NULL,0,ma2,0,MODE_LWMA,PRICE_CLOSE,1);
double lwma1p = iMA(NULL,0,ma1,0,MODE_LWMA,PRICE_CLOSE,2);
double lwma2p = iMA(NULL,0,ma2,0,MODE_LWMA,PRICE_CLOSE,2);
double lwma1pp = iMA(NULL,0,ma1,0,MODE_LWMA,PRICE_CLOSE,3);

int trendy = 0;
if ( lwma1 > lwma2 && lwma1 > lwma1p && lwma2 > lwma2p && (( lwma1 – lwma1p ) > ( lwma1p – lwma1pp ) ) ) trendy = 1 ;
if ( lwma1 < lwma2 && lwma1 < lwma1p && lwma2 < lwma2p && (( lwma1 – lwma1p ) < ( lwma1p – lwma1pp ) ) ) trendy = -1 ;

if ( B_cnt > 0){
if ( B_cnt > Fast_period) B_cnt = Fast_period ;
double FastLL2 = Low[iHighest(NULL, 0, MODE_LOW, B_cnt, 2)];
}
if ( S_cnt > 0){
if ( S_cnt > Fast_period) S_cnt = Fast_period ;
double FastHH2 = High[iLowest(NULL, 0, MODE_HIGH, S_cnt, 2)];
}

//買いポジションのエグジット

OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if(  ( OOPL – lc*Point >= Close[1]  ||  Close[1] < FastLL2 – margin ||  Close[1] < lwma1 )
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Pink);
if( Exit_L ==1 ) {Ticket_L = 0;}
B_cnt= 0 ; S_cnt = 0 ;
}

//売りポジションのエグジット

OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if(  ( OOPL – lc*Point >= Close[1]  ||  Close[1] > FastHH2 + margin || Close[1] > lwma1  )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Aqua);
if( Exit_S ==1 ) {Ticket_S = 0;}
B_cnt= 0 ; S_cnt = 0 ;
}

//買いエントリー
if( trendy >0  && Close[1] > High[2]
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,Pink);
B_cnt= 1 ; S_cnt = 0 ;
}

//売りエントリー
if( trendy <0 && Close[1] < Low[2]
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,Aqua);
S_cnt= 1 ; B_cnt = 0 ;
}

return(0);
}

関連記事

FXチャート分析 マスターブック FX MACD+フィボナッチ勝率アップの法則 / 平田 啓

FXチャート分析 マスターブック FX MACD+フィボナッチ勝率アップの法則 (F

記事を読む

[FX]デイリーピボットへの回帰

FX では前日のピボット値を目安にすることがよく行われています。 上下どちらから始まっても一日

記事を読む

超シンプルな自動売買プログラム(9) RSI クロス

超シンプルな自動売買プログラム として RSI とそのシグナル(直前3本の平均値)とのクロスを考

記事を読む

生命保険の支払いの荷が降ろせそうな年頃

この前来た●●生命保険からの通知で、3つのうち2つが「保険料払込み済み」になっているのに気づきました

記事を読む

[FX] Waddah_Attar_Explosion の仕組み

前回の記事「 Waddah_Attar_Explosion」の続きです。 EURGBP

記事を読む

【FX】Monopolist という EA

久々に FX の話です。 MQL5 で売られている Monopolist という EA ですが

記事を読む

アンディさんのリアルタイム雲

  上が一目均衡表で、雲は26本先行しています。 下は有名なトレーダ

記事を読む

【FX】Fintokei 速攻プロプランについて

またまたプロップファームの Fintokei の話ですが、現在チャレンジプランを再開したところです。

記事を読む

【FX】Fintokei チャレンジ 16日め またまたやらかし

以前の記事「【FX】Fintokei チャレンジ 14日め」の続きです。 やっちまった。

記事を読む

見栄をはっても意味はない

世の中は たった一人の絶対的金持ち と 残りの相対的貧乏人 からなっていますよね。 金持ち→貧

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

【FX】2026年7月2日のやばかった瞬間

2026年7月2日はじつは やばかった瞬間がありましたという話。

Claude Fable 5 が無料使用期間中

アンソロピックが 6月に発表したものの、米政府の輸出規制により日本では

ChatGPT で画像製作

ChatGPT にプロンプトを渡すだけで、写真のような画像が製作できる

【FX】ダブルトップ&ダブルボトムを判別するインジケーター

ダブルトップ&ダブルボトムを判別するインジケーターを MT4 用で作り

AXI Select 順調?

本日、プロップファームの AXI Select の なかなか上がらなか

→もっと見る

  • 2026年7月
     12345
    6789101112
    13141516171819
    20212223242526
    2728293031  
  • アクセスカウンター
PAGE TOP ↑