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.
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.
Anda boleh mengurangkan risiko dengan:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
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.
Ia boleh diuji dengan penambahan MACD, KDJ dan lain-lain untuk menetapkan syarat yang lebih ketat dan mengelakkan penembusan palsu.
Kemasukan semasa terlalu mudah bergantung pada garis rata, yang boleh dioptimumkan sebagai berikut:
Anda boleh menguji kaedah-kaedah lain untuk menghentikan kerugian, misalnya, dengan mengesan harga untuk mengelakkan penutupan daripada tercetus terlalu awal.
Apabila kedudukan terhenti, anda boleh masuk semula, yang dapat mengurangkan kemungkinan kehilangan trend.
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.
/*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()