Dies ist ein systematischer Ansatz, um die Volatilität der Rohöl-Futures-Märkte zu nutzen. Es misst die durchschnittliche Bandbreite der Kerzen. Wenn der schnelle gleitende Durchschnitt über dem langsamen liegt, bedeutet dies, dass die Kerzen größer sind. Wenn der langsame gleitende Durchschnitt über dem schnellen liegt, bedeutet dies, dass die Kerzen kleiner sind.
Nach diesem Prinzip ermittelt er potenzielle lange und kurze Einstiegspunkte, wobei die Position nur für eine bestimmte Anzahl von Kerzen gehalten wird, die durch die Eingabe "Exit after bars" gesteuert wird.
Diese Strategie nutzt Breakout und Regression, um kurzfristige Trends zu bestimmen, die zu Volatilitätsstrategien gehören. Durch die Optimierung von Parametern und das Hinzufügen von Volatilitätsmetriken, um die Wahrscheinlichkeit eines falschen Breakouts zu bestimmen, kann sie die Rentabilität erhöhen.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Celestial_Logic //@version=5 strategy("Crudeoil Breakout strategy", overlay = true, initial_capital = 20000, default_qty_type = strategy.fixed, default_qty_value = 1) highestCloseLookback = input(9 , title = 'Highest Close lookback') lowestCloseLookback = input(50, title = 'Lowest Close lookback' ) exitAfter = input(10, title = 'Exit after bars') hc = ta.highest(close,highestCloseLookback) lc = ta.lowest(close,lowestCloseLookback) rangeFilter = (ta.sma( (high - low), 5 ) > ta.sma((high-low), 20) ) // Candles getting bigger. longCondition = (close == hc ) and not rangeFilter shortCondition = (close == lc ) and not rangeFilter if longCondition strategy.entry(id = 'long', direction = strategy.long) if shortCondition strategy.entry(id = 'short', direction = strategy.short) var int longsince = 0 var int shortsince = 0 if strategy.position_size > 0 longsince += 1 else longsince := 0 if strategy.position_size < 0 shortsince += 1 else shortsince := 0 if longsince >= exitAfter strategy.close(id = 'long', comment = 'long close') if shortsince >= exitAfter strategy.close(id = 'short', comment = 'short close')