Beli rendah - strategi pengoptimuman MA200


Tarikh penciptaan: 2024-01-08 16:54:21 Akhirnya diubah suai: 2024-01-08 16:54:21
Salin: 0 Bilangan klik: 695
1
fokus pada
1617
Pengikut

Beli rendah - strategi pengoptimuman MA200

Gambaran keseluruhan

Strategi ini menggabungkan kaedah perdagangan terbalik (membeli titik rendah) dengan logik mengikuti trend (hanya apabila harga lebih tinggi daripada MA200). Strategi ini bertujuan untuk mencari masa terbaik untuk memperoleh keuntungan ketika membeli aset rendah. Harga di atas purata bergerak jangka panjang menunjukkan peningkatan kemungkinan untuk memperoleh keuntungan dari membeli aset dengan harga jangka pendek yang lemah.

Prinsip Strategi

Strategi ini menentukan sama ada harga berada pada titik rendah yang relatif dengan mengira peratusan perubahan keseluruhan harga dalam tempoh ulasan. Harga dianggap rendah apabila peratusan perubahan keseluruhan kurang dari 3%. Di samping itu, strategi ini juga menetapkan purata bergerak sederhana 200 hari sebagai penunjuk untuk menilai trend.

Analisis kelebihan

Strategi ini menggabungkan kelebihan perdagangan trend dan perdagangan terbalik. Di satu pihak, menggunakan purata bergerak jangka panjang untuk menilai trend, mengelakkan membeli secara buta semasa penurunan trend. Di sisi lain, membeli terbalik pada titik rendah juga membolehkan ia mendapatkan masa masuk yang lebih baik ketika penyesuaian jangka pendek.

Analisis risiko

Risiko terbesar dalam strategi ini adalah bahawa harga mungkin terus menurun setelah isyarat beli dikeluarkan, menyebabkan kerugian meluas. Selain itu, jika pasaran berlawanan dengan arah yang berpanjangan, harga tidak dapat menembusi purata bergerak, strategi ini tidak akan berfungsi. Untuk mengurangkan risiko ini, anda boleh memendekkan kitaran purata bergerak dengan sewajarnya, dan mengoptimumkan keadaan membeli, memastikan terdapat marjin keselamatan yang mencukupi.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek: 1) mengoptimumkan kitaran purata bergerak, menyesuaikan diri dengan pasaran yang berbeza; 2) mengoptimumkan syarat pembelian, memastikan terdapat margin yang mencukupi; 3) menambah strategi berhenti rugi, mengawal kerugian; 4) meningkatkan ketepatan penilaian trend dan titik rendah dalam kombinasi dengan indikator lain.

ringkaskan

Strategi ini secara keseluruhan adalah strategi yang tipikal untuk menggabungkan trend mengikuti dan pemikiran perdagangan terbalik. Ia memastikan keselamatan perdagangan dan meningkatkan kebarangkalian keuntungan. Ia mempunyai nilai pertempuran yang kuat.

Kod sumber strategi
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Buy The Dips - MA200 Optimised", overlay=false)

//Moving average
MAinp = input(defval = 100, title = "MA", type = input.integer, minval = 1, step = 1)
MA=sma(close, MAinp)

//Percent change
inp_lkb = input(1, title='Lookback Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

// Call the function    
overall = perc_change(inp_lkb)

// === INPUT BACKTEST RANGE ===
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//Entry/Exit
strategy.entry(id="long", long = true, when = window() and overall<-3 and close > MA) 
strategy.close(id="long", when = window() and overall>1)


bgcolor(color = showDate and window() ? color.gray : na, transp = 90) 
plot(overall, color=color.black, title='Overall Percentage Change', linewidth=3)
band1 = hline(1, "Upper Band", color=#C0C0C0)
band0 = hline(-2, "Lower Band", color=#C0C0C0)
fill(band1, band0, color=#9915FF, transp=90, title="Background")
hline(0, title='Center Line', color=color.orange, linestyle=hline.style_solid, linewidth=2)