[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]ロブ・ブッカーのNY Box 検証
下の本に推奨されている NY Box (ニューヨークボックス)というトレード方法についての検証で
-
-
東京帝大教授が教えるお金・仕事に満足し、人の信頼を得る法 / 本多静六(2)
一昨日の記事「東京帝大教授が教えるお金・仕事に満足し、人の信頼を得る法 / 本多静六(1)」
-
-
【FX】さらばOANDA
FX の話です。 最初は独自ツールしか使えない不便な業者(LionFX)を使っていた私が MT
-
-
超シンプルな自動売買プログラム(9) RSI クロス
超シンプルな自動売買プログラム として RSI とそのシグナル(直前3本の平均値)とのクロスを考
-
-
【FX】2024年4月第1,2,3週総括
FX トレード記録「【FX】2024年4月第1,2週総括」の続きです。第3週が終わりました。
-
-
[FX] タイムフィルタについてのまとめ
タイムフィルタ開発の経緯 タイムフィルタは私の造語です。 以前、時刻をトリガーにした「時の旅
-
-
平均足システムの別種 / Heiken_Ashi_Realで平均足の移動平均線クロス(2)
前回の記事「平均足システムの別種 / Heiken_Ashi_Realで平均足の移動平均線クロス
-
-
[FX] ボリンジャーバンド順張りシンプル版
昨日読んだ本「FX ボリンジャーバンド常勝のワザ / 山中康司」に触発されて、もっともシンプルなボリ
-
-
【FX】ボリンジャーバンドを逆張りで(2)
昨日の記事「【FX】ボリンジャーバンドを逆張りで」の続きです。 本日、バグをつぶして、少し改良