Strategi Lompatan Harga Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2023-11-21 14:28:35
Tag:

img

Gambaran umum

Strategi ini menggunakan indikator RSI untuk menentukan kondisi overbought dan oversold, dikombinasikan dengan sistem penilaian tren yang dibangun dengan garis rata-rata bergerak cepat, menengah dan lambat, untuk mengidentifikasi peluang untuk membuka posisi panjang atau pendek ketika harga melonjak.

Prinsip Strategi

  1. Menggunakan indikator RSI untuk menentukan kondisi overbought dan oversold

    • Parameter RSI ditetapkan pada 14 periode
    • Oversold line adalah di 30, overbought line adalah di 70
  2. Gunakan tiga garis SMA dari periode yang berbeda untuk menentukan tren

    • Garis cepat adalah SMA 9 periode, yang mewakili tren jangka pendek
    • Garis menengah adalah SMA 50 periode, yang mewakili tren jangka menengah
    • Garis lambat adalah SMA 200 periode, yang mewakili tren jangka panjang
  3. Ketika garis cepat melintasi di atas garis menengah, dan indikator RSI menunjukkan oversold, pergi panjang

  4. Ketika garis cepat melintasi di bawah garis menengah, dan indikator RSI menunjukkan overbought, pergi pendek

  5. Stop loss ditetapkan pada 4% dari harga masuk

  6. Mengambil keuntungan dilakukan dalam batch, pertama mengambil keuntungan 20%, kemudian mengambil 15% sebagai harga terus naik, keluar posisi secara bertahap

Analisis Keuntungan

  1. Menggunakan tiga garis SMA dari periode yang berbeda dapat menilai perubahan tren di kerangka waktu yang berbeda
  2. Penggunaan indikator RSI menghindari pembukaan posisi di luar area overbought/oversold
  3. Batch profit taking increases holding period dan rata-rata profit dari strategi

Analisis Risiko

  1. Probabilitas sinyal yang salah dari tiga garis rata-rata bergerak
  2. Risiko keuntungan batch yang tidak lengkap saat melakukan eksekusi
  3. Kebutuhan untuk memilih instrumen yang cocok dengan fluktuasi harga yang tinggi

Arahan Optimasi

  1. Dapat menguji modifikasi parameter rata-rata bergerak dan RSI untuk mengoptimalkan masuk dan keluar
  2. Dapat menambahkan indikator lain untuk menyaring pola lilin dll untuk meningkatkan akurasi
  3. Dapat secara dinamis melacak stop loss untuk mengontrol risiko lebih lanjut

Ringkasan

Strategi ini menggabungkan indikator rata-rata bergerak dan indikator overbought/oversold RSI. Dengan menangkap perubahan tren harga saat menilai peluang perdagangan, ini merupakan strategi pelacakan tren yang umum digunakan. Optimasi lebih lanjut dan tingkat kemenangan yang lebih baik dapat dicapai melalui pengujian parameter dan menggabungkan indikator penilaian tambahan.


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")

Lebih banyak