该策略采用了布林带指标和移动平均线进行判断信号,由Arnoud Legoux指标计算均线,结合Parabolic SAR进行入市信号判断。策略名称为“移动平均线双线策略”,既包含了移动平均线指标又包含了双线条件判断的特点。
该策略主要判断布林带与移动平均线指标的关系,通过布林带指标中一定宽度的均线管带,与移动平均线的交叉做多空信号判断。
具体来说,策略中采用了Arnoud Legoux移动平均线指标与Parabolic SAR指标的组合。
Arnoud Legoux移动平均线指标是一种对传统移动平均线进行改进的指标。它与普通移动平均线相比,通过引入Offset偏移量,可以更加灵活地调整移动平均线的角度;同时通过Sigma值调整移动平均线的平滑度。
Parabolic SAR指标则是一个非常常见的止损系统指标。它可以非常清晰地给出价格反转的信号,以追踪价格的变化趋势。当Parabolic SAR指标在价格下方时,代表目前处于看涨状态;反之,在价格上方时则代表看跌状态。
该策略判断指标关系的逻辑如下:
判断看跌信号的逻辑相反,具体如下:
该策略结合运用了布林带指标与移动平均线指标,兼顾了趋势判断和突破交易。具体优势如下:
该策略也存在一些风险,主要如下:
对应解决方法如下:
该策略可优化的方向还有很多,主要如下:
该策略整体运用了布林带与移动平均线双重指标判断,在参数优化和策略组合方面都有很大的优化空间。通过引入更多量化方法,该策略可以进一步优化成为一个稳定收益的算法交易策略。
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Author: HighProfit
//Lead-In
strategy("Parabolic SAR & Arnoud Legoux Moving Avarage Strategy", shorttitle="ST-PSAR+ALMA", overlay=true)
//Arnoud Legoux Moving Avarage Inputs
source = close
windowsize = input(title="Window Size",defval=50)
offset = input(title="Offset", type=float, defval=0.85)
sigma = input(title="Sigma", type=float, defval=6)
//Parabolic SAR Inputs
start = input(title="Start", type=float, defval=0.02)
increase = input(title="Increase", type=float, defval=0.02)
max = input(title="Max", type=float, defval=.2)
//Conditions
longCondition = close>open and sar(start, increase, max) < low and crossover(close, alma(source, windowsize, offset, sigma))
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = close<open and sar(start, increase, max) > high and crossunder(close, alma(source, windowsize, offset, sigma))
if (shortCondition)
strategy.entry("Short", strategy.short)
//Plots
plot(alma(source, windowsize, offset, sigma), linewidth=2, title="ALMA")
plot(sar(start, increase, max), style=circles, linewidth=2, title="PSAR")