
この策略は,双均線がRSI指標を重ねた定量取引策である.この策略は,株の双均線がRSI指標と重ねて計算され,株の超買い超売り状況を識別し,株が過大評価されたときに多頭ポジションを確立し,過大評価されたときに空頭ポジションを確立し,ヘッジ・シューディングを実現する.
%K線と%D線の交差を計算して超買いと超売りを判断する二平線のRSI指標の量化取引戦略.%K線は,その株の終了価格のK日の単純移動平均を計算し,%D線は,%K線のD日の単純移動平均を計算する.%K線が下から%D線を穿越すると,株式が過小評価されていると考えられ,多項ポジションを確立する.%K線が上から%D線を穿越すると,株式が過大評価されていると考えられ,空頭ポジションを確立する.
また,この戦略はRSI指標と組み合わせて,株の超買い超売り状況を判断する.RSI指標は,株の下落速度の変化を反映し,RSIが50%以下であれば株が過大評価されていることを示す.60%以上であれば株が過大評価されていることを示す.
統合双均線指数とRSI指数で,%K線が底から%D線を貫通し,RSIが50%以下であるとき,株が重く過大評価されていると判断され,多頭ポジションを確立すべきである.%K線が上から%D線を底から貫通し,RSIが60%以上であるとき,株が重く過大評価されていると判断され,空頭ポジションを確立すべきである.
リスク対策:
取引量指標を他の指標と組み合わせて判断を増やす必要があり,突破信号の信頼性を確保し,偽信号による損失を避ける.同時に,ポジションコントロールモデルを最適化し,高い確信度で適切なポジションを拡大することで,より高い利益を得ることができる.
双均線でRSIを重ねた定量取引戦略は,双均線とRSIを重ねて使用することで,株の超買超売を判断し,株が過大評価されたときに多行し,過大評価されたときに空き,ヘッジ・スウェードを実現する.この戦略は,双均線指標の価格捕捉能力とRSIの超買超売判断能力を充分利用し,単一の指標の判断の制限を回避する.柔軟なパラメータ配置により,異なる株に適用できる.さらに最適化され,リスクを制御した前提でより高い収益を得ることができる.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="Easy to Use Stochastic + RSI Strategy", overlay=false)
//// Only Enter Long Positions /////
// strategy.risk.allow_entry_in(strategy.direction.long)
///// Backtest Start Date /////
startDate = input(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", defval=2014, minval=1800, maxval=2100)
afterStartDate = true
///// Create inputs /////
// Stochastics //
periodK = input(14, title="K", minval=1)
periodD = input(3, title="D", minval=1)
smoothK = input(3, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
// RSI Values //
rsivalue = rsi(close, 14)
///// Plot Stochastic Values and Lines /////
plot(k, title="%K", color=lime)
plot(d, title="%D", color=red)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=80)
///// Submit orders /////
if (afterStartDate and crossover(k, d) and k<20 and rsivalue<50)
strategy.entry(id="BUY", long=true)
if (afterStartDate and crossunder(k, d) and k>80 and rsivalue>60)
strategy.entry(id="SELL", long=false)