【FX】ボリンジャーバンド順張り手法
公開日:
:
最終更新日:2024/10/01
マネー
逆張りで使う人が多いボリンジャーバンドですが、開発者のボリンジャーさんは順張りで使えとおっしゃっています。
そこでボリンジャーバンドを順張りに使う方法で最もシンプルなものを作りました。
ロジックは、
買いエントリ
- +2σを終値で超えた陽線が2本連続する
買いの手仕舞い
- 5EMA を終値で下抜ける または 直近低値を下抜ける
売りエントリ
- -2σを終値で超えた陰線が2本連続する
売りの手仕舞い
- 5EMA を終値で上抜ける または 直近高値を上抜ける
と簡単なものです。
チャートで示すと、下のような感じになります(青線が買いの部分)。
*
バックテスト XAGUSD 30分足 0.1ロット固定 2024/9/1-2024/9/29
純益 319$、最大ドローダウン137.1$、5勝5敗(勝率50%)、プロフィットファクター 2.89 とまずまず。
*
負けの金額がそれほど大きくならない割に、利益は伸ばせていますね。
これは、利確にボリンジャーバンドのミドルバンドを使わないで EMA(5) を使っていることによります。
もろもろの書籍ではミドルバンドを使えと書いていますが、それでは読者に気の毒です。
(上のチャートの部位では、ミドルバンド決済では負けになってしまいます)
どの通貨ペアでも使えますが、ボラティリティの高いポンド、ゴールド、シルバーでの成績がいいです。
トレンドの弱い期間はダマシが多く利益は減りますが、それは他の EA と同じです。
プログラム
//
// jjBB01a.mq4
////マジックナンバーの定義
extern int MAGIC = 24093001 ;//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “”; //コメントextern int Fast_period = 18 ;
extern bool TimeFilter = true ;
extern int in_time = 8; // 取引開始時間
extern int out_time = 15; // 取引停止時間//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数int OS1 ;
int OS2 ;
double OOPL;
double OOPS;double LL2 = 0.0 ;
double HH2 = 1000000.0 ;int start()
{if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double BBub1 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 1) ; // ラインインデックス
double BBlb1 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 1) ;
double BBub2 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 2) ; // ラインインデックス
double BBlb2 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 2) ;double ma10 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, 1);
if ( TimeFilter != true ) {
in_time = 0; out_time = 24 ;
}//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ( Close[1] <= ma10 || Close[1] < LL2)
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,clrAqua);
if( Exit_L ==1 ) {Ticket_L = 0;}
}//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ( Close[1] >= ma10 || Close[1] > HH2 )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,clrRed);
if( Exit_S ==1 ) {Ticket_S = 0;}
}//買いエントリー
if( Close[2] > BBub2 && Close[1] > BBub1 && Close[1] > Open[1] && Close[2] > Open[2]
&& (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,clrAqua);
LL2 = Low[iLowest(NULL, 0, MODE_LOW, Fast_period, 2)];
}//売りエントリー
if( Close[2] < BBlb2 && Close[1] < BBlb1 && Close[1] < Open[1] && Close[2] < Open[2]
&& (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,clrRed);
HH2 = High[iHighest(NULL, 0, MODE_HIGH, Fast_period, 2)];
}return(0);
}
###
関連記事
-
-
【FX】AXI Select 奇々怪々なエッジスコア
プロップファームの一種である AXI Select はインキュベーションステージに入ってしばらくして
-
-
FX トレード 2014/11/18 MACD も参考に
本日もリアルトレード。素直に USD/JPY で行くことにします。 そろそろ 11月の終わりな
-
-
【FX】AXI Select は一番実入りのいい副業かも
AXI Select とは AXI という海外FX業者がみずから行っているプロップトレーダー養成プロ
-
-
小さな会社が一瞬で顧客とキャッシュをつかむ5つの成功戦略(その2)
ジョイントベンチャー 先日買った「小さな会社が一瞬で顧客とキャッシュをつかむ5つの成功戦略(原
-
-
【FX】2024年5月総括
以前の記事「【FX】2024年5月第1,2,3,4週総括」の続きです。 5月が終わりました。
-
-
FEPI / REX ファング&イノベーション・エクイティ・プレミアム・インカムETF
今日は REX社の高配当ETF の残りの1つである、FEPI(REX ファング&イノベーショ
-
-
ようやく米国株下落の終焉?
昨夜 2023/11/3 の米雇用統計の発表で、今年中の利上げはまずなくなりそうだという見込みが強く
-
-
地方銀行3行が赤字?
日経新聞の経済記事なのでちょっと信用性に難があるかもしれませんが、スルガ、武蔵野、栃木の3つの地方銀
- PREV
- 2024-09-27自民党総裁選
- NEXT
- 楽天SCHD の人気がすごい








