Strategi Mengikuti Trend Persilangan Purata Pergerakan


Tarikh penciptaan: 2024-01-03 17:01:38 Akhirnya diubah suai: 2024-01-03 17:01:38
Salin: 0 Bilangan klik: 335
1
fokus pada
1166
Pengikut

Strategi Mengikuti Trend Persilangan Purata Pergerakan

Gambaran keseluruhan

Strategi ini menentukan trend harga dengan mengira persilangan dua garis rata dan menghantar isyarat beli dan jual dengan sekatan parameter tertentu. Strategi ini terdiri daripada tiga bahagian: pertama, menentukan trend harga dengan mengira persilangan garis rata cepat dan garis rata lambat; kedua, menggabungkan sekatan parameter tertentu untuk mengelakkan perdagangan yang salah; ketiga, menggunakan stop loss untuk mengawal risiko.

Prinsip Strategi

Strategi ini berpusat pada pengiraan laju rata-rata dan laju rata-rata. Parameter laju rata-rata adalah separuh daripada kitaran rata-rata, dan perubahan harga tindak balas lebih sensitif. Parameter laju rata-rata adalah kitaran rata-rata, dan perubahan harga tindak balas lebih tenang.

Selain itu, strategi juga menetapkan parameter tertentu untuk mengelakkan perdagangan yang salah. Jika anda menetapkan nilai terhad keputusan, isyarat perdagangan akan dikeluarkan hanya apabila perbezaan garis rata-rata cepat dan perlahan melebihi tahap tertentu. Parameter keyakinan digunakan untuk menapis lonjakan, isyarat akan dikeluarkan hanya apabila turun naik harga mencapai tahap tertentu.

Akhirnya, strategi menggunakan stop loss untuk mengawal risiko. Jika openprofit kurang dari titik stop loss, keluar dari kedudukan, dan jika melebihi titik stop loss, keluar dari kedudukan, untuk mengawal kerugian tunggal.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah menggabungkan indikator garis lurus untuk menentukan trend harga dan ciri-ciri turun naik. Trend harga silang silang adalah kaedah indikator teknikal yang berkesan klasik, yang dapat menangkap trend dengan tepat setelah parameter dioptimumkan. Indeks keyakinan turun naik dapat menyaring pasaran yang bergolak dengan berkesan dan mengelakkan perdagangan yang sering salah.

Selain itu, penyetempatan parameter seperti tetapan tetapan keputusan, dan tetapan stop loss juga dapat mengurangkan risiko dagangan dan mengelakkan mengejar tinggi dan rendah.

Analisis risiko

Risiko utama strategi ini adalah kemungkinan bahawa penunjuk dua garis rata akan menghantar isyarat yang salah. Garis rata cepat dan garis rata perlahan adalah rata-rata bergerak bertimbangan, reaksi lambat terhadap kejadian mengejut, dan mungkin terlepas pembalikan harga jangka pendek. Dalam kes ini, penapisan berganda harus bergantung pada parameter keyakinan.

Di samping itu, penyetempatan yang tidak betul pada titik penyekatan juga meningkatkan risiko. Penyetempatan yang terlalu tinggi atau terlalu rendah boleh menyebabkan kerugian yang lebih besar daripada yang dijangkakan. Ini memerlukan parameter yang munasabah berdasarkan ciri-ciri dan kadar turun naik yang berbeza.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan kitaran rata-rata, menetapkan garis rata-rata yang menyesuaikan diri, supaya ia dapat memodelkan pergerakan harga dalam kitaran yang berbeza dengan lebih baik;

  2. Menetapkan mekanisme pemantauan dinamik stop loss yang membolehkan perubahan dinamik pada titik stop loss melalui perhitungan kadar turun naik dalam masa nyata;

  3. Menambah model pembelajaran mesin untuk menentukan arah trend harga, menggunakan lebih banyak data sejarah untuk menentukan arah harga semasa, mengurangkan isyarat yang salah.

ringkaskan

Strategi ini secara keseluruhan adalah strategi perdagangan trend klasik yang mudah dan berkesan. Menggunakan trend penentuan silang silang, parameter untuk mengawal risiko, boleh dikonfigurasi, sesuai untuk perdagangan pelbagai jenis. Kesan keseluruhan akan lebih baik jika dapat memperkenalkan kaedah penilaian yang lebih pintar seperti pembelajaran mesin, dan patut diteliti lebih lanjut.

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

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Trade Signal", shorttitle="Trade Alert", overlay=true )
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-10.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=100.00, title="Target Point in $", type=float, step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(request.security(syminfo.tickerid, '5', close[1])-request.security(syminfo.tickerid, '60', close[1]))/request.security(syminfo.tickerid, '60', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

//alerts
alertcondition(closelong, title='Close Buy Position', message='Close Buy Position')
alertcondition(closeshort, title='Close Short Position', message='Close Short Position')
alertcondition(longCondition, title='Buy Signal', message='Buy Signal Alert')
alertcondition(shortCondition, title='Sell Signal', message='Sell Signal Alert')

//a1=plot(n1,color=c)
//a2=plot(n2,color=c)plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart