Strategi ini digunakan untuk menentukan tren harga dengan menghitung persimpangan dua rata-rata, dan untuk mengirim sinyal beli dan jual dengan batasan parameter tertentu. Strategi ini terdiri dari tiga bagian: Pertama, dengan menghitung persimpangan rata-rata cepat dan rata-rata lambat untuk menentukan tren harga; Kedua, dengan batasan parameter tertentu untuk menghindari perdagangan yang salah; Ketiga, menggunakan stop loss untuk mengendalikan risiko.
Inti dari strategi ini adalah menghitung rata-rata cepat dan rata-rata lambat. Parameter rata-rata cepat adalah setengah dari siklus rata-rata, dan perubahan harga reaksi lebih sensitif. Parameter rata-rata lambat adalah siklus rata-rata, dan perubahan harga reaksi lebih stabil.
Selain itu, strategi juga menetapkan parameter tertentu untuk menghindari perdagangan yang salah. Jika Anda menetapkan batas keputusan, sinyal perdagangan akan dikirim hanya jika selisih garis rata-rata cepat atau lambat melebihi kisaran tertentu. Parameter kepercayaan digunakan untuk memfilter fluktuasi, dan sinyal akan dikirim hanya jika harga berfluktuasi sampai batas tertentu.
Akhirnya, strategi menggunakan stop loss untuk mengendalikan risiko. Jika openprofit kurang dari stop loss, maka keluar dari posisi. Jika stop loss lebih dari stop loss, maka keluar dari posisi.
Keuntungan terbesar dari strategi ini adalah kombinasi antara indikator linear untuk menentukan tren harga dan karakteristik fluktuasi. Trend harga cross-linear adalah metode indikator teknis klasik yang efektif, yang dapat menangkap tren dengan akurat setelah parameter dioptimalkan. Indikator volatilitas confidence dapat secara efektif memfilter pasar yang bergoyang dan menghindari kesalahan perdagangan yang sering terjadi.
Selain itu, pengaturan parameter seperti margin keputusan, stop loss dan stop loss juga dapat secara signifikan mengurangi risiko perdagangan dan menghindari mengejar tinggi dan turun.
Risiko utama dari strategi ini adalah kemungkinan sinyal yang salah dari indikator dua rata-rata. Rata-rata cepat dan rata-rata lambat adalah rata-rata bergerak berbobot, reaksi lambat terhadap kejadian mendadak, dan kemungkinan kehilangan pembalikan harga jangka pendek.
Selain itu, pengaturan stop loss yang tidak tepat juga meningkatkan risiko. Stop loss yang terlalu tinggi atau terlalu rendah dapat menyebabkan kerugian lebih dari yang diharapkan. Ini memerlukan pengaturan parameter yang masuk akal berdasarkan karakteristik dan volatilitas yang berbeda.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Mengoptimalkan siklus rata-rata dengan pengaturan rata-rata adaptif, sehingga dapat lebih baik memodelkan fluktuasi harga dalam berbagai siklus;
Setting Stop Loss Tracking Mechanism, yang memungkinkan stop loss untuk berubah secara dinamis melalui perhitungan fluktuasi real-time.
Menambahkan model pembelajaran mesin untuk menentukan arah tren harga, menggunakan lebih banyak data historis untuk menentukan arah harga saat ini, mengurangi sinyal yang salah.
Strategi ini secara keseluruhan merupakan strategi perdagangan tren klasik yang sederhana dan efektif. Menggunakan tren penentuan silang dua rata-rata, pengaturan parameter untuk kontrol risiko, dapat dikonfigurasi, dan cocok untuk perdagangan multi-varietas. Efek keseluruhan akan lebih baik jika dapat memperkenalkan metode penilaian yang lebih cerdas seperti pembelajaran mesin, dan layak untuk diteliti lebih lanjut.
/*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