この戦略は,ストコストティックRSIインジケーターと相対強度指数 (RSI) を組み合わせたストコストティックRSIインジケーターに基づいています.ストコストティックRSIラインが過剰購入または過剰販売レベルを横切ったときに取引信号を生成します.
閉じる価格の14期間のRSIを計算します rsi1.
ストカスティックKとD値をrsi1に基づいて計算する.
Kが80を超えるとロングで Kが20を下回るとショートします
Kが80レベルと20レベルを越えると ポジションを閉じる
逆の方向で取引するオプション
性能を評価するための異なる製品と時間枠のバックテスト
この戦略の主な利点は以下の通りです.
ストカスティックRSIは,RSIとストカスティックオシレーターの強みを組み合わせます.
過剰購入/過剰販売エリアは 偽のブレイクをフィルタリングするのに役立ちます
設定された場合,取引の逆転に柔軟性がある.
シンプルで直感的な取引ルール
手動取引に便利です
この戦略の主なリスクは,
ストップロスは大きな損失を招きます
トレンドフィルターなしのオシレーターで 誤った信号が出る
ポジションのサイズ管理は不要 過剰取引のリスク
パラメータの最適化がないとオーバーフィットになります
取引コストを無視します
バックテストのデータが不足すると 曲線がフィットします
戦略は以下によって改善できます.
ストップ・ロスを追加し ストップレベルを最適化します
誤った信号を減らすためにパラメータを最適化
ポジションの大きさとレバレッジを制御する
逆トレンドの取引を避けるためにフィルターを追加します
取引コストの会計
より長い時間枠と手段で検証する
ストコストティックRSI戦略は,RSIとストコストティックオシレーターの強みを組み合わせ,線がキーレベルを横切ったときに信号を生成する. 戦略は使いやすいものの,誤った信号のリスクがあります.ストップ,パラメータ,トレンドフィルター周辺のさらなる改善により,より堅牢な短期取引システムを構築するのに役立ちます.
/*backtest start: 2023-08-23 00:00:00 end: 2023-09-22 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 24/11/2014 // This strategy used to calculate the Stochastic RSI // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Stochastic RSI", shorttitle="Stoch RSI Backtest") TopBand = input(80, step=0.01) LowBand = input(20, step=0.01) reverse = input(false, title="Trade reverse") hline(TopBand, color=red, linestyle=line) hline(LowBand, color=green, linestyle=line) Source = close lengthRSI = input(14, minval=1), lengthStoch = input(14, minval=1) smoothK = input(3, minval=1), smoothD = input(3, minval=1) rsi1 = rsi(Source, lengthRSI) k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) d = sma(k, smoothD) d_cross_80 = cross(d,TopBand) dc80 = d_cross_80 ? red : green pos = iff(k > TopBand, 1, iff(k < LowBand, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(k, color= orange) plot(d, color=dc80)