Es handelt sich um ein Trend-following Trading-System, das auf Preislücken und gleitendem Durchschnittsfilter basiert. Die Strategie erfasst Trendchancen, indem sie statistisch signifikante Preislücken in Kombination mit SMA-Trendfiltern identifiziert und Trades ausführt, wenn klare Markttrends auftreten. Das Kernkonzept besteht darin, von Trendfortsetzungschancen zu profitieren, die durch Angebots-Nachfrage-Ungleichgewichte entstehen, die sich als Preislücken manifestieren.
Die Strategie beruht auf mehreren Schlüsselelementen:
Diese Strategie kombiniert Preislücken und gleitende Durchschnittstrendfilterung, um ein Handelssystem mit klarer Logik und kontrolliertem Risiko zu schaffen. Durch geeignete Parameter-Einstellungen und kontinuierliche Optimierung kann die Strategie stabile Renditen in Trendmärkten erzielen. Händlern wird geraten, vor der Live-Implementierung gründliche historische Tests durchzuführen und auf der Grundlage spezifischer Marktmerkmale zu optimieren.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simplified Gap Strategy with SMA Filter", overlay=true) // Input fields for user control long_gap_threshold = input.float(0.1, title="Gap Threshold (%)", minval=0.01, step=0.01) // Minimum percentage for gaps hold_duration = input.int(10, title="Hold Duration (bars)", minval=1) // Duration to hold the position gap_trade_option = input.string("Long Up Gap", title="Select Trade Option", options=["Long Up Gap", "Short Down Gap", "Short Up Gap", "Long Down Gap"]) // Combined option use_sma_filter = input.bool(false, title="Use SMA Filter") // Checkbox to activate SMA filter sma_length = input.int(200, title="SMA Length", minval=1) // Length of the SMA // RGB color definitions for background color_up_gap = color.new(color.green, 50) // Green background for up gaps color_down_gap = color.new(color.red, 50) // Red background for down gaps // Gap size calculation in percentage terms gap_size = (open - close[1]) / close[1] * 100 // Gap size in percentage // Calculate gaps based on threshold input up_gap = open > close[1] and gap_size >= long_gap_threshold // Long gap condition down_gap = open < close[1] and math.abs(gap_size) >= long_gap_threshold // Short gap condition // Calculate the SMA sma_value = ta.sma(close, sma_length) // Define the trading logic based on selected option and SMA filter if (gap_trade_option == "Long Up Gap" and up_gap and (not use_sma_filter or close > sma_value)) strategy.entry("Long", strategy.long) if (gap_trade_option == "Short Down Gap" and down_gap and (not use_sma_filter or close < sma_value)) strategy.entry("Short", strategy.short) if (gap_trade_option == "Short Up Gap" and up_gap and (not use_sma_filter or close < sma_value)) strategy.entry("Short", strategy.short) if (gap_trade_option == "Long Down Gap" and down_gap and (not use_sma_filter or close > sma_value)) strategy.entry("Long", strategy.long) // Exit position after the hold duration if (strategy.opentrades > 0) if (bar_index - strategy.opentrades.entry_bar_index(0) >= hold_duration) strategy.close("Long") strategy.close("Short") // Background coloring to highlight gaps on the chart bgcolor((gap_trade_option == "Long Up Gap" and up_gap) ? color_up_gap : na, title="Up Gap Background") bgcolor((gap_trade_option == "Short Down Gap" and down_gap) ? color_down_gap : na, title="Down Gap Background") bgcolor((gap_trade_option == "Short Up Gap" and up_gap) ? color_down_gap : na, title="Short Up Gap Background") bgcolor((gap_trade_option == "Long Down Gap" and down_gap) ? color_up_gap : na, title="Long Down Gap Background") // Plot the SMA for visualization plot(use_sma_filter ? sma_value : na, color=color.white, title="SMA", linewidth=1)