Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada jangka waktu 5 menit, menggabungkan metode trend berikut rata-rata bergerak dan analisis volume. Strategi ini menggunakan 50-periode Simple Moving Average (SMA) untuk menentukan tren pasar sambil menggabungkan analisis volume untuk memvalidasi sinyal perdagangan. Sistem menerapkan target stop-loss dan take-profit tetap untuk perdagangan otomatis sepenuhnya.
Logika inti mencakup komponen kunci berikut: 1. Identifikasi Tren: Menggunakan SMA 50 periode untuk menentukan arah pasar, dengan mempertimbangkan tren naik ketika tutup di atas MA dan tren turun ketika di bawah. Juga mengkonfirmasi tren menggunakan pergerakan harga selama 30 menit terakhir (6 lilin). 2. Analisis Volume: Menghitung volume beli dan jual berdasarkan pergerakan harga, mendistribusikan volume dalam setiap lilin sesuai dengan posisi harga penutupan. 3. Generasi Sinyal: Menghasilkan sinyal panjang ketika volume beli melebihi volume jual dalam tren naik; Menghasilkan sinyal pendek ketika volume jual melebihi volume beli dalam tren turun. 4. Manajemen Risiko: Mengimplementasikan target stop-loss 3% dan target take-profit 29% untuk mengelola rasio risiko-manfaat untuk setiap perdagangan.
Strategi ini menggabungkan mengikuti tren dan analisis volume untuk menciptakan sistem perdagangan frekuensi tinggi yang komprehensif. Kekuatannya utama terletak pada konfirmasi sinyal multi-dimensi dan kontrol risiko yang kuat. Meskipun risiko yang melekat ada, arah optimasi yang diusulkan dapat lebih meningkatkan stabilitas dan kemampuan beradaptasi strategi. Strategi ini sangat cocok untuk lingkungan pasar yang tren dan dapat mencapai hasil perdagangan yang stabil melalui optimasi parameter yang tepat dan manajemen risiko.
/*backtest start: 2024-01-10 00:00:00 end: 2025-01-08 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Jerryorange //@version=6 //@version=6 strategy("Autonomous 5-Minute Robot", overlay=true, fill_orders_on_standard_ohlc=true) // --- Inputs --- maLength = input.int(50, title="Trend MA Length") // Moving average length for trend detection volumeLength = input.int(10, title="Volume Length") // Length for volume analysis stopLossPercent = input.float(3, title="Stop Loss (%)") // 3% stop loss takeProfitPercent = input.float(29, title="Take Profit (%)") // 29% take profit // --- Market Trend Detection --- ma = ta.sma(close, maLength) // Simple moving average for trend direction isBullish = close > ma // Market is bullish if the close is above the moving average isBearish = close < ma // Market is bearish if the close is below the moving average // --- Volume Analysis --- buyVolume = (high != low) ? volume * (close - low) / (high - low) : 0 sellVolume = (high != low) ? volume * (high - close) / (high - low) : 0 totalVolume = volume // --- Define Market Direction over Last 30 Minutes (6 candles in 5-minute chart) --- lookback = 6 // 30 minutes / 5 minutes = 6 bars prevClose = close[lookback] // Previous close 30 minutes ago currentClose = close // Current close uptrend = currentClose > prevClose and isBullish // Uptrend condition downtrend = currentClose < prevClose and isBearish // Downtrend condition // --- Strategy Logic --- longCondition = uptrend and buyVolume > sellVolume // Buy signal when trend is up and buy volume exceeds sell volume shortCondition = downtrend and sellVolume > buyVolume // Sell signal when trend is down and sell volume exceeds buy volume // --- Entry and Exit Strategy --- if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // --- Exit Strategy based on Stop Loss and Take Profit --- strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent / 100), limit=close * (1 + takeProfitPercent / 100)) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent / 100), limit=close * (1 - takeProfitPercent / 100)) // --- Plotting for Visualization --- plot(ma, color=color.blue, title="50-period MA") // Trend line plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY") plotshape(shortCondition, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL")