【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);
}
###
関連記事
-
東京帝大教授が教えるお金・仕事に満足し、人の信頼を得る法 / 本多静六(2)
一昨日の記事「東京帝大教授が教えるお金・仕事に満足し、人の信頼を得る法 / 本多静六(1)」
-
【FX】EA詐欺について(2) 詐欺とは言えないが、使う必要もない
以前の記事「【FX】EA詐欺について」の続きです。 EA詐欺という言葉がよく使われています。E
-
[FX] THV モドキ自動売買プログラム (1)
本日忙しくてプログラムをなかなか作りたくて作れなかったのですが、夕食後ちょっとヒマができました。
-
MACDバーシステムの改良(4) 早めの利益確定
あの自動売買システム、しつこく変更しています。 上が変更前。下が変更後。 若干違いますね。
-
ふるさと納税6回目 / 柑橘類 室戸市(2)
「ふるさと納税6回目 / 柑橘類 室戸市 」で 10000円納税した室戸市より柑橘類の詰め合わせ
-
2024-11-17 楽天証券での投資(組み替え)
本日2024年11月17日付けの楽天証券での投資実績はこちら。 だいぶ含み益は回復して
-
超シンプルな自動売買プログラム(5) MACD&RSI(続き)
稼ぐ人のFX 儲けの流儀 (超トリセツ) バウンド インターナショナル・ラグジュア
-
[FX]時の旅人 試運転 1日目
時の旅人システム 昨日から24時間ほど自作の「時の旅人システム」の試運転をした結果です。 「
-
[FX] ルックバックRSI 戦略
「勝ってる人はここが違う!! FXで儲ける21の差」という上の本に書いてあった「ルックバック
-
東京五輪PRに 12億円
あのPRがたった 12億円 リオ五輪閉会式で流された 東京五輪のPR(ビデ
- PREV
- 2024-09-27自民党総裁選
- NEXT
- 楽天SCHD の人気がすごい