平均足システムの別種 / Heiken_Ashi_Realで平均足の移動平均線クロス
公開日:
:
最終更新日:2015/02/24
マネー
Heiken_Ashi_Real というインディケーターが MetaTrader4 で無料ダウンロードできます。
平均足の始値と終値で別々に移動平均線を作って、そのクロスを売買シグナルに利用するというものです。
ピンクと黄色(わかりやすいように色をデフォルトとは変えてあります)の2本の移動平均線がクロスした次の足の始値で売買すればいいようです。
本当に役立つのか試しに自動売買プログラム(EA)化してみました。
プロフィットファクター1.98、勝率46.93% となかなかいいではないですか。
最大ドローダウンが 29.71%と高いですが。
資産曲線
昨年3ヶ月間(2014/10/1 – 2015/1/1) ならこんな具合。
やはりトレンド相場には強いですね。
いちおう、昨年のドル円相場のちゃぶついている時期の1月1日から8月1日の期間(下の楕円で囲んだ部分)の成績をとってみました。
2014/1/1 – 2014/8/1
なんと! 前半は苦しいが、後半の4月以降で(むしろ前半より値幅が減少しているのに!)取り戻しています。
トレンドがなくても勝てる可能性があるってことでしょうか。
もっと短い時間足(ミニトレンドが多いはず)では成績は悪くなるようなのですがナゾですね。
もう少し研究してみます。
プログラムソース(Heiken_Ashi_Real.ex4 が必要)
//
// yasciiHA03.mq4
// Heiken_Ashi_Real(移動平均線クロス)を使用
//
//マジックナンバーの定義
#define MAGIC 42218
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = "HA03"; //コメント
extern int Fast_period = 14 ;
extern double margin = 0.0 ;
extern double ILC = 20.0 ;
//変数の設定//
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(){
//暴落対策(始め)
double FastHH1 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
double FastLL1 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
if( Bid < FastLL1-margin
&& ( 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);
if( Ask> FastHH1+margin
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//暴落対策(終わり)
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double HA_openMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,1);
double HA_openMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",2,2);
double HA_closeMA1 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,1);
double HA_closeMA2 = iCustom(NULL,0,"Downloads\\Heiken_Ashi_Real",3,2);
double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ((HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2) || ( OOPL - lc*Point >= Close[1] ) )
&& ( 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( ((HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2)||( OOPS + lc*Point <= Close[1] ) )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Aqua);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( HA_openMA1 < HA_closeMA1 && HA_openMA2 < HA_closeMA2
&& ( 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( HA_openMA1 > HA_closeMA1 && HA_openMA2 > HA_closeMA2
&& ( 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);
}
return(0);
}
//終わり
###
関連記事
-
-
私は株で200万ドル儲けた / ニコラス・ダーバス
私は株で200万ドル儲けた (PanRolling Library 16) ニコ
-
-
2015年2月アメリカ雇用統計
昨日のドル円相場です。 すごいでしょ。昇り龍みたいですね。 第一金曜日の夜は毎月恒例のア
-
-
[FX]タイムフィルター(3)
前回、前々回と触れてきたタイムフィルターの続きです。 通貨ペアの顔ぶれによって最適な時間帯が実
-
-
[FX] 2015/5/7 また EA が沈黙
以前の記事「先週はGWの影響で忙しかった 」 でも書きましたが、 FX の EA を稼働させてい
-
-
BLV という債券ETF のチャート
現在、私が長期の米国債券の ETF として着目しているものに、 国債や公債:TLT、EDV
-
-
簡単な平均足システム
平均足(コマ足)という価格表示の方法があります。 ローソク足の代わりに使うもので、トレンドがわ
-
-
[FX] EA の使い方&デモ口座成績 2015/4/1-8
デモ口座近況 EA 日 売買時刻 取引 lots 通貨 売買値 決済
-
-
超シンプルな自動売買プログラム(4) MACD&RSI
稼ぐ人のFX 儲けの流儀 (超トリセツ) バウンド インターナショナル・ラグジュ
- PREV
- 博覧強記の仕事術 / 唐沢 俊一
- NEXT
- QQE を使った自動売買ソフト(3)













