
この戦略は,原油期貨市場の波動性を利用することを目的とした体系的な方法である.それは,の平均区間範囲を測定し,もし快移動平均が遅移動平均より高いならが大きいことを意味する;もし遅移動平均が快移動平均より高いならが小さいことを意味する.
この原理に従って,潜在的に長いエントリーポイントと短いエントリーポイントを識別する. ポジションは,特定の数ののみを保持する. このパラメータは,Exit after barsの入力によって制御される.
この戦略は,突破と回帰を利用して短期トレンドを判断し,波動的戦略である.パラメータ設定を最適化し,波動率指標を付加することで判断し,偽突破の確率を減らすことができ,利益レベルを上げる.同時に,固定ルートKラインの急速脱出機構は,一定利益をロックし,リスクを効果的に制御することができる.この戦略は,ショートライン操作の補助ツールとして,パラメータ調整によってより長い周期の操作シグナルを取得することもできる.
/*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')