多空力量策略是由Alexander Elder博士开发的,它通过Elder-ray指标来衡量市场的买入和卖出压力。Elder-ray指标通常与三屏交易系统一起使用,但也可以单独使用。
Alexander Elder博士使用13日指数移动平均线(EMA)来表示市场价值的共识。多头力量反映买方将价格推高于价值共识的能力。空头力量反映卖方将价格压低于平均价值共识的能力。
多头力量通过高点减去13日EMA计算。空头力量通过低点减去13日EMA计算。
该策略通过计算多空力量指标来判断市场的多空态势。
当多头力量大于阈值时为做多信号,当空头力量大于阈值时为做空信号。且可以选择反向交易。
可设置止损,优化移动平均线周期,结合趋势指标等进行优化。
多空力量策略通过Elder-ray指标判断市场多空态势,简单直观,参数可配置。但容易产生错误信号,需进一步优化加入趋势判断和止损。该策略思路值得学习借鉴,但直接应用需谨慎。
/*backtest start: 2023-09-23 00:00:00 end: 2023-10-23 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version = 2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 08/12/2016 // Developed by Dr Alexander Elder, the Elder-ray indicator measures buying // and selling pressure in the market. The Elder-ray is often used as part // of the Triple Screen trading system but may also be used on its own. // Dr Elder uses a 13-day exponential moving average (EMA) to indicate the // market consensus of value. Bull Power measures the ability of buyers to // drive prices above the consensus of value. Bear Power reflects the ability // of sellers to drive prices below the average consensus of value. // Bull Power is calculated by subtracting the 13-day EMA from the day's High. // Bear power subtracts the 13-day EMA from the day's Low. // // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Elder Ray (Bull Power) Strategy Backtest") Length = input(13, minval=1) Trigger = input(0) reverse = input(false, title="Trade reverse") hline(0, color=purple, linestyle=line) xPrice = close xMA = ema(xPrice,Length) DayHigh = iff(dayofmonth != dayofmonth[1], high, max(high, nz(DayHigh[1]))) nRes = DayHigh - xMA pos = iff(nRes > Trigger, 1, iff(nRes < Trigger, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="Bull Power", style = histogram)