Strategi ini adalah sistem dagangan automatik berdasarkan jangka masa 5 minit, menggabungkan trend pergerakan purata berikut dan kaedah analisis jumlah. Strategi ini menggunakan Purata Bergerak Sederhana (SMA) 50 tempoh untuk menentukan trend pasaran sambil menggabungkan analisis jumlah untuk mengesahkan isyarat dagangan. Sistem melaksanakan sasaran stop-loss dan mengambil keuntungan tetap untuk perdagangan automatik sepenuhnya.
Logik teras merangkumi komponen utama berikut: 1. Pengesanan Trend: Menggunakan SMA 50 tempoh untuk menentukan arah pasaran, mempertimbangkan trend menaik apabila ditutup di atas MA dan trend menurun apabila di bawah. Juga mengesahkan trend menggunakan pergerakan harga selama 30 minit terakhir (6 lilin). 2. Analisis Volume: Mengira jumlah beli dan jual berdasarkan pergerakan harga, mengedarkan jumlah dalam setiap lilin mengikut kedudukan harga penutupan. 3. Generasi Isyarat: Menghasilkan isyarat panjang apabila jumlah beli melebihi jumlah jual dalam trend menaik; Menghasilkan isyarat pendek apabila jumlah jual melebihi jumlah beli dalam trend menurun. 4. Pengurusan Risiko: Melaksanakan sasaran stop-loss 3% dan mengambil keuntungan 29% untuk menguruskan nisbah risiko-balasan untuk setiap perdagangan.
Strategi ini menggabungkan mengikuti trend dan analisis jumlah untuk mewujudkan sistem perdagangan frekuensi tinggi yang komprehensif. Kekuatannya utama terletak pada pengesahan isyarat berbilang dimensi dan kawalan risiko yang kukuh. Walaupun terdapat risiko yang melekat, arah pengoptimuman yang dicadangkan dapat meningkatkan kestabilan strategi dan daya adaptasi. Strategi ini sangat sesuai untuk persekitaran pasaran yang sedang berkembang dan dapat mencapai hasil perdagangan yang stabil melalui pengoptimuman parameter dan pengurusan risiko yang betul.
/*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")