Strategi pembalikan momentum berdasarkan moving average dan indeks kekuatan relatif


Tanggal Pembuatan: 2024-01-03 17:14:15 Akhirnya memodifikasi: 2024-01-03 17:14:15
menyalin: 10 Jumlah klik: 547
1
fokus pada
1621
Pengikut

Strategi pembalikan momentum berdasarkan moving average dan indeks kekuatan relatif

Ringkasan

Strategi ini adalah strategi inversi dinamika yang didasarkan pada rata-rata bergerak dan indikator yang relatif kuat. Ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak lambat serta sinyal overbought dan oversold untuk menilai Entry dan Exit.

Prinsip Strategi

Strategi ini menggunakan moving average 14 hari sebagai garis sinyal cepat, dan moving average 28 hari sebagai garis lambat.

Ketika 14 hari di atas rata-rata bergerak melewati 28 hari rata-rata bergerak dan RSI adalah di bawah 30 atau RSI adalah di bawah 13, menilai pergerakan berbalik, melakukan lebih masuk. Ketika 14 hari di bawah rata-rata bergerak melewati 28 hari rata-rata bergerak, menilai jumlah berbalik tidak berlaku, sebagian berhenti keluar dari lapangan.

Selain itu, strategi ini juga mengatur mekanisme penutupan sebagian. Ketika pendapatan dari kepemilikan mencapai titik penutupan yang ditetapkan (default 8%) akan sebagian berhenti (default 50%) untuk menjual.

Analisis Keunggulan

Strategi ini menggabungkan keuntungan dari moving averages dan menghindari kerugian dari whipsaw.

  1. Dengan menggunakan rata-rata bergerak cepat dan lambat, filter kebisingan sebagian.

  2. Indeks RSI menilai overbought dan oversold, menghindari mengejar tinggi.

  3. Sistem penghentian sebagian mengunci sebagian dari keuntungan dan mengurangi risiko.

Analisis risiko

  1. Strategi crossover rata-rata bergerak ganda mudah menghasilkan whipsaw, sehingga menyebabkan kerugian. Strategi ini dapat disaring sebagian whipsaw melalui RSI sebagai penilaian tambahan.

  2. Halangan parsial dapat menyebabkan kehilangan kesempatan yang lebih besar. Halangan dapat disesuaikan untuk menyeimbangkan risiko dan keuntungan.

Arah optimasi

  1. Anda dapat menguji kombinasi rata-rata bergerak dari parameter yang berbeda untuk mencari parameter yang optimal.

  2. RSI yang berbeda dapat diuji.

  3. Hal ini dapat disesuaikan dengan stop loss dan rasio penjualan untuk menyeimbangkan risiko dan keuntungan.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi reversal yang khas. Strategi ini menggunakan cross-judgment reversal pasar yang cepat dan lambat rata-rata dan digabungkan dengan sinyal filter indikator RSI. Strategi ini sederhana dan dapat disesuaikan dengan pasar yang berbeda dengan penyesuaian parameter.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "14/28 SMA and RSI", shorttitle = "14/28 SMA and RSI", overlay = false, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD)
src = close, len = input(14, minval=1, title="Length")
take_Profit=input(8, title="Take Profit")
quantityPercentage=input(50, title="Percent of Quantity to Sell")
closeOverbought=input(true, title="Close Overbought and Take Profit")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
longCondition = 0
sellCondition = 0
takeProfit = 0
quantityRemainder = 100
smaSignal = input(14, title="SMA Signal Period")
smaLong = input(28, title="SMA Longer Period")
if ((sma(close, smaSignal) >= sma(close, smaLong) and rsi<= 30) or (rsi<=13)) and strategy.position_size==0
    longCondition:=1

if longCondition==1
    strategy.entry("Buy", strategy.long)
    
profit = ((close-strategy.position_avg_price)/strategy.position_avg_price) * 100

if sma(close, smaSignal) <= sma(close, smaLong) and strategy.position_size>1
    sellCondition := 1

if strategy.position_size>=1
    if closeOverbought == true
        if profit>=take_Profit and takeProfit == 0
            strategy.exit("Take Profit", profit=take_Profit, qty_percent=quantityPercentage)
            takeProfit:=1
            quantityRemainder:=100-quantityPercentage
    if sellCondition == 1 and quantityRemainder<100
        strategy.close("Buy")

    if closeOverbought == false and rsi>70
        strategy.close("Take Profit")
        
plot(longCondition, "Buy Condition", green)
plot(takeProfit, "Partial Sell Condition", orange)
plot(sellCondition, "Sell Condition", red)