*

超シンプルな自動売買プログラム(14) ハル移動平均線

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

久々に「超シンプルな自動売買プログラム」シリーズを再開しますか。

ハル移動平均線

HUL移動平均線(HMA、Hull Moving Average) はアラン・ハル(Alan Hull)という人によって開発された移動平均線です。

ソースを見ると、このあたりがキモですね。

vect[x]=2*WMA(x, period/2) – WMA(x, period);

WMA は”終値の LWMA” を示し、vect は直近半分の期間の2倍から直近の値を引いたもので、これで直近の半分(後半)を重視する重み付けをしていますね。

period/2 って、デフォルトは period=15 なんで整数にならなくてもいいんですね?

で、最終的に計算される HMA ってのは vect のさらに LWMA(線形荷重移動平均線)を取ったものです。

LWMA ってのはそもそも直近を重視するものなんですが、それを2回も行って、その間に独自の直近の後半部重み付けを加えるという、「歪んだ2枚のバンズで崩れたパテを挟んだ」ような状態になったものがハル移動平均線ですね。

はんぱない加重方法ですネ。

で、表示するとこんなの。

上昇トレンドでは緑、下降トレンドでは赤に切り替わって表示されるように工夫されています。

ローソク足によくまとわりついていますね。

period が 15 と大きいのに、トレンド切り替えのタイムロスがほとんどありませんねぇ。

すごい・・・

ダウンロード> HMA.mq4

HMA を使った自動売買プログラム

さて、EA化しましょう。

超シンプルに、終値が HMA を上抜きしたら買い、下抜きしたら売りにします。

これだけだとドテンになってしまうので、私お得意の HLバンドトレーリングストップ、暴落対策、固定ロスカット、クラウドフィルタ、タイムフィルタをゴテゴテにつけます。

え、シンプルじゃない?

まあ、いいでしょ。

EURUSD 1時間足 2015/3/9-31

トレンディな相場ではなかなかいいですね。

そうでないときは・・・地獄?

補足

もっとシンプルにしますか。

クラウドフィルタとタイムフィルタを除いたらこうなります。

取引数が4倍に増えましたね。ただし、総損益は 1.5倍どまり。

関連記事

超シンプルな自動売買プログラム(13) 前週の平均値と順張り 時間特性

プログラムソース

//
// yasciiHMA01.mq4
//           HMA 使用(Downloadsフォルダに HMA.mq4 が必要)
// 

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

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

extern int Fast_period = 14 ;
extern double margin = 0.0 ;
int HL_Period = 14 ;

extern double ILC = 10.0 ;

extern int in_time = 10; // 取引開始時間
extern int out_time = 20; // 取引停止時間

int       Tenkan_sen=9;
int       Kijun_sen=26;
double    Senkou_span_b=52;

//変数の設定//
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 start(){

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

   double dir1 = iCustom(NULL, 0, "Downloads\\HMA",15,3,0,2,1);
   double dir2 = iCustom(NULL, 0, "Downloads\\HMA",15,3,0,2,2);

     double cla1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 3, Kijun_sen);
     double clb1 = iIchimoku( NULL, 0, Tenkan_sen, Kijun_sen, Senkou_span_b, 4, Kijun_sen);

    double HH2 = Low[iHighest(NULL, 0, MODE_LOW, HL_Period, 2)];
    double LL2 = High[iLowest(NULL, 0, MODE_HIGH, HL_Period, 2)];

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

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); 
    OOPL = OrderOpenPrice();
    if(   ((Close[1] < dir1 && Close[2] > dir2)  || ( OOPL - lc*Point >= Close[1] ) || Close[1] < HH2) 
            && ( Ticket_L != 0 && Ticket_L != -1 ))
    {    
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }   

   //売りポジションのエグジット
     OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
     OOPS = OrderOpenPrice();
   if(   ((Close[1] > dir1 && Close[2] < dir2) || ( OOPS + lc*Point <= Close[1] ) || Close[1] > LL2) 
          && ( Ticket_S != 0 && Ticket_S != -1 ))
    {    
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;}
    }  

   //買いエントリー
   if( Close[1] > dir1 && Close[2] < dir2 
       && ( Close[1] > cla1 && Close[1] > clb1 )
       && ( 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,Red);
    }

   //売りエントリー
   if( Close[1] < dir1 && Close[2] > dir2 
       && ( Close[1] < cla1 && Close[1] < clb1 )
       && ( 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,Blue);    
    }

   return(0);
  }

###

関連記事

no image

新生銀行 ATM使用料無料

* みなさんのお住まいのところは銀行は近いのでしょうか。 もし遠ければ新生銀行の口座でも作られてはい

記事を読む

新生銀行

   私は新生銀行を愛用しています。  いわゆるネット銀行です。  ほかのネッ

記事を読む

ブレイクアウトシステムと BBW フィルタ

自作ブレイクアウトシステム(yasciiBreakout05)に BBW フィルタを組み込んでみ

記事を読む

【FX】Yarukami Mnukakashi という EA

MQL5 のサイトで Yarukami Mnukakashi という EA が紹介されています。

記事を読む

[FX] 一目均衡表はみんなが見てる

一目均衡表は 1935年に日本の一目山人が発表したテクニカル指標で、現在よく使われているアメ

記事を読む

[FX] しろふくろうさんの Easy Trade システムの EA化

『FXメタトレーダーで儲けるしろふくろうのスーパー投資術』という良書で紹介されている「しろふ

記事を読む

【FX】TradersTrust という FX業者

FX トレードではスプレッドという手数料は非常に重要です。 特に短時間で薄利多売買を狙うスキャルピ

記事を読む

【FX】2024年1月集計

運用中の FX 口座(14口座)の 2024年1月の集計ですが、この月から通常口座とテスト口座に分け

記事を読む

Gold 金の幻想

* 貨幣ってものは価値が変動するし、極端な場合、紙くずになる可能性もあります。 と言うと、結

記事を読む

【FX】含み足&RSI

最近、よく観ている「トレーダーお父さんキヨサキ」の Youtube 動画で次のようなトレード方法が紹

記事を読む

Message

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

ウェスティンカフェ マイルドブレンド 200g瓶

ユニコ・ジャパンという企業の「ウェスティンカフェ マイルドブレ

【FX】exness でゴールド取引は不利?

最近気づきましたが、exness という業者でのゴールド取引が不調です

【FX】ECM、ICM、vantage のスプレッド

ECM、ICM、vantage のスプレッドを比べてみました。 左か

【FX】AXI Select 奇々怪々なエッジスコア

プロップファームの一種である AXI Select はインキュベーショ

【FX】ECMarkets リアル口座 2つ目運用開始

海外 FX 業者 ECMarkets(ECM)の話です。 Tar

→もっと見る

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