*

超シンプルな自動売買プログラム(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);
  }

###

関連記事

[FX] 早朝のスプレッド 10/23

本日 10/23 早朝のスプレッドの酷さを晒します。 OANDA 5:22:13 AM

記事を読む

[FX] 新たな Tokyo Boxプログラム

Tokyo Box(別名多数あり) シリーズは、 値動きの少ない東京時間には動作しない

記事を読む

2024-10-15 日経平均 4万円再突破

本日は 日経平均 4万円再突破いたしました。 まだ後場が終わっていないので、割る可能性はありますが

記事を読む

【FX】Fintokei チャレンジ 14日め

以前の記事「【FX】Fintokei チャレンジ 7日め」の続きです。 現在わたしはプロップフ

記事を読む

アメリカ株逝く・・・あれっ?

今日は週明けの月曜日。 先週金曜日に大事件がありました。 アメリカ最大の経済イベントの一つで

記事を読む

【FX】Hippo Trader という EA

Hippo Trader という EA 1ヶ月ほど前に Hippo Trader という EAが紹

記事を読む

厚生年金について

今回は厚生年金の話。 moneiro のページにわかりやすい表がありました。 上

記事を読む

【FX】FX のための会社設立

FX を始めて 20数年。 ようやく昨年から長年の目標であった 2つの条件 毎日 1

記事を読む

印税生活

昔、医学書の一部を分担執筆させていただいたことがあり、そのとき印税というものをいただきました。

記事を読む

米国では有名なジャックとジルの話

米国では高校でも教わるというジャックとジルのお話があります。 わかりやすく日本円にします。 ジャ

記事を読む

Message

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

AWOWミニpc win11 Pro N100 16GB DDR4 512GB 注文

アマゾンのブラックフライデー、買うものないなと思ってましたが、

【FX】取引手数料の謎

私はどの FX 業者でも NDDタイプの口座を使用しています。 スプ

【FX】MyFXMarkets のデモ口座は簡単に開ける

MyFXMarkets とてもスプレッドが狭いと誰かに言われている

【FX】リアル口座とデモ口座の同時進行(2)

前回の記事「【FX】リアル口座とデモ口座の同時進行」でこう書きました。

【FX】リアル口座とデモ口座の同時進行

FX で自動売買プログラムを使う場合、いきなりリアル口座にて他人の勧め

→もっと見る

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