
Artikel ini memperkenalkan sistem perdagangan trend yang menggabungkan kotak Darvas dan purata bergerak 25 kitaran. Strategi ini menggunakan kotak yang terbentuk di seluruh kawasan harga, dan menggabungkan pengesahan trend sejajar, untuk menangkap keadaan yang kuat ketika pecah. Reka bentuk sistem mempertimbangkan kesinambungan trend dan penyaringan pecah palsu, memberikan pedagang dengan kerangka masuk dan keluar pasaran yang lengkap.
Strategi ini terdiri daripada tiga komponen utama:
Strategi ini membina sistem perdagangan yang mantap dengan menggabungkan teori Davas Box klasik dan trend pengesanan purata bergerak. Kelebihan utama sistem ini adalah keupayaan untuk menangkap trend secara berkesan, sambil mengawal risiko melalui pelbagai mekanisme penapisan. Walaupun terdapat beberapa ketidakselesaan, tetapi dengan pengoptimuman parameter yang munasabah dan pengurusan risiko, strategi ini dapat memperoleh prestasi yang stabil di pasaran yang sedang tren.
/*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")