【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】2023年11月第3週までの決算
「【FX】2023年11月第2週中間決算」の続きで、 先月の1か月分と今月の約3週間分
-
-
nanaco カードを作りましょう(おトクな方法)
* 私は週に3回はセブンイレブンに行きます。 新生銀行、りそな銀行、滋賀銀行、関西アーバン銀
-
-
【FX】IS Black という EA
昔から知られている FX自動売買ソフト(EA)に IS Black というのがあります。 似た
-
-
【FX】平均足+MACD を利用する EA
Youtube などでよく紹介されているのが、平均足と移動平均線とを使ったトレード手法。 裁量
-
-
アメリカ株逝く・・・あれっ?
今日は週明けの月曜日。 先週金曜日に大事件がありました。 アメリカ最大の経済イベントの一つで
-
-
【FX】リアル口座とデモ口座の同時進行(2)
前回の記事「【FX】リアル口座とデモ口座の同時進行」でこう書きました。 FX で自動売買プログラム
-
-
【FX】2024年6月第1,2,3週総括 天国か地獄か
2024年6月の第3週の FXトレードが終わりました。 自分の備忘録のために始めたので、興味がなけ
-
-
【FX】Black Diamond V4 という EA(2)
以前の記事「【FX】Black Diamond V4 という EA」の続きです。 急激な価格変
-
-
カジノに行きますか?
ラスベガスなどのカジノには行ったことがありませんが、行こうとは全然思いません。 豪華な設備を見
-
-
私のささやかな投資道
預金(貯金) 銀行預金は為替差損の発生するものはいっさいしておりません。 手数料のない普通の
- PREV
- 2024-09-27自民党総裁選
- NEXT
- 楽天SCHD の人気がすごい








