
RSI移動平均クロスオーバートレンド戦略 (RSI Moving Average Crossover Trend Strategy) は,RSIの平均クロスオーバー信号を利用してトレンドを判断し,取引シグナルを発信する戦略である.この戦略は,価格のEMAを同時に組み合わせて,価格がEMAよりも高い場合にのみ,購入シグナルを発信する.
この戦略の核心指標は,RSIであり,RSIのEMAとSMAの2つの均線を計算する. RSIのEMAラインがSMAラインより高く,価格がEMAより高い場合にのみ,買入シグナルを発信し,RSIのEMAラインがSMAラインより低い場合に,売り出シグナルを発信し,トレンド追跡を実施する.
RSI指標は,市場の超買い超売り現象を効果的に反映することができる.RSI指標の70を突破すると,市場が超買いとみなされ,30を破ると,超売りとみなされる.この戦略は,EMAとSMAの2つの移動平均を使用して,RSI指標のトレンドと転換点を発見する.EMA線は最新の価格変化に対してより敏感であり,SMA線は古いデータに依存し,両者は配合を形成することができる.
RSIのEMAが上昇し始めると,市場が収束し安定した兆候を示し,その方向をSMAで検証する.SMAも上昇し始めると,RSIが明らかに上昇傾向に入ると,この時,戦略は,価格がEMAよりも高いという前提で買い信号を発し,トレンドを追跡する.
これは,トレンドを追跡する戦略であり,中長線の方向性機会を効果的に捉えることができます. RSIのEMAとSMAのクロス検証を用いることで,誤った信号を軽減し,安定性を高めることができます.
この戦略はまた,価格のEMAを組み合わせて,価格上昇のトレンドのみで購入することを保証し,変動のリスクを回避し,利益の確率を向上させます.
この策略は主にRSI指標に基づいている.RSIが誤信号を生じるとき,この策略も誤信号を伴います.さらに,RSI指標は,超買い超売り現象を判断するのに適しており,中長線傾向を判断するのに一定の遅れがある.
この策略には一定の時間遅延も存在し,特にRSIのEMAとSMAの平均値が平準化すると,信号の延期が起こる.この期間にも一定の損失のリスクがある.
RSIを最適化して,より適切なパラメータを選択し,判断の効果を高めることも考えられます.
ストップロズロジクスを加え,損失が一定の幅に達した後にポジションを退出し,リスクを効果的に制御することを考えることができる.
異なる時間周期のパラメータ設定をテストし,パラメータを最適化して,戦略がより多くの品種とより多くの周期で安定的に動作できるようにします.
RSI均線交差トレンド戦略は,RSI指標を用いてトレンド方向を判断し,交差検証する簡単な戦略である.価格EMAと組み合わせて,上昇傾向の中で方向性の機会を掴むことができる.この戦略は,安定性が高く,中長線を保持するのに適しているが,一定の遅れのリスクを予防するために注意が必要である.さらに最適化することで,この戦略のパフォーマンスをより優れたものにすることができる.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay = input(defval = 1, title = "From Day", minval = 1)
FromYear = input(defval = 2015, title = "From Year", minval = 2015)
ToMonth = input(defval = 1, title = "To Month", minval = 1)
ToDay = input(defval = 1, title = "To Day", minval = 1)
ToYear = input(defval = 9999, title = "To Year", minval = 2022)
// syminfo.mintick = 0.01$ for BTCUSDT
testPeriod() => true
//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")
// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)
//EMA
ema=ema(close,length)
//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)
//ORDERS
if (testPeriod())
strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
strategy.close(id="long", when=(emavalue < smavalue))
// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)