ストキャスティクスの手法を検証するためにTradingViewのストラテジーテスターを使って検証、
ストラテジーテスターは過去検証にてそのテクニカル手法がどの程度利益がだせそうかざっくり分かります。
ストキャスティクス
基本的な計算の意味やエントリー手法についてこちら参照してください。
ストキャスティクスには3種類のラインがあり、ラインのGC(ゴールデンクロス)やDC(デッドクロス)でエントリーチャンスがあると言われています。
TradingViewのストラテジーテスターを使えばより簡単に素早くロジックの優位性を確かめる事ができます。
STOCH Slow Strategy(スローストキャスティクス・ストラテジー) を試しに走らせると、
USDJPY日足の長期のトレードで約43万の利益が出ています。
この例はデフォルトでTradingViewに内蔵されているストキャスティクスのトレード戦略です。
因みにこれは スローストキャスティクスの GC/DC戦略。
STOCH Slow Strategy, TradingView
赤い領域が損失の累計で、青が利益です。トータルで430,860.00¥(約43万)となっています。
ストラテジーテスターの見方は、TradingViewのストラテジーテスターで検証を参照
STOCH Slow Strategy
これはTradingViewに元から入っているストラテジーで、スローストキャスティクスを使った戦略です。インジケータの中にあり、ソースコードの表示ができロジックがわかります
Pineスクリプトが表示してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//@version=4 strategy("Stochastic Slow Strategy", overlay=true) length = input(14, minval=1) OverBought = input(80) OverSold = input(20) smoothK = 3 smoothD = 3 k = sma(stoch(close, high, low, length), smoothK) d = sma(k, smoothD) co = crossover(k,d) cu = crossunder(k,d) if (not na(k) and not na(d)) if (co and k < OverSold) strategy.entry("StochLE", strategy.long, comment="StochLE") if (cu and k > OverBought) strategy.entry("StochSE", strategy.short, comment="StochSE") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr) |
k の計算は %K のように思えますが 本来の計算式 そのままではありません
1 |
k = sma(stoch(close, high, low, length), smoothK) |
stoch() はストキャスティクスの計算で、
sma は本来の %K の単純移動平均です。
smoothK が3なので近似的に %D になります。
尚、smoothK を1にすると %K になります。
1 |
d = sma(k, smoothD) |
更にその k を単純移動平均しているので、これは Slow%D を意味します。
このストレージの名前の通り、これは %D と Slow%D のスロー・ストキャスティクスだと分かります。
1 2 |
if (co and k < OverSold) strategy.entry("StochLE", strategy.long, comment="StochLE") |
co は k と d のデッドクロスで、かつ k が売られすぎの時にエントリーをするという意味です。
同様にゴールデンクロスでのエントリーもあり、スローストキャスティクスでのGC/DC戦略だと分かります。
決済の追加
実はこのままでは決済が実行されないのですが、ドテンするようにすると同じ結果になります。
つまり買いエントリーは売りのエントリー条件で買いポジションを決済、そして新しく売りポジションを持つということです。
これは強いトレンドで反対方向にそのまま持っていかれ、大きな損失になるリスクがあるので修正します。
例えば、利益が50pipsで利確、損切りは40pips
1 2 |
strategy.exit("StochLE", "StochLE", profit=500, loss=400) strategy.exit("StochSE", "StochSE", profit=500, loss=400) |
TradingView
買い:%DがSlow%D上抜いて(DC)、%Dが20%以上でエントリー
以降+50pipsで利確、-40pipsで損切
売り:%DがSlow%Dを下抜いて(GC)、%Dが80%以下でエントリー
以降+50pipsで利確、-40pipsで損切
TradingView
このストラテジーで収益が130万になりました
- 証拠金100万でエントリーは1万通貨、レバレッジは1程度
- 期間が2002年からなので
- 年間68万の利益
- エントリー回数は年8回程度なので
3ヶ月に2回程度とあまり多くはありません
元々のストラテジーよりは結果はよくなりましたが、これはあくまでUSDJPYの日足のケースで、これを時間足、通貨ペアを変えるとまったく通用しなくなります。
改善案:
- 決済ルールが固定pipsなので、利確はストキャスティクスのエッジがあるところまで
- ダマシにあいやすいので、その場合は早々に損切する
以上のような修正をするとより良くなると思います。
関連ページ: