
この戦略は,相対強度指数 (RSI) を計算することによって,市場の潜在的な買入と売却の機会を識別する.それは,価格がトレンドから反動する可能性がある点を判断するために,RSIの指標を使用し,反転の機会を捕捉する.RSIが超買または超売り領域から反転したとき,取引信号が生じる.
この戦略の核心指標はRSIで,資産が過大評価されているか過小評価されているかを判断するために,価格が下がった日数に対する終止価格上昇の比率を示します.RSIは0から100の間の数値で示され,数値が高くなり,市場の強さが向上し,数値が低くなり,市場の強さが低下します.
策略は,まず,周期長さ (デフォルト14) を含むRSIのパラメータを設定し,超売り領域の値 (デフォルト70と30) を設定します. そして,閉店価格に基づいてRSIの値を計算します. RSI上の値が超売り領域の値を通過すると,買取シグナルが生成され,RSIの下の値が超売り領域の値を通過すると,売出シグナルが生成されます.
策略は同時にRSI指標曲線と値線を描きます. 価格グラフに文字とグラフィックで買い売りシグナルをマークします. さらに,策略は,前の取引シグナル以来の価格変化のパーセントを計算して描画し,トレーダーにシグナル後の価格動きを直視させます.
この戦略は,相対強度指数の反転取引原理によって設計され,その後の反転の機会を捕捉するために,資産が短期間に明らかな過買過売現象が発生しているかどうかを判断する. パーセントの変化を計算し,視覚的な取引ヒントを組み合わせて,取引決定を補助する. RSIパラメータは,カスタマイズされ,ユーザーは個人の好みに応じて調整することができます.
/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Improved RSI Strategy", overlay=true)
// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOversold = input(30, title="Oversold Threshold")
rsiOverbought = input(70, title="Overbought Threshold")
// Calculate RSI
rsiValue = ta.rsi(close, rsiLength)
// Define entry conditions
longCondition = ta.crossover(rsiValue, rsiOversold)
shortCondition = ta.crossunder(rsiValue, rsiOverbought)
// Plot RSI and thresholds
plot(rsiValue, title="RSI", color=color.blue)
hline(rsiOversold, title="Oversold Threshold", color=color.red)
hline(rsiOverbought, title="Overbought Threshold", color=color.green)
// Calculate percentage change since last signal
var float percentageChange = na
lastCloseValue = ta.valuewhen(longCondition or shortCondition, close, 1)
if longCondition or shortCondition
percentageChange := (close - lastCloseValue) / lastCloseValue * 100
plot(percentageChange, color=color.blue, style=plot.style_histogram, linewidth=1, title="% Change since last signal")
// Execute strategy
if longCondition
strategy.entry("RSI Long", strategy.long)
if shortCondition
strategy.entry("RSI Short", strategy.short)
// Plot shapes and text for buy/sell signals
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")