
Strategi trading ini menggabungkan berbagai indikator teknis seperti Moving Average Crossover (MACD), Relative Strength Index (RSI), Simple Moving Average (SMA), Random Indicator (Stochastic) dan Bollinger Bands (Bollinger Bands) untuk mengidentifikasi titik masuk dan keluar dari pasar. Lakukan lebih banyak ketika indikator menunjukkan sinyal multihead, dan kosongkan ketika indikator menunjukkan sinyal kosong.
Bila MACD di garis DIF melewati garis DEA dan masuk ke posisi overhead; atau RSI di bawah 30 masuk ke posisi oversold; atau% K dan% D dari indikator acak di bawah 20 masuk ke posisi oversold.
Sebaliknya, ketika MACD di bawah garis DIF melintasi garis DEA dan masuk ke posisi kosong; atau ketika RSI lebih tinggi dari 70 masuk ke posisi overbought; atau ketika% K dan% D dari indikator acak pada saat yang sama lebih tinggi dari 80 masuk ke posisi overbought.
Stop loss diatur berdasarkan ATR dengan faktor, dan stop loss berdasarkan RRR.
Strategi ini menggabungkan berbagai indikator untuk menilai kondisi pasar, menghindari kemungkinan kesalahan dalam penilaian indikator tunggal, meningkatkan keakuratan keputusan. Pada saat yang sama, pengaturan stop loss dan stop loss masuk akal dan efektif untuk mengendalikan risiko transaksi tunggal.
Indikator teknis dihitung oleh data historis, tidak dapat memprediksi harga masa depan, ada keterlambatan tertentu. Penggunaan beberapa kombinasi indikator juga dapat menghasilkan sinyal palsu tertentu. Selain itu, pengaturan titik stop loss yang tidak tepat juga dapat menyebabkan kerugian yang lebih besar.
Untuk masalah keterlambatan indikator teknis, parameter dapat disesuaikan dengan tepat dan siklus perhitungan dapat dipersingkat. Untuk sinyal palsu, indikator penilaian bantu lainnya dapat ditambahkan untuk konfirmasi. Selain itu, titik berhenti harus disetel dengan lebih longgar dan wajar.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Strategi ini menggabungkan beberapa indikator teknis untuk menilai, yang dapat secara efektif meningkatkan keakuratan keputusan, dan merupakan strategi pelacakan tren yang andal dengan menghentikan risiko penghentian kerugian. Di masa depan, diharapkan untuk meningkatkan kinerja strategi dengan memperkenalkan metode 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)