Ini adalah strategi perdagangan kuantitatif canggih yang menggabungkan indikator Supertrend dengan analisis volume. Strategi ini mengidentifikasi titik-titik pembalikan tren potensial dengan memantau secara dinamis penyeberangan harga dengan garis Supertrend dan perilaku volume abnormal.
Logika inti dari strategi ini didasarkan pada elemen kunci berikut:
Strategi ini membangun sistem perdagangan yang dapat diandalkan dan dapat disesuaikan dengan menggabungkan indikator Supertrend dengan analisis volume. Kekuatannya terletak pada konfirmasi sinyal multidimensi dan manajemen risiko dinamis, meskipun kondisi pasar masih mempengaruhi kinerja strategi. Melalui optimalisasi dan penyempurnaan terus-menerus, strategi ini memiliki potensi untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend with Volume Strategy", overlay=true) // Input parameters for Supertrend atrLength = input(10, title="ATR Length") multiplier = input(3.0, title="Multiplier") // Calculate Supertrend [supertrend, direction] = ta.supertrend(multiplier, atrLength) // Plot Supertrend plot(supertrend, color=direction == 1 ? color.green : color.red, title="Supertrend") // Volume condition volumeThreshold = input(1.5, title="Volume Threshold (x Average)") avgVolume = ta.sma(volume, 20) // 20-period average volume highVolume = volume > (avgVolume * volumeThreshold) // Define entry conditions longCondition = ta.crossover(close, supertrend) and highVolume shortCondition = ta.crossunder(close, supertrend) and highVolume // Execute trades if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add stop loss and take profit stopLoss = input(1.5, title="Stop Loss (in ATRs)") takeProfit = input(3.0, title="Take Profit (in ATRs)") if (longCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=close + (takeProfit * ta.atr(atrLength)), stop=close - (stopLoss * ta.atr(atrLength))) if (shortCondition) strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=close - (takeProfit * ta.atr(atrLength)), stop=close + (stopLoss * ta.atr(atrLength)))