超シンプルな自動売買プログラム(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);
}
###
関連記事
-
-
2025年株式投資 簡単すぎる総括
本日で今年の投資は終わりです。 楽天銀行の現在高は以上のとおり。 上出来です。 で
-
-
FX最強チャート GMMAの真実 / 陳 満咲杜 (3)
FX最強チャート GMMAの真実 陳 満咲杜 扶桑社 2012-06-29
-
-
日本の年金制度 年金記録問題 マイナンバー制度
* ワタシは日本の公的年金制度は全く信用しておりません。 ま、そもそも厚労省がみずからの利権
-
-
【FX】どちらが良い自動売買プログラム?
自動売買プログラム(MT4 では EA と呼びます)の良悪の判定は難しいものです。 問題(実際の例
-
-
【FX】ボリンジャーバンドを逆張りで(2)
昨日の記事「【FX】ボリンジャーバンドを逆張りで」の続きです。 本日、バグをつぶして、少し改良
-
-
【FX】2024年4月第4週スタート
FX トレードは 自動売買プログラムを入れ替えて、今月(2024年4月)から再出発をしました。
-
-
いますぐ妻を社長にしなさい / 坂下 仁
いますぐ妻を社長にしなさい 坂下 仁 サンマーク出版 2014-02-19
-
-
ブランド品は買う価値はない(売る価値はあるけど)
以前にもいろいろ書いていますが、私はブランド物はまず買いません。 誰かがより高い値段で買い取っ
-
-
[FX]通貨ペア毎の順バリ・逆バリの時間割(2014年度)
以前の記事 「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」、「超シン
-
-
【FX】AXI Select 31日め
本日の AXI Select パネル(クライアントポータル)の状態は、 これで 5つの











