突破重叠K线高低位策略是根据重叠K线形态进行交易决策的价格行动策略。该策略发生在当前K线的价差范围小于前一根K线的情况下,表明市场正在蓄势整理或犹豫不决。当价格突破向上或向下突破前一根K线的最高价或最低价时,这就提供了可能的入场信号。
该策略使用以下指标和变量:
入场决策基于价差Range和前一根K线最高最低价的突破。具体来说,发生向上突破并且当前K线最低价高于向下流动性时,产生多头入场信号;发生向下突破并且当前K线最高价低于向上流动性时,产生空头入场信号。
止损使用ATR的倍数乘以当前价差停损。止盈使用ATR倍数乘以当前价差止盈。
该策略具有以下优势:
该策略也存在以下风险:
该策略可从以下方面进行优化:
突破重叠K线高低位策略,利用行情蓄势准备和突破原理,在价格突破前一根K线价差范围时入场。结合流动性位避免被套风险。止损止盈设置合理,突破后可顺势运行达到盈利目标。该策略有望在中间周期获得较好的交易表现。通过参数优化和过滤条件优化,可以进一步扩大策略优势,提高系统稳定性。
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ilikelyrics560
//@version=5
strategy("Inside Bar Range Breakout Strategy", overlay=true)
// Inputs
lookback = input.int(20, "Lookback Period", minval=1)
atrMult = input.float(1.5, "ATR Multiplier", step=0.1)
atrLen = input.int(14, "ATR Length", minval=1)
slMult = input.float(2, "Stop Loss Multiplier", step=0.1)
tpMult = input.float(3, "Take Profit Multiplier", step=0.1)
// Variables
atr = ta.atr(atrLen)
Range = high - low
insideBar = Range < Range[1]
breakoutUp = close > high[1]
breakoutDown = close < low[1]
liquidityUp = ta.highest(high, lookback)
liquidityDown = ta.lowest(low, lookback)
longEntry = breakoutUp and low > liquidityDown
shortEntry = breakoutDown and high < liquidityUp
longExit = close < low[1]
shortExit = close > high[1]
// Plotting
plot(liquidityUp, "Liquidity Up", color.new(color.green, 30), 1)
plot(liquidityDown, "Liquidity Down", color.new(color.red, 30), 1)
bgcolor(longEntry ? color.new(color.green, 30) : na, title="Long Entry")
bgcolor(shortEntry ? color.new(color.maroon, 30) : na, title="Short Entry")
// Trading
if (longEntry)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", stop=low - slMult * atr, limit=high + tpMult * atr)
if (shortEntry)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", stop=high + slMult * atr, limit=low - tpMult * atr)