これは,原油先物市場の変動をキャピタライズするために設計された体系的なアプローチです. ろうそくの平均範囲を測定します. 速い移動平均が遅いよりも大きい場合は,ろうそくが大きいことを意味します. ゆっくり移動平均が速いよりも大きい場合は,ろうそくが小さいことを意味します.
この原理に従って,潜在的な長と短エントリーポイントを識別します. ポジションは固定数のキャンドルのみに保持されます.
この戦略は,短期のトレンドを決定するために,波動性戦略に属するブレイクアウトとレグレッションを利用する.パラメータを最適化し,偽のブレイクアウト確率を決定するために波動性メトリックを追加することで,収益性を高めることができます.また,迅速な出口メカニズムは一部の利益をロックし,リスクを効果的に制御します.短期取引のための補助ツールとして機能し,パラメータチューニングを通じて長期的な取引信号も生成できます.
/*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')