複合エントリー・シグナルRSI取引戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-11 14:49:59
タグ:

複合的なRSI取引戦略

この取引戦略は,RSI,ROC,平均線MAなどの複数の指標を組み合わせて,包括的な買賣点判断メカニズムを形成する.

具体的には,3サイクルのRSI,2サイクルのRSI変動率,および100サイクルの価格変動率を計算し,これらの3つの平均値を総合RSI指標として使用する.この複合RSI指標線が40を突破すると買い信号が生成され,70を突破すると売り信号が生成される.

この戦略の利点は,複数の指標を総合した利点は,RSIが超買い超売り判断し,RSIの変動は勢いを示し,ROCは価格変動を反映している.しかし,各指標には遅れがあり,組み合わせの使用は誤った信号のリスクを完全に回避することはできません.

全体的に,この複合的なRSI戦略は,複数の指標の優位性を融合させ,判断の精度を向上させることができる.しかし,実用的な応用では,パラメータ最適化やストップ損失設定などのリスク管理手段に注意を払う必要があるが,長期的に安定した効果を得ることができる.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1, vlow = 20
updown(s) => 
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
    ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)

band1 = 70
band0 = 40
band2 = 20

ColorMA = MA>=band0 ? lime : red

p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)

p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
p4 = plot(vlow, title="idk3", style=line, linewidth=1, color=red)

//@version=2
strategy("CMARSI")


if crossover(MA, band0)
    strategy.entry("buy", strategy.long, when=strategy.position_size <= 0)
    
if crossunder(MA, band1)
    strategy.exit("close", "buy")
    



plot(strategy.equity)

    





もっと見る