*

[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] 外為ファイネストで「早起きは5pipsの得」

1時間ほど前に開いた外為ファイネストのデモ口座ですが、「早起きは5pipsの得」を稼働させて

記事を読む

【FX】Elite Tactics という EA

Elite Tactics という、またまた拾ってきた EA(自動売買ソフト)のお話。 B

記事を読む

【FX】もう一つの Fintokei の使い方

Fintokei のチャレンジを実行中ですが、Fintokei にはチャレンジ(試験)の不要なもう一

記事を読む

【FX】 Axiory でハロウィーンキャンペーンやっています

Axiory でハロウィーンキャンペーンを開始したようです。 期間は 2023年10月

記事を読む

FXブレイクアウトシステムのテスト(2)

昨日のブレイクアウトシステムの検証の続きです。 USDCHF(ドルフラン)日足の成績がいいよう

記事を読む

FOOD & LIFE COMPANIES の株式を 100株取得しました

本日、渦中のスシローを傘下に持つ FOOD & LIFE COMPANIES(3563)を

記事を読む

【FX】Rollover Miracle Greedy という EA

Rollover Miracle Greedy という EA があります。 例によってアメリカ

記事を読む

[FX]前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動

以前の記事「前週の平均値と順張り&逆張り EA化(3) 半自動のススメ」でデモ口座で稼働させてい

記事を読む

FX 裁量トレード 現在の方法 (3)

現在の裁量トレード画面がこちら(↑ クリックすれば拡大)。 前回と少し異なり、現在は

記事を読む

スイスフラン暴騰騒動

今朝こんなメールが来てました。使っている FX 業者の OANDA からです。 件名:スイ

記事を読む

Message

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

Netac SSD 128GB 2.5インチSATA

Netac という素性の知れない中華メーカーの NVMe タイ

【FX】驚きの EA かも

以前、他人に譲った仕事(遠隔画像診断)が先月から2つほど帰ってきまして

久々のメインメモリ増設

自宅でほぼメインで使っているのは NEC の Mate MK32MB-

Netac M.2 SSD 250GB を NEC Express 5800 に組み込み

Netac という素性の知れない中華メーカーの SSD です。

ウエスタンデジタル製 SSD 1TB WD Green 2.5インチSATA WDS100T3G0A-EC

ウエスタンデジタル製の SATA 接続 SSD で 1TB のモデ

→もっと見る

  • アクセスカウンター
PAGE TOP ↑