Noro平移均线止损策略是一种趋势跟踪策略。它通过计算3日简单移动平均线,并在其上方和下方加上一个比例作为开仓线和止损线。同时设置了止盈位。这样可以在趋势开始时打开头寸,在趋势反转时止损出场。
该策略的核心是计算3日简单移动平均线ma。然后在ma上方加上一个百分比lo作为开仓线long,当价格上穿long时做多;在ma下方减去一个百分比sl作为止损线stop,当价格下破stop时止损。同时设置了止盈线take,当价格达到止盈线时止盈。
具体计算规则如下:
这样就构建起了一个以ma为基准,通过可配置的百分比来设置开仓线、止盈线和止损线的趋势跟踪策略。
这种策略最大的优势在于可以自动跟踪趋势运行。通过做多看涨,做空看跌,无需判断面上形态就可以捕捉中间趋势。再配合止盈止损设置,可以在趋势结束时自动止损,避免回撤过大。
另一个优势是参数可以灵活调整。通过调整开仓线、止盈线和止损线的百分比参数,可以自由控制仓位规模和止损空间。
该策略最大的风险在于容易形成巨大的滑点。因为其是离场线交易,当价格急速下跌时很容易造成超出止损价格很远才成交的情况。这将会让投资者损失惨重。
另一个风险是参数设置不当可能导致过于频繁出入场,增加交易频率和手续费的负担。
该策略可以从以下几个方面进行优化:
Noro平移均线止损策略是一个简单实用的趋势跟踪策略。它可以自动跟踪趋势运行,配合止盈止损设置有效控制风险。该策略最大的风险在于可能造成较大滑点,以及参数设置不当导致过于频繁交易。通过改进止损方式、优化参数设置等手段,可以将该策略优化得更加实用。
/*backtest start: 2023-12-30 00:00:00 end: 2024-01-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //2019 //Noro //@version=4 strategy("Stop-loss", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings lo = input(-5.0, title = "Long-line, %") tp = input(5.0, title = "Take-profit") sl = input(2.0, title = "Stop-loss") //SMA ma = sma(ohlc4, 3) long = ma + ((ma / 100) * lo) //Orders avg = strategy.position_avg_price if ma > 0 strategy.entry("Long", strategy.long, limit = long) strategy.entry("Take", strategy.short, 0, limit = avg + ((avg / 100) * tp)) strategy.entry("Stop", strategy.short, 0, stop = avg - ((avg / 100) * sl)) //Cancel order if strategy.position_size == 0 strategy.cancel("Take") strategy.cancel("Stop") //Lines plot(long, offset = 1, color = color.black, transp = 0) take = avg != 0 ? avg + ((avg / 100) * tp) : long + ((long / 100) * tp) stop = avg != 0 ? avg - ((avg / 100) * sl) : long - ((long / 100) * sl) takelinecolor = avg == avg[1] and avg != 0 ? color.lime : na stoplinecolor = avg == avg[1] and avg != 0 ? color.red : na plot(take, offset = 1, color = takelinecolor, linewidth = 3, transp = 0) plot(stop, offset = 1, color = stoplinecolor, linewidth = 3, transp = 0)