この戦略は,ストキャスティックRSI指標に基づく取引戦略である.ストキャスティックRSI指標は,ランダムな指標であるストキャスティックと相対的に強い指数であるRSIを組み合わせて生成されたオシレータ指標である.この戦略は,ストキャスティックRSIの多空線を横断することによって判断し,取引信号を生成する.
14周期RSIを計算する.
rsi1を基にストキャスティックKとD値を計算する.
K値は80時間以上で,空いている時間は20時間未満である.
K線と80,20水平線が交差する時に平仓.
ポジティブ取引と逆取引の選択肢があります.
取引の種類と周期を設定した後,戦略の効果を見るために反省します.
この戦略の主な利点は:
ストキャスティックRSIは,RSIとストキャスティックの優位性を統合し,好ましい振動指標である.
偽の突破をフィルタリングするために,OverboughtとOversellの判断を組み合わせて.
設定可能な反転取引は,下落の機会に適用されます.
規則はシンプルで直感的で理解しやすい.
操作が簡単で,指数や取引シグナルが可視化されています.
この戦略の主なリスクは
ストップ・ロスの設定は考慮されていないので,大きな損失のリスクがあります.
ランダムな指標は偽信号を発生しやすいので,トレンドフィルターと組み合わせる必要があります.
ポジションの数は制御されていないため,過剰ポジションのリスクがあります.
パラメータ最適化方法は設定されていない. パラメータは過適合しやすい.
取引コストの影響は考慮されていません.
足らない反射データにより曲線適合が起こりうる.
この戦略は以下の点から最適化できます.
ストップ・メカニズムを設定し,ストップ・ポイントを最適化する.
パラメータの組み合わせを最適化し,偽信号を低減する.
ポジション数とレバレッジコントロールの増強
トレンド判断の指数で逆行を避ける.
取引コストの影響を考慮する.
長い時間周期と異なる品種を用いて,再テストを検証する.
ストキャスティック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)