
Dieser Artikel beschreibt ein Trend-Tracking-Trading-System, das eine Darvas-Box und einen 25-Perioden-Moving-Average (MA25) kombiniert. Die Strategie identifiziert die Box, die sich zwischen den Preiskalkulationen bildet, und kombiniert diese mit einer Gleichgewichts-Trendbestätigung, um starke Trends bei Durchbrüchen zu erfassen. Das System ist so konzipiert, dass die Trend-Kontinuität und die falsche Durchbruchfilterung berücksichtigt werden, um den Händlern einen vollständigen Marktzugang zu bieten.
Die Strategie besteht aus drei zentralen Komponenten:
Die Strategie baut ein robustes Handelssystem auf, indem sie die klassische Theorie des Davos-Boxes mit dem Trendverfolgungssystem für bewegliche Durchschnitte kombiniert. Der Hauptvorteil des Systems besteht darin, dass es in der Lage ist, trendige Verhaltensweisen effektiv zu erfassen und gleichzeitig Risiken durch mehrere Filtermechanismen zu kontrollieren. Obwohl es eine gewisse Rückständigkeit gibt, kann die Strategie durch eine vernünftige Parameteroptimierung und Risikomanagement eine stabile Leistung in einem Trendmarkt erzielen.
/*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")