Die Adaptive Price-Crossing Moving Average Trading Strategie ist eine quantitative Handelsmethode, die auf dem Hull Moving Average (HMA) basiert. Diese Strategie erzeugt Kauf- und Verkaufssignale unter Verwendung von Preis-Crossovers mit der HMA, während festgelegte Stop-Loss- und Take-Profit-Level implementiert werden, um Risiko und Gewinn zu verwalten. Die Strategie verwendet eine 104-Perioden-HMA als primären Indikator, kombiniert mit Preis-Crossovers, um Trades auszulösen.
Der Kern dieser Strategie ist die Verwendung des Hull Moving Average (HMA) als primärer Indikator.
Die Strategie verfolgt offene Positionen, um sicherzustellen, dass keine neuen Positionen geöffnet werden, während eine bestehende aktiv ist.
Die Adaptive Price-Crossing Moving Average Trading Strategy ist eine einfache, aber effektive quantitative Handelsmethode. Durch die Nutzung der Vorteile des Hull Moving Average kann diese Strategie Markttrends erfassen und gleichzeitig das Kapital durch feste Risikomanagementmaßnahmen schützen. Obwohl die Strategie einige potenzielle Risiken birgt, kann sie durch kontinuierliche Optimierung weiter verbessert und angepasst werden. Für Händler, die nach automatisierten Handelslösungen suchen, ist dies ein lohnenswertes Grundstrategie-Rahmenwerk.
/*backtest start: 2024-01-01 00:00:00 end: 2024-03-23 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SHIESTD", overlay=true) // Function to calculate Hull Moving Average (HMA) hma(src, length) => wma1 = ta.wma(src, length) wma2 = ta.wma(src, length / 2) hma = ta.wma(2 * wma2 - wma1, math.round(math.sqrt(length))) hma // Parameters hma_length = 104 // Calculate Hull Moving Average hma_value = hma(close, hma_length) // Plot HMA plot(hma_value, title="104-period Hull Moving Average", color=color.blue, linewidth=2) // Define SL and TP values in dollars long_sl_amount = 1.25 long_tp_amount = 37.5 short_sl_amount = 1.25 short_tp_amount = 37.5 // Number of contracts contracts = 2 // Function to calculate SL and TP prices based on entry price and dollar amounts long_sl_price(entry_price) => entry_price - long_sl_amount long_tp_price(entry_price) => entry_price + long_tp_amount short_sl_price(entry_price) => entry_price + short_sl_amount short_tp_price(entry_price) => entry_price - short_tp_amount // Trading conditions price_intersects_hma = ta.crossover(close, hma_value) or ta.crossunder(close, hma_value) // Long and Short Conditions based on price intersecting HMA long_condition = ta.crossover(close, hma_value) short_condition = ta.crossunder(close, hma_value) // Track open positions var bool long_open = false var bool short_open = false // Handle Long Positions if (long_condition and not long_open) entry_price = close strategy.entry("Long", strategy.long, qty=contracts) strategy.exit("Exit Long", from_entry="Long", stop=long_sl_price(entry_price), limit=long_tp_price(entry_price)) long_open := true // Handle Short Positions if (short_condition and not short_open) entry_price = close strategy.entry("Short", strategy.short, qty=contracts) strategy.exit("Exit Short", from_entry="Short", stop=short_sl_price(entry_price), limit=short_tp_price(entry_price)) short_open := true // Reset flags when the position is closed if (strategy.opentrades == 0) long_open := false short_open := false