Strategi Dagangan Rintisan Trend Bull/Bear

Penulis:ChaoZhang, Tarikh: 2023-10-07 09:56:30
Tag:

Ringkasan

Strategi ini menggunakan prinsip persilangan purata bergerak untuk menentukan arah trend dan menjana isyarat beli dan jual.

Prinsip

Strategi ini menggunakan dua purata bergerak, MA 7 hari sebagai garisan pantas dan MA 5 bulan sebagai garisan perlahan. Garis pantas menangkap perubahan harga dengan cepat sementara garis perlahan menapis bunyi bising dan menentukan arah trend. Apabila garisan pantas memecahkan di atas garis perlahan dari bawah, ia dianggap isyarat kenaikan untuk pergi panjang. Apabila garisan pantas memecahkan garis perlahan dari atas, ia dianggap isyarat penurunan untuk pergi pendek.

Secara khusus, strategi ini mengira purata bergerak mudah 7 hari (SMA) dan SMA 5 bulan, memetakan mereka pada carta harga. Apabila garis 7 hari melintasi di atas garis 5 bulan dari bawah, isyarat beli dihasilkan. Apabila garis 7 hari melintasi di bawah garis 5 bulan dari atas, isyarat jual dicetuskan. Strategi ini juga memvisualisasikan tempoh isyarat.

Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Asas teori yang mudah dan boleh dipercayai, berdasarkan prinsip persilangan purata bergerak yang terkenal.

  2. Hanya dua purata bergerak digunakan, dengan pemilihan parameter yang mudah dan pelaksanaan yang mudah.

  3. Garis cepat dan perlahan bekerjasama dengan berkesan untuk mengenal pasti trend dan menapis bunyi pasaran.

  4. Jangka masa yang berbeza ditangkap melalui MAs tempoh yang berbeza, mengesan perubahan trend pada pelbagai skala.

  5. Pelaksanaan mudah dengan logik yang jelas dan mudah difahami.

  6. Isyarat visual adalah jelas dan intuitif untuk membuat keputusan perdagangan.

Risiko

Terdapat juga beberapa risiko:

  1. Rendah kepada isyarat palsu hanya bergantung pada MA silang.

  2. Tidak dapat menilai kekuatan trend dengan berkesan, menyebabkan kehilangan berhenti yang kerap di pasaran pelbagai.

  3. Tempoh MA tetap tidak dapat disesuaikan dengan perubahan pasaran, yang memerlukan pengoptimuman parameter.

  4. Tahap masuk dan keluar tidak jelas, dengan beberapa risiko.

  5. Asas teori yang sederhana boleh menjejaskan prestasi dan potensi keuntungan.

Peningkatan

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Tambahkan penunjuk lain untuk menentukan tahap masuk dan keluar, seperti KDJ untuk overbought/oversold.

  2. Melaksanakan mekanisme hentian kerugian seperti hentian penghujung untuk mengehadkan kerugian.

  3. Mengoptimumkan tempoh MA untuk menyesuaikan diri dengan kitaran pasaran yang berbeza.

  4. Tambah penapis kelantangan untuk mengelakkan gangguan palsu.

  5. Menilai kekuatan trend, contohnya cerun MA, untuk mengukur saiz kedudukan.

  6. Masukkan pelbagai jangka masa untuk kesinambungan trend yang lebih baik.

Kesimpulan

Strategi ini mengenal pasti trend bull/bear dengan mudah dan boleh dipercayai berdasarkan teori persilangan MA. Kelebihan adalah kesederhanaan dan kemudahan penggunaan, sementara keburukan adalah risiko yang melekat dengan trend. Parameter penyuntingan halus, menambah penunjuk tambahan dan lain-lain dapat meningkatkan prestasi strategi. Pelabur boleh memilih untuk menggunakannya berdasarkan selera risiko mereka.


/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © dadashkadir

//@version=4
strategy("Mount MaV - Day MaV CrossOver Strgty", shorttitle="Yusram Str.", overlay=true)
src = input(title= "Kaynak", type=input.source, defval=close)
mav = input(title="Hareketli Ortlama Tipi", defval="SMA", options=["SMA", "EMA", "WMA"])
Gbar = input(title="Günlük Bar Sayısı", defval=7, minval=1, maxval=999)
Abar = input(title="Aylık Bar Sayısı", defval=5, minval=1, maxval=999)
//displacement = input(20, minval=1, title="Displacement")
getMA(src, length) =>
    ma = 0.0
    if mav == "SMA"
        ma := sma(src, length)
        ma

    if mav == "EMA"
        ma := ema(src, length)
        ma

    if mav == "WMA"
        ma := wma(src, length)
        ma
    ma
long = "M" //Aylık
ln = security(syminfo.ticker, long, src)
lnma = getMA(ln, Abar)
gnma = getMA(src, Gbar)
col1= gnma>gnma[1]
col3= gnma<gnma[1]
colorM = col1 ? color.green : col3 ? color.navy : color.yellow
l1 = plot(lnma, title="MhO", trackprice = true, style=plot.style_line, color=color.red, linewidth=3)
l2 = plot(gnma, title="DhO", trackprice = true, style=plot.style_line, color=colorM, linewidth=3)
fill(l1, l2, color = lnma < gnma ? color.green : color.red, title="Gölgelendirme", transp=90)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al  = crossover (gnma, lnma) and zamanaralik <= year
sat = crossover (lnma, gnma) and zamanaralik <= year
plotshape(al,  title = "Giriş",  text = 'Al',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Çıkış", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

FromDay    = input(defval = 1, title = "Str. Başlama Tarihi Gün", minval = 1, maxval = 31)
FromMonth  = input(defval = 1, title = "Str. Başlama Tarihi Ay", minval = 1, maxval = 12)
FromYear   = input(defval = 2015, title = "Str. Başlama Tarihi Yıl", minval = 2005)
ToDay      = input(defval = 1, title = "Str. Bitiş Tarihi Gün", minval = 1, maxval = 31)
ToMonth    = input(defval = 1, title = "Str. Bitiş Tarihi Ay", minval = 1, maxval = 12)
ToYear     = input(defval = 9999, title = "Str. Bitiş Tarihi Yıl", minval = 2006)
Start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
    time >= Start and time <= Finish ? true : false
if al
    strategy.entry("Al", strategy.long, when=Timerange())
if sat
    strategy.entry("Sat", strategy.short, when=Timerange())


Lebih lanjut