
Strategi perdagangan ini menggabungkan pelbagai petunjuk teknikal, seperti persilangan purata bergerak (MACD), purata bergerak sederhana (SMA), purata bergerak sederhana (RSI), purata bergerak sederhana (SMA), purata bergerak rawak (Stochastic) dan jalur Bollinger (Bollinger Bands), untuk mengenal pasti titik masuk dan keluar pasaran. Apabila petunjuk menunjukkan isyarat berbilang, lakukan lebih banyak; apabila menunjukkan isyarat kosong, lakukan kosong.
Melakukan lebih banyak apabila MACD melintasi garis DEA pada garis DIF; atau apabila RSI berada di bawah 30 ke dalam keadaan oversold; atau apabila% K garis dan% D garis indikator rawak berada di bawah 20 ke dalam keadaan oversold.
Sebaliknya, apabila MACD melintasi garis DEA di bawah garis DIF dan memasuki keadaan kosong; atau apabila RSI lebih tinggi daripada 70 memasuki keadaan overbought; atau apabila garis% K dan garis% D penunjuk rawak berada di atas 80 dan memasuki keadaan overbought.
Hentikan kerugian berdasarkan ATR yang dikalikan dengan satu faktor, dan hentikan berdasarkan nisbah pulangan risiko.
Strategi ini menggabungkan pelbagai petunjuk untuk menilai keadaan pasaran, mengelakkan kebarangkalian kesalahan dalam penilaian satu petunjuk, meningkatkan ketepatan keputusan. Pada masa yang sama, berhenti dan berhenti menetapkan risiko yang munasabah dan berkesan untuk mengawal perdagangan tunggal.
Penunjuk teknikal dikira berdasarkan data sejarah, tidak dapat meramalkan harga masa depan, terdapat beberapa ketinggalan. Penggunaan gabungan pelbagai penunjuk juga mungkin menghasilkan beberapa isyarat palsu.
Untuk masalah ketinggalan indikator teknikal, parameter boleh disesuaikan dengan betul, memendekkan kitaran pengiraan. Untuk isyarat palsu, petunjuk penghakiman tambahan boleh ditambah untuk pengesahan. Selain itu, titik henti harus ditetapkan dengan lebih longgar dan munasabah.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi ini menggabungkan pelbagai penilaian indikator teknikal, yang dapat meningkatkan ketepatan keputusan dengan berkesan, dan merupakan strategi pengesanan trend yang boleh dipercayai dengan mengawal risiko dengan menghentikan kerugian. Ia dijangka akan meningkatkan lagi prestasi strategi ini dengan memperkenalkan kaedah seperti statistik dan pembelajaran mesin.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Moving Average Crossover sakkoulas with ATR and SAR", overlay=true)
// Παράμετροι MACD
fastLength = input.int(16, title="Fast Length")
slowLength = input.int(6, title="Slow Length")
signalSmoothing = input.int(5, title="Signal Smoothing")
// Παράμετροι RSI
rsiLength = input.int(6, title="RSI Length")
upperBound = input.int(70, title="Upper Bound")
lowerBound = input.int(30, title="Lower Bound")
// Παράμετροι SMA
smaPeriod = input.int(10, title="SMA Period")
// Παράμετροι Stochastic
stoLength = input.int(5, title="Stochastic Length")
stoSmoothK = input.int(3, title="Stochastic %K Smoothing")
stoSmoothD = input.int(10, title="Stochastic %D Smoothing")
// Παράμετροι Bollinger Bands
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(1, title="Bollinger Bands StdDev")
// Παράμετροι ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")
// Παράμετροι Parabolic SAR
sarAcceleration = input.float(0.02, title="SAR Acceleration")
sarMaximum = input.float(0.2, title="SAR Maximum")
// Διαχείριση κινδύνου
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")
// Υπολογισμοί δεικτών
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, smaPeriod)
atr = ta.atr(atrLength)
// Παράμετροι και κλήση του Parabolic SAR
sar = ta.sar(sarAcceleration, sarMaximum, 15) // Διορθωμένη κ
// Υπολογισμός Stop Loss με βάση το ATR
longStopLoss = close - atrMultiplier * atr
shortStopLoss = close + atrMultiplier * atr
// Συνθήκες για είσοδο και έξοδο
longCondition = ta.crossover(macdLine, signalLine) and close > sar
shortCondition = ta.crossunder(macdLine, signalLine) and close < sar
// Εκτέλεση εντολών συναλλαγής με διαχείριση κινδύνου
if (longCondition)
strategy.entry("Long Position", strategy.long)
strategy.exit("Exit Long", "Long Position", stop=longStopLoss)
if (shortCondition)
strategy.entry("Short Position", strategy.short)
strategy.exit("Exit Short", "Short Position", stop=shortStopLoss)
// Συνθήκες για είσοδο και έξοδο
// Εμφάνιση βελών για σημεία εισόδου
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Short Entry")
// Εμφάνιση δεικτών
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(sma, color=color.orange, title="SMA")
plot(series=sar, color=color.fuchsia, style=plot.style_circles, title="Parabolic SAR")
hline(upperBound, "Upper Bound", color=color.red)
hline(lowerBound, "Lower Bound", color=color.green)