Estrategia de acumulación de impulso de diferentes marcos de tiempo

El autor:¿ Qué pasa?, Fecha: 2023-10-26 17:39:26
Las etiquetas:

img

Resumen general

La estrategia de acumulación de impulso calcula principalmente la tasa de cambio (ROC) en diferentes períodos, los pesa y los apila para formar un indicador de impulso integral para juzgar la dirección de la tendencia.

Estrategia lógica

La estrategia primero calcula los indicadores de ROC durante períodos de 10, 15 o 20 días, etc. Luego suaviza el ROC y los apila en una relación ponderada de 1 a 4 para obtener la fórmula:

roc1 = (sma(roc(close,10),10)*1)
roc2 = (sma(roc(close,15),10)*2)  
...
osc = roc1+roc2+roc3+roc4+...

En el caso de las entidades de crédito, el valor razonable de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas derivadas de las pérdidas.

Luego suaviza osc por una SMA de a (default 10) días para obtener oscsmt.

Compara osc con oscsmt, cuando osc cruza oscsmt como la señal alcista y entra a largo.

Por último, puede optar por invertir la dirección de las operaciones.

Ventajas

  1. La acumulación de indicadores de impulso a corto y a largo plazo puede capturar tendencias a corto y a largo plazo, evitando señales falsas.

  2. La comparación entre los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados de los mercados.

  3. Parámetros personalizables para ajustar los períodos ROC y la suavidad SMA.

  4. La dirección de negociación reversible satisface diferentes estilos de negociación.

  5. Los indicadores visuales hacen intuitivos los puntos de compra y venta.

Riesgos y optimizaciones

  1. ROC es muy sensible a las anormalidades repentinas de precios, que pueden generar señales erróneas.

  2. Los parámetros predeterminados pueden no ser adecuados para todos los instrumentos de negociación.

  3. Las operaciones sólo se basan en el cruce de OSC y OSCSMT.

  4. Más adecuado para el comercio a medio y largo plazo.

Conclusión

La estrategia de acumulación de impulso calcula varios períodos de ROC para obtener un indicador de impulso integral, capturando tendencias a corto y largo plazo, evitando señales falsas. En comparación con un solo ROC, mejora enormemente la calidad y confiabilidad de la señal. Pero todavía conlleva algunos riesgos de monitoreo. Los parámetros necesitan optimización y combinación de otros indicadores para maximizar la utilidad.


/*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")

Más.