本策略通过识别价格的摆动高点和低点,进行趋势性的突破交易。该策略属于趋势跟踪类策略,旨在捕捉中长线趋势带来的价格波动。
策略原理:
计算指定周期的摆动高点(swing high)和摆动低点(swing low)。
当价格超过摆动高点时,进行买入操作。
当价格跌破摆动低点时,进行卖出操作。
设置止损点为前一摆动低点(多单)或前一摆动高点(空单),以控制风险。
当价格重新跌破止损点时,止损退出仓位。
该策略的优势包括:
识别摆动点可以有效判定趋势。趋势交易属于高胜率操作。
突破摆动点造成价格 behaviors 加速,利于追踪趋势。
止损点设置在关键支撑阻力位,可控制风险。
该策略的风险包括:
识别摆动点常存在滞后,可能错过最佳入场时点。
止损点过于接近,容易被震荡市场击出。应放宽止损范围。
突破容易形成头部效应,必须设置止损以应对回调。
总之,摆动点突破策略通过跟踪中长线趋势,采取趋势性突破操作。该策略可获得较高胜率,但须注意入场时点选择与止损点设置,以优化策略效果。投资者应考虑本策略的风险特性,运用适当的资金管理方式,以obtain 长期稳定收益。
/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Swing Points", overlay=true)
leftBars = input(1)
rightBars=input(1)
sl = pivotlow(low, leftBars, rightBars)
sh = pivothigh(high, leftBars, rightBars)
last_sh=na
last_sh:= sh!=0 ? sh : nz(last_sh[1])
last_sl=na
last_sl:= sl!=0 ? sl : nz(last_sl[1])
EMA = ema(close,55)
longCondition = sh and high > EMA
shortCondition = sl and close < EMA
exitLongCondition = sl < sh[1]
exitShortCondition = sh > sl[1]
if longCondition
strategy.entry("swinghigh", strategy.long, stop=last_sh)
if shortCondition
strategy.entry("swinglow", strategy.short, stop=last_sl)
if exitLongCondition
strategy.exit("stoplong", "swinghigh", stop = last_sl )
if exitShortCondition
strategy.exit("stopshort", "swinglow", stop = last_sh )
plot(EMA,linewidth = 4)