Strategi perdagangan ini menggabungkan divergensi konvergensi rata-rata bergerak (MACD), indeks kekuatan relatif (RSI), rata-rata bergerak sederhana (SMA), osilator stokastik dan pita Bollinger untuk mengidentifikasi titik masuk dan keluar pasar.
Ini akan menjadi panjang ketika garis MACD DIF melintasi di atas garis DEA ke zona bullish; atau ketika RSI turun di bawah 30 ke wilayah oversold; atau ketika garis stokastik %K dan %D turun di bawah 20 yang menunjukkan status oversold.
Sebaliknya, ia menjadi short ketika garis MACD DIF melintasi di bawah garis DEA ke zona penurunan; atau ketika RSI naik di atas 70 ke area overbought; atau ketika garis stokastik %K dan %D naik di atas 80 yang menunjukkan kondisi overbought.
Stop loss ditetapkan berdasarkan ATR dikalikan dengan koefisien.
Strategi ini menggabungkan beberapa indikator untuk menilai status pasar, menghindari kesalahan dengan metrik tunggal dan meningkatkan akurasi.
Indikator teknis dihitung dari data historis dan tidak dapat memprediksi harga masa depan, yang menyebabkan keterlambatan tertentu. Menggabungkan beberapa indikator juga dapat memperkenalkan beberapa sinyal palsu. Selain itu, pengaturan stop loss yang tidak tepat dapat mengakibatkan kerugian yang lebih besar.
Untuk mengatasi masalah keterlambatan indikator, parameter dapat disesuaikan untuk memperpendek siklus komputasi. Untuk sinyal palsu, indikator tambahan dapat ditambahkan untuk konfirmasi. Juga, stop loss harus diatur lebih luas dan lebih wajar.
Strategi dapat ditingkatkan dalam aspek berikut:
Strategi ini menggabungkan beberapa indikator teknis untuk peningkatan akurasi dan mengontrol risiko melalui stop loss dan take profit, menjadikannya sistem trend yang dapat diandalkan.
/*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)