이것은 원유 선물 시장의 변동성을 활용하기 위해 고안된 체계적인 접근법입니다. 촛불의 평균 범위를 측정합니다. 빠른 이동 평균이 느린 것보다 높다면 촛불이 더 크다는 것을 의미합니다. 느린 이동 평균이 빠른 것보다 높다면 촛불이 더 작다는 것을 의미합니다.
이 원칙에 따라, 그것은 잠재적 인 긴 및 짧은 입구점을 식별합니다. 위치는
이 전략은 변동성 전략에 속하는 단기 트렌드를 결정하기 위해 브레이크아웃과 회귀를 활용합니다. 매개 변수를 최적화하고 잘못된 브레이크아웃 확률을 결정하기 위해 변동성 메트릭을 추가함으로써 수익성을 높일 수 있습니다. 또한 빠른 출구 메커니즘은 일부 수익을 잠그고 위험을 효과적으로 제어합니다. 단기 거래에 보조 도구로 사용될 수 있으며 매개 변수 조정을 통해 장기 거래 신호를 생성 할 수 있습니다.
/*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')