Strategi Crossover Rata-rata Pergerakan Aksial RSI


Tanggal Pembuatan: 2023-11-23 16:45:55 Akhirnya memodifikasi: 2023-11-23 16:45:55
menyalin: 2 Jumlah klik: 751
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Pergerakan Aksial RSI

Ringkasan

Strategi RSI Axial Average Crossover (RSI AXCross) adalah strategi yang digunakan untuk menentukan posisi dan posisi yang masuk dengan menghitung RSI dan Simple Moving Average (SMA) dan mengamati posisi dan posisi yang keluar dengan menggunakan Brin’s Belt to RSI Axial Average (RSI AXM) untuk menentukan resistance terhadap support.

Prinsip Strategi

Strategi ini pertama-tama menghitung indikator RSI 14 hari dan kemudian menghitung rata-rata bergerak sederhana 8 hari dari indikator RSI. Sinyal beli dihasilkan ketika indikator RSI melompati rata-rata bergerak dari bawah ke atas; Sinyal jual dihasilkan ketika RSI melompati rata-rata bergerak dari atas ke bawah.

Pada saat yang sama, strategi ini menambahkan Bollinger Bands ke RSI Axial Average. Bollinger Bands menilai apakah RSI Axial Average sudah relatif terlalu padat dengan menggunakan standar deviasi untuk menghindari membeli di titik tinggi dan menjual di titik rendah.

Analisis Keunggulan

RSI Axial Mean Line Crossover Strategi menggabungkan indikator tren RSI dan indikator pergerakan kurva yang berjalan, yang dapat secara efektif menilai tren pasar dan keacakan. Rata-rata aritmatika dari indikator RSI lebih baik untuk melunturkan dampak dari pergerakan harga pada sinyal.

Strategi ini menggunakan standar deviasi yang dapat secara otomatis menyesuaikan lebar naik dan turun, yang efektif mencegah gangguan sinyal perdagangan. Ketika pita Brin menyempit, menunjukkan perubahan yang melambat, cocok untuk mencari kesempatan untuk membalikkan; dan ketika pita Brin melebar, menunjukkan periode yang sangat berfluktuasi, cocok untuk melacak tren.

Analisis risiko

Risiko terbesar dari strategi crossover rata-rata aksial RSI adalah keterlambatan indikator RSI dan rata-rata bergerak itu sendiri. Ketika terjadi pergerakan cepat, penghitungan indikator dan penilaian tren akan mengalami keterlambatan. Ini akan menyebabkan titik beli ditinggikan dan titik jual ditekan.

Risiko utama lainnya adalah penyesatan indikator saat tren naik dan turun. Jika terjadi pergeseran dan RSI dan indikator rata-rata belum bereaksi, sinyal perdagangan yang salah akan dihasilkan dan menyebabkan kerugian.

Solusi termasuk menyesuaikan parameter RSI dengan tepat, mempersingkat periode rata-rata; menambahkan penilaian tambahan indikator tren; memperlebar jangkauan stop loss dengan tepat.

Arah optimasi

Strategi crossover rata-rata aksial RSI dapat dioptimalkan dari beberapa arah:

  1. Optimalkan parameter RSI: menyesuaikan panjang RSI untuk menyeimbangkan sensitivitas dan stabilitas

  2. Mengoptimalkan parameter moving average: menyesuaikan jenis garis rata-rata dan parameter periodik, mengoptimalkan trend dari indikator

  3. Meningkatkan mekanisme stop loss: mengatur stop loss bergerak atau stop loss waktu, mengendalikan kerugian tunggal

  4. Menggabungkan indikator tren: tambahkan MACD, KDJ dan lain-lain untuk menghindari kesalahan penilaian terbalik

  5. Verifikasi multi-frame: Menggunakan frame waktu yang lebih tinggi untuk mengidentifikasi tren dan menghindari kebocoran

Meringkaskan

Strategi RSI Axis Equilibrium Crossover secara keseluruhan adalah strategi perdagangan kuantitatif yang relatif matang. Strategi ini menggabungkan keunggulan dari berbagai indikator teknis, dengan penyesuaian parameter dan pengoptimalan multi-dimensi, dapat masuk ke pasar.

Kode Sumber Strategi
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Copyright (c) 2020-present, Alex Orekhov (everget)
// Corrected Moving Average script may be freely distributed under the terms of the GPL-3.0 license.
strategy('rsisma', shorttitle='rsisma')

ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "Bollinger Bands" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings")
maLengthInput = input.int(14, title="MA Length", group="MA Settings")
bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings")

up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiMA = ma(rsi, maLengthInput, maTypeInput)
isBB = maTypeInput == "Bollinger Bands"

plot(rsi, "RSI", color=#7E57C2)
plot(rsiMA, "RSI-based MA", color=color.blue)
rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86)
hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86)
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Upper Bollinger Band", color=color.green)
bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Lower Bollinger Band", color=color.green)
fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill")


long = ta.crossover(rsi, rsiMA)
short = ta.crossunder(rsi, rsiMA)
if long
    strategy.entry("long", strategy.long)
if short
    strategy.close("long", comment = "long TP")

 
// long1 = close * 9
// long2 = long1 / 100
// long3 = long2 + close


//plot(long3,color=color.blue)
// if short
//     strategy.entry("short", strategy.short)
// if long
//     strategy.close("short", comment = "short TP")