Artikel ini memperkenalkan sistem trading trend following yang menggabungkan Darvas Box dan Moving Average (MA25) 25 periode. Strategi ini mengidentifikasi zona konsolidasi harga melalui pembentukan box dan mengkonfirmasi tren dengan moving average untuk menangkap pergerakan pasar yang kuat selama breakout.
Strategi ini terdiri dari tiga komponen inti:
Strategi ini membangun sistem perdagangan yang kuat dengan menggabungkan teori klasik Darvas Box dengan tren rata-rata bergerak. Keuntungannya utama terletak pada menangkap pasar tren secara efektif sambil mengendalikan risiko melalui beberapa mekanisme penyaringan. Meskipun ada beberapa lag yang melekat, strategi dapat mencapai kinerja yang stabil di pasar tren melalui optimasi parameter yang tepat dan manajemen risiko. Pedagang disarankan untuk fokus pada pemilihan lingkungan pasar dan menyesuaikan parameter secara dinamis berdasarkan kondisi aktual saat menerapkan strategi.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DARVAS BOX with MA25 Buy Condition", overlay=true, shorttitle="AEG DARVAS") // Input for box length boxp = input.int(5, "BOX LENGTH") // Calculate 25-period moving average ma25 = ta.sma(close, 25) // Lowest low and highest high within the box period LL = ta.lowest(low, boxp) k1 = ta.highest(high, boxp) k2 = ta.highest(high, boxp - 1) k3 = ta.highest(high, boxp - 2) // New high detection NH = ta.valuewhen(high > k1[1], high, 0) // Logic to detect top and bottom of Darvas Box box1 = k3 < k2 TopBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, NH, 0) BottomBox = ta.valuewhen(ta.barssince(high > k1[1]) == boxp - 2 and box1, LL, 0) // Plot the top and bottom Darvas Box lines plot(TopBox, linewidth=3, color=color.green, title="Top Box") plot(BottomBox, linewidth=3, color=color.red, title="Bottom Box") plot(ma25, color=#2195f31e, linewidth=2, title="ma25") // --- Buy and Sell conditions --- // Buy when price breaks above the Darvas Box AND MA15 buyCondition = ta.crossover(close, TopBox) and close > ma25 // Sell when price drops below the Darvas Box sellCondition = ta.crossunder(close, BottomBox) // --- Buy and Sell Signals --- // Plot BUY+ and SELL labels plotshape(series=buyCondition, title="Buy+ Signal", location=location.abovebar, color=#72d174d3, style=shape.labeldown, text="BUY") plotshape(series=sellCondition, title="Sell Signal", location=location.belowbar, color=color.rgb(234, 62, 62, 28), style=shape.labelup, text="SELL") // --- Strategy execution --- if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy")