*

ブレイクアウトシステムと BBW フィルタ

公開日: : 最終更新日:2015/02/24 マネー

自作ブレイクアウトシステム(yasciiBreakout05)に BBW フィルタを組み込んでみました。

ドル円 4時間足 2014/1/1-2015/1/1

1つの負けが減って、1つ勝ちが増えただけのようです。

ちなみに前作はこちら。

まあ、ブレイクアウトするときは当然 BBW の値は増加しているわけで、やらずもがな(意味がなかった)というオチかなとも思っていましたが、1つだけでも改善したのはもうけものです。

プログラムソース

 

//
// yasciiBreakout06.mq4
//
//    with BBW filter

//マジックナンバーの定義
#define MAGIC  42882        

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  "Breakout06"; //コメント

extern int Fast_period = 14 ;
extern int Slow_period = 40 ;
extern int Range_period = 21 ;
extern double margin = 0.0 ;
extern double Range_threshold = 550.0 ;

extern int       BB_Period=20;
double    Deviation=1.0;

extern double ILC = 160.0 ;
// extern double TP = 1100 ;

//変数の設定//
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 FastHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double FastLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
   double SlowHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Slow_period, 2)];
   double SlowLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Slow_period, 2)];

   double value_range = High[iHighest(NULL, 0, MODE_HIGH, Range_period, 2)]-Low[iHighest(NULL, 0, MODE_LOW, Range_period, 2)];

   double bbw1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 1) -  iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 0, 1);
   double bbw2 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 2) -  iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 0, 2);

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   //買いポジションのエグジット
   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   
   if( ( (Close[2] >=FastLL2-margin && Close[1] < FastLL2-margin) || ( OOPL - lc*Point >= Close[1] ) ) //|| ( OOPL+TP*Point <= Close[1] ))
       && ( Ticket_L != 0 && Ticket_L != -1 ))
    {     
      Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
      if( Exit_L ==1 ) {Ticket_L = 0;}
    }    

   //売りポジションのエグジット
   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();
   if(    ((Close[2] <=FastHH2+margin && Close[1] > FastHH2+margin) ||( OOPS + lc*Point <= Close[1] ))  //|| ( OrderOpenPrice()-TP*Point >= Close[1] ))
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //買いエントリー
   if(    Close[2] <= SlowHH2+margin && Close[1] > SlowHH2+margin && value_range < Range_threshold*Point && bbw1 > bbw2
       && ( 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,Blue);
    }

   //売りエントリー
   if(    Close[2] >= SlowLL2-margin && Close[1] < SlowLL2-margin  && value_range < Range_threshold*Point && bbw1 > bbw2
       && ( 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,Red);     
    } 

   return(0);
  }

###

関連記事

FXトレーダーの大冒険 / ロブ・ブッカー ブラッド・フリード

FXトレーダーの大冒険 (ウィザードブックシリーズ) ロブ・ブッカー ブラッド

記事を読む

[FX] 今週のトレード 2019年11月第1週

MT4 のデータ保存 リアル口座(FXTF)の件ですが、しばらくデータを保存するのを忘れており、今

記事を読む

一生かかっても知り得ない 年収1億円思考 / 江上 治

一生かかっても知り得ない 年収1億円思考 江上 治 経済界 2011-01-2

記事を読む

GDP は国富増加の指標にならない(2)

「GDP は国富増加の指標にならない」の続きです。 じつは GDP はいくらでも増やせるのです

記事を読む

2023/3/1 外国債券(既発債)続伸中

以前の記事「2023/2/22 外国債券が調子良い」で書きましたが、まだまだ米国の金利が上がりそうだ

記事を読む

マーフィーのスパンモデルについて

マーフィーの最強スパンモデルFX投資法 柾木 利彦 日本実業出版社 2010

記事を読む

2024年8月6日 日本株反騰

昨日の「2024年8月5日日本株大暴落」の続きです。 下は本日夕方の日経平均の日足チャートです

記事を読む

[FX] 非対称クラウドフィルタの実戦投入

「 非対称クラウドフィルタの発表 」の続きですが、multi が 0 の場合は両側対称性になりま

記事を読む

FX 本のジョーク

FX の本を読んでいると、次のようなジョークが書いてありました。 友達と山道を歩いていると

記事を読む

[FX] VQ を使った5分足システムの試作(2) 半値をプラス

前回の記事「 VQ を使った5分足システムの試作(1)」 ですが、マルチタイムフレーム(MTF)

記事を読む

Message

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

楊洲周延『千代田之大奥』

楊洲周延『千代田之大奥』とは 『千代田之大奥(ちよだのおおおく)』は

Etsy.comにアートショプを出店

Etsy.com にてデジタルアートを売る店を出しました。 ショ

chatGPT の Writing Blocks

chatGPT で Canvas(Canva ではない)を久々に使おう

楽して得た富は国を滅ぼすのか──「豊かさの呪い」を考える

今日はマジな話をしてみます。 石油が湧き、金銀が流れ込む

やっぱり頼りになる Claude

AI に描かせた画像ファイルが 2000枚を超え、そのうち 3840x

→もっと見る

  • アクセスカウンター
PAGE TOP ↑