Strategi Perdagangan Purata Pergerakan Trend


Tarikh penciptaan: 2023-09-21 20:34:43 Akhirnya diubah suai: 2023-09-21 20:34:43
Salin: 0 Bilangan klik: 675
1
fokus pada
1621
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan gabungan garis purata pantas dan garis purata perlahan untuk menilai arah trend, untuk menangkap trend garis tengah dan panjang untuk perdagangan trend. Melakukan lebih banyak ketika melintasi garis purata pantas di atas garis purata perlahan, dan membuat ruang ketika melintasi garis purata pantas di bawah garis purata perlahan, adalah strategi trend yang tipikal.

Prinsip Strategi

Strategi ini bergantung kepada garpu mata wang garpu mata wang untuk menilai trend pasaran. Secara khusus, strategi ini menggunakan garpu mata wang garpu mata wang garpu mata wang garpu mata wang garpu cepat 5 kitaran dan garpu mata wang garpu lambat 21 kitaran.

Apabila laju rata-rata melintasi laju rata-rata dengan cepat, menunjukkan bahawa trend pasaran bertukar lebih banyak, strategi ini akan melakukan lebih banyak pada pembukaan K seterusnya; apabila laju rata-rata melintasi laju rata-rata dengan cepat, menunjukkan bahawa trend pasaran bertukar, strategi ini akan melakukan kosong pada pembukaan K seterusnya.

Selain itu, strategi ini juga menetapkan parameter penyaringan bar untuk menyaring penembusan palsu. Parameter ini mempunyai nilai lalai 2, iaitu garis rata pantas memerlukan 2 baris K berturut-turut di atas garis rata perlahan untuk menghasilkan lebih banyak isyarat, untuk menyaring penembusan palsu dengan berkesan.

Bagi mata wang kripto, strategi ini juga menambah logik penghakiman nilai ekstrem. Isyarat perdagangan hanya akan dikeluarkan apabila garis rata-rata cepat dan garis rata-rata lambat berada di kawasan ekstrem pada masa yang sama. Ini juga untuk mengelakkan lebih banyak penembusan palsu.

Peraturan keluar strategi adalah mudah dan langsung, apabila harga mencetuskan titik berhenti kehilangan anda akan keluar dari kedudukan semasa.

Kelebihan Strategik

  • Menggunakan sistem dua hala, trend boleh dikesan dengan berkesan
  • Garis purata pantas mempunyai panjang yang lebih pendek untuk menangkap perubahan trend dalam masa yang tepat
  • Panjang garis rata-rata kelajuan perlahan lebih panjang, boleh menentukan arah utama
  • Parameter bar yang disaring untuk penembusan palsu
  • Penghakiman nilai ekstrem dapat mengelakkan penembusan palsu yang jarang berlaku berhampiran titik-titik penting
  • Menggunakan Stop Loss Bergerak untuk Mengendalikan Risiko

Risiko Strategik

  • Strategi dua garis rata mudah menyebabkan kerugian pada titik perubahan trend
  • Kematian mudah alih mungkin berakhir lebih awal
  • Tidak cukup penapisan parameter bar bar, anda mungkin akan ketinggalan titik beli
  • Penghakiman nilai terhad akan terlepas titik beli dalam keadaan tertentu
  • Strategi ini lebih sesuai untuk pasaran trend yang kuat, tidak sesuai untuk pasaran yang bergolak

Anda boleh mengurangkan risiko dengan:

  • Mengoptimumkan parameter bar bar untuk mencari titik keseimbangan
  • Cuba penapisan pada penunjuk lain, seperti MACD
  • Menyesuaikan titik hentian untuk mengelakkan hentian awal
  • Pertimbangan untuk menyertai semula

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Optimasi parameter garis purata

Anda boleh menguji lebih banyak kombinasi untuk mencari parameter garis rata-rata yang lebih sesuai untuk pasaran semasa. Contohnya, anda boleh menyesuaikan garis laju dengan 10 kitaran dan garis perlahan dengan 50 kitaran.

  1. Menambah penilaian lain

Ia boleh diuji dengan penambahan MACD, KDJ dan lain-lain untuk menetapkan syarat yang lebih ketat dan mengelakkan penembusan palsu.

  1. Mekanisme kemasukan yang optimum

Kemasukan semasa terlalu mudah bergantung pada garis rata, yang boleh dioptimumkan sebagai berikut:

  • Apabila anda memakai garis laju, anda perlu menunggu MACDDIFF memakai 0 untuk masuk.
  • KDJ juga mempunyai garpu emas untuk masuk ke dalam permainan ini apabila ia melalui garpu perlahan dalam talian pantas.
  1. Optimumkan mekanisme penangguhan

Anda boleh menguji kaedah-kaedah lain untuk menghentikan kerugian, misalnya, dengan mengesan harga untuk mengelakkan penutupan daripada tercetus terlalu awal.

  1. Bergabung dengan mekanisme kemasukan semula

Apabila kedudukan terhenti, anda boleh masuk semula, yang dapat mengurangkan kemungkinan kehilangan trend.

ringkaskan

Strategi ini digunakan sebagai strategi pengesanan trend asas, idea terasnya mudah dan langsung, menggunakan arah penilaian trend yang sama rata, dan berhenti bergerak untuk mengawal risiko. Kelebihannya adalah mudah difahami dan dilaksanakan, dapat mengikuti trend untuk mendapat keuntungan, dan risiko juga dapat dikendalikan. Tetapi ada juga beberapa kelemahan, isyarat tidak tepat dalam pasaran yang disusun, dan berhenti terlalu cepat untuk mencetuskan masalah. Ini memerlukan kami untuk terus menyesuaikan pengoptimuman dalam pasaran, menapis indikator teknikal lain untuk membuat strategi lebih sesuai dengan keadaan pasaran yang berbeza.

Kod sumber strategi
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's Trend MAs Strategy v2.3", shorttitle = "Trend MAs str 2.3", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
needstops = input(false, "stops")
stoppercent = input(5, defval = 5, minval = 1, maxval = 50, title = "Stop, %")
usefastsma = input(true, "Use fast MA Filter")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast MA Period")
slowlen = input(21, defval = 20, minval = 2, maxval = 200, title = "slow MA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")
needbg = input(false, defval = false, title = "Need trend Background?")
needex = input(true, defval = true, title = "Need extreme? (crypto/fiat only!!!)")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

src = close

//PriceChannel 1
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//PriceChannel 2
lasthigh2 = highest(src, fastlen)
lastlow2 = lowest(src, fastlen)
center2 = (lasthigh2 + lastlow2) / 2

//Trend
trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

//Fast RSI
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
len = abs(close - mac)
sma = sma(len, 100)
max = max(open, close)
min = min(open, close)

//Signals
up1 = trend == 1 and (low < center2 or usefastsma == false) and redbars == 1
dn1 = trend == -1 and (high > center2 or usefastsma == false) and greenbars == 1
up2 = high < center and high < center2 and bar == -1 and needex
dn2 = low > center and low > center2 and bar == 1 and needex
up3 = close < open and len > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0

//Lines
plot(center2, color = red, linewidth = 3, transp = 0, title = "Fast MA")
plot(center, color = blue, linewidth = 3, transp = 0, title = "Slow MA")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading
stoplong = up1 == 1 and needstops == true ? close - (close / 100 * stoppercent) : stoplong[1]
stopshort = dn1 == 1 and needstops == true ? close + (close / 100 * stoppercent) : stopshort[1]

if up1 or up2 or up3
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.exit("Stop Long", "Long", stop = stoplong)

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.exit("Stop Short", "Short", stop = stopshort)
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()