Strategi pembalikan momentum berdasarkan purata bergerak dan indeks kekuatan relatif


Tarikh penciptaan: 2024-01-03 17:14:15 Akhirnya diubah suai: 2024-01-03 17:14:15
Salin: 10 Bilangan klik: 547
1
fokus pada
1621
Pengikut

Strategi pembalikan momentum berdasarkan purata bergerak dan indeks kekuatan relatif

Gambaran keseluruhan

Strategi ini adalah strategi pembalikan momentum berdasarkan purata bergerak dan indikator yang agak kuat. Ia menggunakan persilangan purata bergerak cepat dan purata bergerak perlahan serta isyarat overbought dan oversold untuk menilai Entry dan Exit.

Prinsip Strategi

Strategi ini menggunakan purata bergerak 14 hari sebagai garisan isyarat cepat, dan purata bergerak 28 hari sebagai garisan perlahan. Ia juga digabungkan dengan indikator RSI untuk menentukan sama ada pasaran terlalu banyak membeli atau terlalu banyak menjual.

Apabila 14 hari bergerak rata-rata melalui 28 hari bergerak rata-rata dan RSI adalah kurang daripada 30 atau RSI adalah kurang daripada 13, menilai pergerakan berbalik, membuat lebih masuk. Apabila 14 hari bergerak rata-rata di bawah melalui 28 hari bergerak rata-rata, menilai jumlah bergerak berbalik tidak sah, sebahagian berhenti keluar.

Di samping itu, strategi ini juga menetapkan mekanisme penangguhan sebahagian. Apabila pendapatan pegangan mencapai penangguhan yang ditetapkan (default 8%) ia akan berhenti (default 50%)

Analisis kelebihan

Strategi ini menggabungkan kelebihan rata-rata bergerak dan mengelakkan kerugian akibat whipsaw.

  1. Ia boleh digunakan untuk menyaring sebahagian daripada kebisingan dengan menggunakan purata bergerak perlahan-lahan.

  2. Indeks RSI menilai terlalu banyak membeli dan terlalu banyak menjual, dan mengelakkan kenaikan.

  3. Mekanisme penangguhan sebahagian mengunci sebahagian keuntungan dan mengurangkan risiko.

Analisis risiko

  1. Strategi crossover dua rata-rata bergerak mudah menghasilkan whipsaw, yang membawa kepada kerugian. Strategi ini dapat menyaring sebahagian whipsaw melalui penunjuk RSI untuk penilaian tambahan.

  2. Penangguhan separa boleh menyebabkan ketinggalan yang lebih besar. Anda boleh mengimbangi risiko dan faedah dengan menyesuaikan titik penangguhan.

Arah pengoptimuman

  1. Anda boleh menguji kombinasi purata bergerak dengan parameter yang berbeza untuk mencari parameter yang optimum.

  2. Boleh menguji pelbagai nilai RSI.

  3. Tahap penangguhan dan peratusan jualan yang boleh disesuaikan untuk mengimbangi risiko dan keuntungan.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi pembalikan yang tipikal. Ia menggunakan pembalikan pasaran yang dinilai dengan menggunakan garis rata-rata yang cepat dan perlahan dan digabungkan dengan isyarat penapis penunjuk RSI.

Kod 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)