平均足+バンドウォーク EA(1)
公開日:
:
マネー
昔からよく”聖杯”と言われている、バンドウォークに飛び乗るトレンドシステムの研究です。
ADX30以上をフィルタにしている本もありますが、とりあえず簡単に始めてみます。
買いエントリ(下のすべての条件を満たす)
- EMA5:上向き
- 平均足:最低3本の陽線が連続し、その終値がボリンジャーの1σを上回る
売りエントリ(下のすべての条件を満たす)
- EMA5:下向き
- 平均足:最低3本の陰線が連続し、その終値がボリンジャーの -1σを下回る
決済(下のいずれかの条件を満たす)
- HLバンドトレーリングストップ
- 逆の平均足が2本連続
結果
うまく売買が行われているようです。
平均足の終値ですのでボリンジャーの2σを越えることはまれで、特にこの期間では全くないようです(高値にしますと 2σをよく逸脱すると思います)。
ドル円 1時間足 2014/1/1 – 2015/1/1
トレンドのない期間はさっぱりですし、あまり成績はよくありませんが、これから改良に努めます。
プログラムソース
// // yasciiSayHi01 // //マジックナンバーの定義 #define MAGIC 42731 //パラメーターの設定// extern double Lots = 1.0; //取引ロット数 extern int Slip = 10; //許容スリッページ数 extern string Comments = "yasciiSayHi01"; //コメント extern int Fast_period = 14 ; extern int BB_Period=20; extern int MA_Period = 5 ; double Deviation = 1.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(){ if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ; double HA_open1 = ( Open[2] + Close[2] ) / 2.0 ; double HA_close1 = ( Open[1] + Close[1] + High[1] + Low[1] ) / 4.0 ; double HA_open2 = ( Open[3] + Close[3] ) / 2.0 ; double HA_close2 = ( Open[2] + Close[2] + High[2] + Low[2] ) / 4.0 ; double HA_open3 = ( Open[4] + Close[4] ) / 2.0 ; double HA_close3 = ( Open[3] + Close[3] + High[3] + Low[3] ) / 4.0 ; double bbp1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 1) ; double bbm1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 2, 1) ; double FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)]; double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)]; double ema5 = iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 1) - iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 2); //買いポジションのエグジット OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET); OOPL = OrderOpenPrice(); if( (Close[1] < FastHH2 || (HA_open1 > HA_close1 && HA_open2 > HA_close2)) //bbw1 < bbw2) && ( 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] > FastLL2 || (HA_open1 < HA_close1 && HA_open2 < HA_close2)) //bbw1 < bbw2) && ( Ticket_S != 0 && Ticket_S != -1 )) { Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue); if( Exit_S ==1 ) {Ticket_S = 0;} } //買いエントリー if( ema5 > 0 && HA_open1 < HA_close1 && HA_open2 < HA_close2 && HA_open3 < HA_close3 && HA_close1 > bbp1 && HA_close2 > bbp1 && HA_close3 > bbp1 && ( 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( ema5 < 0 && HA_open1 > HA_close1 && HA_open2 > HA_close2 && HA_open3 > HA_close3 && HA_close1 < bbm1 && HA_close2 < bbm1 && HA_close3 < bbm1 && ( 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); }
###
関連記事
-
-
マンガ 生き残りの株入門の入門 / 矢口 新 てらおかみちお
マンガ 生き残りの株入門の入門―あなたは投資家?投機家? (ウィザードコミッ
-
-
完全ガイド 100%得するふるさと納税生活 / 金森 重樹
完全ガイド 100%得するふるさと納税生活 (SPA!BOOKS) 金森 重樹
-
-
【FX】新しい FX自動売買プログラム(朝スキャ)作成
久しぶりに FXの自動売買プログラム作りに ハマっています。 昨日作ったものは、珍しくそこそこ
-
-
2023-05-31 ポートフォリオ改変
最近少し時間的に余裕ができたので、私が趣味でやっている投資分のポートフォリオの整理をしようかと思いま
-
-
FX には興味を失った!
何年か前に借りていた VPS(仮想専用サーバー)がたびたび落ちてしまい、腹が立ってここ数年 FX(自
-
-
【FX】 ZuluTrade デモ口座を開いてみた
ZuluTrade とはここに登録している FXトレーダーの中から有望そうな人を自分が選んで、そ
-
-
【FX】 Dead Zone Scalper という EA
昨日の記事「【FX】Fintokei に適する EA」の続きです。 よい単ポジ系 EAを見つけ
-
-
web-keepers Windows VPS についてのトラブル(2)
昨年年末から利用している Windows VPS(仮想専用サーバー)の web-keepers
-
-
1万円起業 片手間で始めてじゅうぶんな収入を稼ぐ方法 / クリス・ギレボー 本田直之
1万円起業 片手間で始めてじゅうぶんな収入を稼ぐ方法 クリス・ギレボー 本田直之
-
-
超シンプルな自動売買プログラム ボリ平ドラゴン式 (その2)
以前ここで「超シンプルな自動売買プログラム(2) ボリ平ドラゴン式」でとりあげた ボリ平ドラゴン