
La estrategia de la superposición de la dinámica de primavera y otoño se basa en calcular el ROC de los cambios en los diferentes períodos y otorgar la superposición proporcional para formar un indicador de dinámica integral para juzgar la dirección de la tendencia de la situación. La estrategia superpone los indicadores de dinámica a corto, medio y largo plazo, lo que permite equilibrar las tendencias a corto y largo plazo y evitar la generación de falsas señales.
La estrategia primero calcula los indicadores de ROC de diferentes períodos, como 10, 15 y 20 días, luego procesa el ROC de forma suave y superpone la asignación en una proporción de 1 a 4. La fórmula de cálculo es la siguiente:
roc1 = (sma(roc(close,10),10)*1)
roc2 = (sma(roc(close,15),10)*2)
...
osc = roc1+roc2+roc3+roc4+...
En este caso, roc1-roc12 representa el cálculo del ROC de diferentes períodos, correspondientes a períodos de 10, 15 y 530 días respectivamente. Computa la tasa de cambio (ROC) durante el período especificado.
A continuación, se realiza un suavizado de SMA de a días (de 10 días por defecto) para osc, obteniendo oscsmt。
Luego se compara la relación de magnitud entre osc y oscsmt, cuando el osc pasa por oscsmt como señal positiva, entra en el sentido contrario; cuando el osc pasa por oscsmt como señal negativa, entra en el sentido contrario.
Finalmente, se puede optar por invertir la dirección de la operación.
La superposición de indicadores de movimiento a corto y largo plazo permite capturar tendencias a corto y largo plazo al mismo tiempo, evitando la generación de falsas señales.
Al comparar la diferencia entre osc y oscsmt, se puede reducir la transacción inútil en la zona de la placa plana.
Los parámetros personalizados, los parámetros periódicos para ajustar el cálculo del ROC y los parámetros de suavización de SMA.
Se puede optar por invertir la dirección de negociación para satisfacer diferentes estilos de negociación.
Los indicadores visuales, intuitivos para juzgar el punto de venta.
Los indicadores de ROC son muy sensibles a los precios anormales repentinos, lo que puede generar una señal errónea. Se puede aumentar adecuadamente el parámetro de suavización SMA a para reducir la sensibilidad del indicador de ROC.
Los parámetros predeterminados pueden no ser válidos para todas las variedades, y se necesitan parámetros optimizados para encontrar la combinación óptima de parámetros según las características de las diferentes variedades.
La comparación de diferencia de precios basada solo en osc y oscsmt genera señales de negociación que se pueden combinar con señales de filtración de otros indicadores para reducir la probabilidad de transacciones erróneas.
Esta estrategia es más adecuada para el comercio de líneas medianas y largas, las operaciones de líneas cortas pueden ser ineficaces. Se puede ajustar el ciclo de cálculo del ROC para optimizar el escenario de uso de esta estrategia.
La estrategia de superposición de movimiento de primavera y otoño, mediante el cálculo de indicadores de ROC de varios ciclos y la superposición de indicadores de movimiento integrados, puede considerar al mismo tiempo las tendencias a corto y largo plazo y evitar la generación de falsas señales. En comparación con un solo indicador de ROC, esta estrategia puede mejorar considerablemente la calidad y la fiabilidad de la señal.
/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter 08/08/2017
// Pring's Special K is a cyclical indicator created by Martin Pring.
// His method combines short-term, intermediate and long-term velocity
// into one complete series. Useful tool for Long Term Investors
// Modified for any source.
//
// 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="Martin Pring's Special K Backtest", shorttitle="UCS_Pring_sK")
a = input(10, title = "Smooth" )
sources = input(title="Source", defval=close)
reverse = input(false, title="Trade reverse")
roc1 = (sma(roc(sources,10),10)*1)
roc2 = (sma(roc(sources,15),10)*2)
roc3 = (sma(roc(sources,20),10)*3)
roc4 = (sma(roc(sources,30),15)*4)
roc5 = (sma(roc(sources,40),50)*1)
roc6 = (sma(roc(sources,65),65)*2)
roc7 = (sma(roc(sources,75),75)*3)
roc8 = (sma(roc(sources,100),100)*4)
roc9 = (sma(roc(sources,195),130)*1)
roc10 = (sma(roc(sources,265),130)*2)
roc11 = (sma(roc(sources,390),130)*3)
roc12 = (sma(roc(sources,530),195)*4)
osc = roc1+roc2+roc3+roc4+roc5+roc6+roc7+roc8+roc9+roc10+roc11+roc12
oscsmt = sma(osc,a)
pos = iff(osc > oscsmt, 1,
iff(osc < oscsmt, -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(osc, color=blue, title="Martin Pring's Special K")
plot(oscsmt, color = red, title = "Smooth")
hline(0, title="Zero Line")