Artikel ini memperkenalkan sistem perdagangan trend berikut yang menggabungkan Kotak Darvas dan Purata Bergerak 25 tempoh (MA25). Strategi mengenal pasti zon penyatuan harga melalui pembentukan kotak dan mengesahkan trend dengan purata bergerak untuk menangkap pergerakan pasaran yang kuat semasa pecah. Reka bentuk sistem secara menyeluruh mempertimbangkan kesinambungan trend dan penapisan pecah palsu, menyediakan peniaga dengan rangka kerja lengkap untuk masuk dan keluar pasaran.
Strategi ini terdiri daripada tiga komponen utama:
Strategi ini membina sistem dagangan yang kukuh dengan menggabungkan teori Darvas Box klasik dengan trend purata bergerak yang mengikuti. Kelebihannya utama terletak pada menangkap pasaran trend dengan berkesan sambil mengawal risiko melalui beberapa mekanisme penapisan. Walaupun terdapat beberapa kelewatan yang melekat, strategi ini dapat mencapai prestasi yang stabil di pasaran trend melalui pengoptimuman parameter yang betul dan pengurusan risiko.
/*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")