
A estratégia de dupla linha de equilíbrio 360 ° é uma estratégia de negociação quantitativa que combina a dupla linha de equilíbrio e a determinação da força da tendência. A estratégia determina a tendência dos preços através do cálculo da linha de equilíbrio de diferentes períodos e, ao mesmo tempo, combina a acumulação de cantos de linha de corte para determinar a força da tendência, permitindo uma escolha mais precisa de compra e venda.
A lógica central da estratégia 360o de dupla equilíbrio é:
Concretamente, a estratégia define a média original de 1 minuto e a média depois de passar pelo filtro de Kalman. O filtro de Kalman pode remover parte do ruído da média e torná-la mais suave. Em seguida, calcula-se o ângulo de corte das duas médias, que reflete a mudança de tendência do preço. Por exemplo, quando o ângulo de corte é positivo, o preço está subindo; ao contrário, ele está caindo.
A estratégia escolhe 30 minutos como um período de cálculo, real summed todos os cantos positivos e negativos do corte durante esse período. Quando o ângulo de corte é superior a 360 graus, a tendência é muito forte e emite um sinal de multiplicação; ao contrário, quando o ângulo de corte é inferior a 360 graus, a tendência é invertida e emite um sinal de ruptura.
Os principais benefícios da estratégia 360o de dupla equilíbrio são:
A estratégia de 360o de dupla linha de equilíbrio também apresenta alguns riscos:
Para reduzir os riscos acima, é possível reduzir o ciclo de linha média, otimizar a combinação de parâmetros, aumentar o mecanismo de stop loss, etc.
A estratégia de dupla equilíbrio 360° ainda tem espaço para melhorias:
A estratégia de dupla equilíbrio 360 ° com a aplicação integral de filtragem equilíbrio e corte de ângulo de julgamento de quantificação tendência, a realização de uma estratégia de negociação de quantificação mais estável. Em comparação com um único indicador técnico, a estratégia forma uma consideração mais abrangente, com uma maior praticidade. Mas ainda é necessário prestar atenção ao ajuste de parâmetros e controle de risco, o futuro pode continuar a ser otimizado, para que a estratégia seja mais eficaz.
/*backtest
start: 2024-01-25 00:00:00
end: 2024-01-30 08:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//@library=math
strategy("策略360°(测试)", overlay=true)
// 定义1分钟均线
ma1 = request.security(syminfo.tickerid, "1", ta.sma(close, 1)) // 在这里使用了 math.sma() 函数
//plot(ma1, color=color.yellow, title="原始均线")
// 定义卡尔曼滤波函数,参考了[1](https://www.tradingview.com/pine-script-docs/en/v5/language/Methods.html)和[2](https://www.tradingview.com/pine-script-docs/en/v5/language/Operators.html)的代码
kalman(x, g) =>
kf = 0.0
dk = x - nz(kf[1], x) // 在这里使用了 nz() 函数
smooth = nz(kf[1], x) + dk * math.sqrt(g * 2) // 在这里使用了 math.sqrt() 函数
velo = 0.0
velo := nz(velo[1], 0) + g * dk // 在这里使用了 nz() 函数
kf := smooth + velo
kf
// 定义卡尔曼滤波后的均线
ma2 = kalman(ma1, 0.01)
plot(ma2, color=color.blue, title="卡尔曼滤波后的均线")
// 定义切线角
angle = math.todegrees(math.atan(ma2 - ma2[1])) // 在这里使用了 math.degrees() 和 math.atan() 函数
// 定义累加的切线角
cum_angle = 0.0
cum_angle := nz(cum_angle[1], 0) + angle // 在这里使用了 nz() 函数
// 定义30分钟周期
period = 30 // 您可以根据您的需要修改这个参数
// 定义周期内的切线角总和
sum_angle = 0.0
sum_angle := math.sum(angle, period) // 在这里使用了 math.sum() 函数,把周期内的切线角总和改成简单地把 5 个切线角相加
// 定义买入和卖出条件
buy = sum_angle > 360// 在这里使用了 math.radians() 函数
sell = sum_angle < -360
// 执行买入和卖出操作
strategy.entry("Long", strategy.long, when=buy)
strategy.close("Short", when=buy)
strategy.entry("Short", strategy.short, when=sell)
strategy.close("Long", when=sell)
// 绘制曲线图
plot(sum_angle, color=color.green, title="周期内的切线角总和")
plot(angle, color=color.red, title="切线角") // 这是我为您添加的代码,用于显示实时计算的切线角