反转波动带策略是一种基于布林带的FOREX交易策略。它在日元交易对上效果最佳。当价格突破布林带上限或下限时,采取反向操作,目标价设置为最近10根K线的最高点或最低点。
该策略基于20日简单移动均线及其2倍标准差构建上轨和下轨。当当前K线收盘价突破下轨时,做多;当突破上轨时,做空。止损价设置为最近10根K线的最低价,止盈价为最近10根K线的最高价。
具体来说,如果前一根K线开盘价低于下轨,且当前K线收盘价も低于下轨,则做多进场。止损价设置为最近10根K线的最低价,止盈价设置为最近10根K线的最高价。
相反,如果前一根K线开盘价高于上轨,且当前K线收盘价も高于上轨,则做空进场。止损价设置为最近10根K线的最高价,止盈价设置为最近10根K线的最低价。
这种策略具有反转交易的特点。当价格突破布林带时,说明趋势正在发生转折,因此采取反向操作。设置止盈止损也比较合理,能够获取较好的风险回报比。
此外,这种策略参数较少,实现简单,容易理解。而日元交易对波动较大,适合采用此策略。
该策略最大的风险在于不能有效判断趋势转折点。当价格突破布林带上下限后,仍有可能继续原有趋势运行。这时如果反向做市,很可能造成损失。
此外,止盈止损设置为近期最高最低价也存在风险。如果行情出现V型反转,止损可能直接被击穿。止盈设置也可能预判不准确,无法全额享受行情反转带来的利润。
为控制风险,可以设置合理的止损幅度,降低单笔损失。也可以采用移动止损来锁定利润,适当调整止盈位置。
该策略可以从以下几个方面进行优化: 1. 增加过滤条件,避免错误信号。可以设置交易量过滤,确保突破时交易量放大,以确认趋势转折。 2. 优化参数设置。可以测试不同参数对结果的影响,寻找最优参数组合。 3. 结合其他指标进行验证,如RSI等震荡指标,确认买卖信号的可靠性。 4. 利用机器学习等方法动态优化止损止盈位置,让策略更具适应性。
反转波动带策略overall是一种简单实用的短线交易策略。它反转操作且风险可控,适合日内交易。但参数和过滤条件还需进一步优化,以减少错误信号并提高效率。如果搭配其他技术指标和动态止盈止损,该策略的表现还具有很大提升空间。
/*backtest
start: 2023-11-01 00:00:00
end: 2023-11-03 18:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Initial settings
strategy("Bulle de bollinger", overlay = true)
// Parameter Settings
mdl = sma(close, 20)
dev = stdev(close, 20)
upr = mdl + 2*dev
lwr = mdl - 2*dev
// Plot
plot(mdl, color = color.green) // Plot moving average
p1 = plot(upr, color = color.red) // Plot Upper_band
p2 = plot(lwr, color = color.green) // Plot lower band
fill(p1, p2, color = color.blue) // Fill transparant color between the 2 plots
// Strategy entry & close
if open[1] < lwr[1] and close[1] < lwr[1] // Previous price lower than lower band and current close is higher than lower band
stop_level = lowest(10)
profit_level = highest(10)
strategy.entry(id = 'bb_buy', long = true)
strategy.exit("TP/SL", "bb_buy", stop=stop_level, limit=profit_level)
if open[1] > upr[1] and close[1] > upr // Previous price is higher than higher band & current close is lower the higher band
stop_level = highest(10)
profit_level = lowest(10)
strategy.entry(id = 'bb_sell', long = false)
strategy.exit("TP/SL", "bb_sell", stop=stop_level, limit=profit_level)