[FX] 4TFStochBars というインジケータ
公開日:
        
        :
         最終更新日:2019/11/18        
        マネー                
      
4TFStochBars.mq4 というストキャスティクスを4つの時間足でバー表示するインジケータがあるのですが、ダウンロードサイト から落とすと
のようにサブウィンドゥに表示されます(USDJPY30分足)。
4本(一番下のバーは無視してください)のバーのうち、一番上が現在の時間足。30分足だとすると、その下に 1時間足、4時間足、日足が表示されます。
ライム色(明るいグリーン)はストキャスの%Dが%Kより大きい場合、赤色はその逆を示します。
特に現在の時間足では高値圏での「%D>%K」、低値圏での「%D<%K」には注意が必要なので、現在の時間足の普通の2本線表示のストキャスも表示させて用いるのがいいと思います。
使い方は、
- 4つのバーがすべてライムになれば買いシグナル
- すべて赤なら売りシグナル
- エントリしていて一番上のバーのみ色が変われば利確のチャンス
というものですが、高値圏での「%D>%K」、低値圏での「%D<%K」には注意が必要と書いたとおり、利確には通常の2本線表示のストキャスで判断してください。
ただし、これのみの売買シグナルはダマシが多いため、ほかのものとの併用は必須です。
で、プログラムのバグを見つけました。
概念のミス
183行目からの
   percentD = iStochastic(NULL,prd,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_MAIN,yy);
percentK = iStochastic(NULL,prd,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_SIGNAL,yy);
switch (tf)
{  case 4: buf4_down[i]=EMPTY_VALUE;buf4_up[i]=EMPTY_VALUE;  if (percentK>=percentD)  buf4_down[i] = 1;           else buf4_up[i] = 1;           break;
case 3: buf3_down[i]=EMPTY_VALUE;buf3_up[i]=EMPTY_VALUE; if (percentK>=percentD)  buf3_down[i] = 1 + Gap * 1; else buf3_up[i] = 1 + Gap * 1; break;
case 2: buf2_down[i]=EMPTY_VALUE;buf2_up[i]=EMPTY_VALUE; if (percentK>=percentD)  buf2_down[i] = 1 + Gap * 2; else buf2_up[i] = 1 + Gap * 2; break;
case 1: buf1_down[i]=EMPTY_VALUE;buf1_up[i]=EMPTY_VALUE; if (percentK>=percentD)  buf1_down[i] = 1 + Gap * 3; else buf1_up[i] = 1 + Gap * 3; break;
}
これを
   percentK = iStochastic(NULL,prd,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_MAIN,yy);
percentD = iStochastic(NULL,prd,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_SIGNAL,yy);
switch (tf)
{  case 4: buf4_down[i]=EMPTY_VALUE;buf4_up[i]=EMPTY_VALUE;  if (percentK<percentD)  buf4_down[i] = 1;           else buf4_up[i] = 1;           break;
case 3: buf3_down[i]=EMPTY_VALUE;buf3_up[i]=EMPTY_VALUE; if (percentK<percentD)  buf3_down[i] = 1 + Gap * 1; else buf3_up[i] = 1 + Gap * 1; break;
case 2: buf2_down[i]=EMPTY_VALUE;buf2_up[i]=EMPTY_VALUE; if (percentK<percentD)  buf2_down[i] = 1 + Gap * 2; else buf2_up[i] = 1 + Gap * 2; break;
case 1: buf1_down[i]=EMPTY_VALUE;buf1_up[i]=EMPTY_VALUE; if (percentK<percentD)  buf1_down[i] = 1 + Gap * 3; else buf1_up[i] = 1 + Gap * 3; break;
}
のように書き換えてください(赤字が変更箇所)。表示は変わりません。
テキストのズレ
151行目の
case 4: txt = tf2txt(Period_4); gp = 1.5 + shift; break;
も謎で、
case 4: txt = tf2txt(Period_4); gp = 1.0 + shift; break;
であるべきかと思います。
テキストの色
あと、好みで 40行目の
extern color TextColor = Blue;
ですが、黒地のチャートをつかっていると暗くて見えにくいのでもっと明るい色
extern color TextColor = Aqua;
とかに変えておくとベターかと思います。
*
上記で示したようにもっと奇妙な「バグ」がいるのですが、それはまだ取れていないので次の機会に。
関連記事
[FX] 4TFStochBars というインジケータ(2)
###
関連記事
-  
                              
- 
              塩漬けになった不動産を優良資産に変える方法 (経営者新書) / 相馬 耕三塩漬けになった不動産を優良資産に変える方法 (経営者新書) 相馬 耕三 幻冬 
-  
                              
- 
              [FX] ノントレンドを省くフィルタ2種トレンドフォロワー型の自動売買プログラムを使用する場合は、いかにノントレンドのときに暴発させないかと 
-  
                              
- 
              【FX】Fintokei チャレンジ 14日め以前の記事「【FX】Fintokei チャレンジ 7日め」の続きです。 現在わたしはプロップフ 
-  
                              
- 
              [FX] 2015/5/7 また EA が沈黙以前の記事「先週はGWの影響で忙しかった 」 でも書きましたが、 FX の EA を稼働させてい 
-  
                              
- 
              [FX] 早朝のスプレッド 10/23本日 10/23 早朝のスプレッドの酷さを晒します。 OANDA 5:22:13 AM 
-  
                              
- 
              【FX】Fintokei 速攻プロプラン開始Fintokei の速攻プロプランを開始しました。 コースが 5種類あって初期証拠金の額が違う 
-  
                              
- 
              FX トレード 2014/11/20本日のトレードのご報告。 本日はデイトレの心づもりです。 ヒロセ通商の15分足のデータがおか 
-  
                              
- 
              【FX】メタトレーダー(MT4)の武装化インストールしたばかりのチャートソフト(売買機能付き)のメタトレーダー(MT4)はまだ素手の状態なの 
-  
                              
- 
              2019/9/16 早朝窓開け 早起きは何文の得?本日は日本は祝日ですが、6時に起きたので相場チェックすると、珍しくクロス円で「窓開け」が起き 



 
         
        




