Strategi Lonjakan Harga Purata Bergerak Berganda

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

img

Ringkasan

Strategi ini menggunakan penunjuk RSI untuk menentukan keadaan overbought dan oversold, digabungkan dengan sistem penilaian trend yang dibina dengan garis purata bergerak pantas, sederhana dan perlahan, untuk mengenal pasti peluang untuk membuka kedudukan panjang atau pendek apabila harga melonjak.

Prinsip Strategi

  1. Gunakan penunjuk RSI untuk menentukan keadaan overbought dan oversold

    • Parameter RSI ditetapkan kepada 14 tempoh
    • Garis oversold berada di 30, garis overbought berada di 70
  2. Gunakan tiga garis SMA dari tempoh yang berbeza untuk menentukan trend

    • Garis pantas adalah SMA 9 tempoh, mewakili trend jangka pendek
    • Garis sederhana adalah SMA 50 tempoh, yang mewakili trend jangka sederhana
    • Garis perlahan adalah SMA 200 tempoh, yang mewakili trend jangka panjang
  3. Apabila garisan pantas melintasi di atas garisan sederhana, dan penunjuk RSI menunjukkan oversold, pergi panjang

  4. Apabila garisan pantas melintasi di bawah garisan sederhana, dan penunjuk RSI menunjukkan overbought, pergi pendek

  5. Stop loss ditetapkan pada 4% daripada harga masuk

  6. Mengambil keuntungan dilakukan dalam kumpulan, pertama mengambil keuntungan 20%, kemudian mengambil 15% sebagai harga terus meningkat, keluar kedudukan secara beransur-ansur

Analisis Kelebihan

  1. Menggunakan tiga garis SMA dari tempoh yang berbeza boleh menilai perubahan trend di dalam jangka masa yang berbeza
  2. Penggunaan penunjuk RSI mengelakkan pembukaan kedudukan di luar kawasan overbought / oversold
  3. Pengambilan keuntungan kumpulan meningkat tempoh pegangan dan keuntungan purata strategi

Analisis Risiko

  1. Kemungkinan isyarat yang salah dari tiga garis purata bergerak
  2. Risiko keuntungan kumpulan yang tidak lengkap semasa pelaksanaan
  3. Perlu memilih instrumen yang sesuai dengan turun naik harga yang tinggi

Arahan pengoptimuman

  1. Boleh menguji parameter pengubahsuaian purata bergerak dan RSI untuk mengoptimumkan kemasukan dan keluar
  2. Boleh menambah penunjuk lain untuk menapis corak lilin dan lain-lain untuk meningkatkan ketepatan
  3. Boleh secara dinamik menyusuri stop loss untuk mengawal risiko lebih lanjut

Ringkasan

Strategi ini menggabungkan penunjuk purata bergerak dan penunjuk overbought / oversold RSI. Dengan menangkap perubahan trend harga semasa menilai peluang perdagangan, ia adalah sebahagian daripada strategi penjejakan trend yang biasa digunakan. Pengoptimuman lanjut dan peningkatan kadar kemenangan dapat dicapai melalui ujian parameter dan menggabungkan penunjuk 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 lanjut