SAR de dirección parabólica y estrategia de precio de puntos altos y bajos

El autor:La bondad, Creado: 2019-10-10 11:59:37, Actualizado: 2023-11-07 20:48:54

img

Resumen de las actividades

La dirección parabólica es un indicador de análisis técnico muy extraño, inventado por Welles Wilder, el nombre completo de la abreviatura es Stop and Reverse, conocido como SAR.

Introducción a la dirección parabólica

El giro parabólico es peculiar porque su forma externa es diferente de otros indicadores. Consiste en puntos rojos o verdes y sigue el movimiento del precio en forma de arco. Debido a que tiene la forma de una parábola en el gráfico, lo llamamos dirección parabólica, pero en realidad no implica ningún cálculo matemático de la parábola.

Se construye en la parte superior del gráfico de precios y se utiliza principalmente para analizar las tendencias de precios. Esto es similar a la línea de media móvil. La única diferencia es que viene con un factor de aceleración que ajusta su velocidad a medida que el precio cambia.

Además, el promedio móvil siempre se ejecutará a través del precio, cuando el precio cruza la parábola, el indicador invertirá el switch; y su precio indicado aparecerá en el otro lado del nivel de precio; y le indicará a la posición de stop loss del comerciante hasta que termine la tendencia del mercado.

Calculación de la dirección parabólica

El cálculo de la dirección parabólica es muy complicado. Primero, debe determinar el punto extremo (el precio más alto o más bajo EP). Luego agregue un factor de aceleración (AF) a partir de 0.02 a él, y luego agregue 0.02 cada vez que se toca el siguiente punto extremo. El máximo de AF es 0.20, luego multiplique la diferencia entre el precio extremo y el período anterior SAR por el factor de aceleración, luego agregue el SAR del período anterior.

Algoritmo de aumento de precios

Primero paso:Supongamos que el período de tiempo est. SAR(t)es igual al precio más bajo de los N períodos de tiempo anteriores.Af(t)es 0,02.

  • Si esSAR(t)es mayor que el precio más bajoL(t)del período t, se produce un cambio y entra en la tendencia bajista en el siguiente período de tiempo;

  • Si esSAR(t)no es superior al precio más bajoL(t)del período t, entra en la tendencia alcista en el siguiente período;

  • El valor extremoEp(t)es igual al precio más alto de los últimos N períodos de tiempo;

Paso 2:El período de tiempo es t+1, que es:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • Si esSAR(t+1)es mayor que el precio más bajoL(t+1)del período de tiempo t+1, se produce un cambio y se inicia una tendencia a la baja en el siguiente período de tiempo;

  • Si esSAR(t+1)no es superior al precio más bajoL(t+1)el valor extremo del período de tiempo t+1 entra en la siguiente fase de tendencia alcista; yEp(t+1)es igual al precio más alto de los últimos N períodos de tiempo;

  • Si el precio más alto del período de tiempo, es decir,H(t+1)es superior al precio más alto de los N períodos anteriores, entoncesAF(t+1)=AF(t)+0.02, en caso contrario,AF(t+1)= AF(t).

Paso 3:repetir el algoritmo en el segundo paso de la tendencia alcista en el siguiente período de tiempo t+2, t+3,..., hasta que se produzca el cambio.AFes 0,2.

Algoritmo de caída de precios

Primero paso:Supongamos que el período de tiempo es t.SAR(t)es igual al precio más alto de los N períodos de tiempo anteriores.Af(t)es 0,02.

  • Si esSAR(t)es inferior al precio más altoH(t)del período de tiempo t, se produce un cambio y entra en la tendencia alcista en el siguiente período de tiempo;

  • Si esSAR(t)no es inferior al precio más altoH(t)del período de tiempo t, entra en tendencia bajista en el siguiente período de tiempo;

  • El valor extremoEp(t)es igual al precio más bajo de los últimos N períodos de tiempo;

Paso 2: El período de tiempo es t+1, que es:

SAR(t+1)=SAR(t)+Af(t)*(Ep(t) – SAR(t))
  • Si esSAR(t+1)es inferior al precio más altoH(t+1)del período t+1, se produce un cambio y entra en la tendencia alcista en el siguiente período de tiempo;

  • Si esSAR(t+1)no es inferior al precio más altoL(t+1)En el caso de los valores de las cifras de mercado, el valor de las cifras de mercado es el valor de las cifras de mercado de las cifras de mercado.Ep(t+1)es igual al precio más bajo de los últimos N períodos de tiempo;

  • Si el precio más bajoL(t+1)el precio más bajo de N períodos anteriores, entoncesAF(t+1)=AF(t)+0.02, en caso contrario,AF(t+1)=AF (t).

el paso 3:repetir el algoritmo en el segundo paso de la tendencia alcista en el siguiente período de tiempo t+2, t+3,..., hasta que se produzca el cambio.AFes 0,2.

Hay muchas versiones del algoritmo SAR. El algoritmo anterior es solo una de ellas, otras son similares en estructura. La diferencia está en los detalles, como la condición de disparo del factor de aceleración y el algoritmo de determinación deEp(t). Podemos ver las características del giro parabólico: en la tendencia ascendente del mercado, el SAR de cada línea K es mayor que el SAR de la línea K anterior, y el punto de stop loss se mueve gradualmente hacia arriba, asegurando así que la ganancia flotante también se mueva gradualmente hacia arriba. Este es el típico stop loss trasero. En la tendencia ascendente acelerada del mercado, se aumenta el AF y se aumenta el EP, lo que acelera aún más la velocidad del punto de stop-loss, asegurando que en una situación de tendencia fuerte, el punto de stop-loss pueda seguir de cerca la tendencia del precio de la acción y bloquear más ganancias.

Estrategia lógica

La dirección parabólica separada es una estrategia de reversión. Cuando el precio está por encima de la parábola, se mantiene la posición larga, y cuando el precio está por debajo de la parábola, se mantiene la posición corta. Esta estrategia no vacía puede adaptarse bien al mercado de tendencia y puede obtener una buena ganancia cuando la tendencia del mercado es suave. Pero aquellos que han hecho trading saben que el mercado es volátil la mayor parte del tiempo, por lo que si usa el giro parabólico solo, puede perder una gran cantidad de las ganancias que ha ganado en el mercado de tendencia a largo plazo. Por lo tanto, necesitamos agregar un filtro. Cuando el mercado es volátil, podemos filtrar algunas de las oportunidades que no son de tendencia, lo que reduce la frecuencia de negociación e incluso aumenta la tasa de ganancia o la proporción de pérdida de ganancias, de modo que en el mercado volátil a largo plazo, el retroceso del valor neto pueda reducirse de manera efectiva.

  • Posición larga abierta: la parábola está subiendo y el precio más alto es más alto que el precio más alto anterior

  • Posición corta abierta: la parábola está cayendo, y el precio más bajo es inferior al precio más bajo anterior

  • Posiciones largas que obtienen ganancias: la parábola está bajando y el beneficio variable alcanza el importe especificado

  • Posición corta que obtiene ganancias: la parábola está subiendo y el beneficio variable alcanza el importe especificado

  • Posición larga stop loss: la pérdida alcanza el importe especificado

  • Posición corta stop loss: la pérdida alcanza el importe especificado

Estrategia de escritura

Basándonos en la lógica estratégica anterior, podemos implementarlo en la plataforma FMZ Quant.fmz.com> Iniciar sesión > Tablero > Biblioteca de estrategias > Nueva estrategia > Haga clic en el menú desplegable en la esquina superior derecha para seleccionar Mi idioma, comenzar a escribir la estrategia y prestar atención a los comentarios en el código de abajo.

En primer lugar, los parámetros que deben utilizarse en esta estrategia: la longitud de la media móvil, el rango de stop loss, el parámetro de toma de ganancias, etc. Todos estos se definen como parámetros externos para facilitar la depuración y optimización de las pruebas:

N:=30; // highest or lowest price parameter
SLOSS:=1; // Taking Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

Luego, calcule los datos necesarios utilizados en la estrategia: primero calcule la cantidad de orden, luego calcule el indicador de giro parabólico y juzgue si es un estado ascendente o un estado descendente, y finalmente calcule la relación posicional entre el precio más alto o más bajo y el precio más alto y más bajo anterior:

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

La siguiente parte se refiere a la posición de apertura y al stop-loss o take-profit:

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // Long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // Short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // Long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // Short position stop loss

Estrategia de prueba de retroceso

Entorno de pruebas de retroceso

  • Variedad de comercio: índice de barras de acero
  • Tiempo: 22 de febrero de 2015 ~ 27 de septiembre de 2019
  • Ciclo: una hora
  • Deslizamiento: 2 pips para las posiciones de apertura y cierre
  • Tarifa: 2 veces el tipo de cambio

img

Informe de resultados

img

Curva de los fondos

img

Código de estrategia completo

(*backtest
Start: 2015-02-22 00:00:00
End: 2019-09-27 00:00:00
Period: 1h
Exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
Args: [["ContractType","rb000",126961]]
*)

N:=30; // Highest or lowest price parameter
SLOSS:=1; // Take Profit and Stop Loss Coefficient
FUND:=100000; // Initial funds

LOTS:=MAX(1,INTPART(FUND/(O*UNIT*0.1))); // Calculate the order quantity
SARLINE:=SAR(4,2,20); // Calculate the parabolic turn indicator
B1:=SARLINE>0; // Determine whether the trend is rising
S1:=SARLINE<0; // Determine whether the trend is falling
B2:=HIGH>=HHV(CLOSE,N); // Determine if the highest price is greater than the previous highest price
S2:=LOW<=LLV(CLOSE,N); // Determine if the lowest price is less than the previous lowest price

BARPOS>N AND B1 AND B2,BK(LOTS); //Open long position
BARPOS>N AND S1 AND S2,SK(LOTS); // Open short position
S1 AND S2 AND BKHIGH>BKPRICE*(1+0.01*SLOSS), SP(BKVOL); // long position taking profit
B1 AND B2 AND SKLOW<SKPRICE*(1-0.01*SLOSS),BP(SKVOL); // short position taking profit
C<BKPRICE*(1-SLOSS*0.01), SP(BKVOL); // long position stop loss
C>SKPRICE*(1+SLOSS*0.01), BP(SKVOL); // short position stop loss

Haga clic para copiar el código fuente completo de la estrategia sin configuración:https://www.fmz.com/strategy/168073

Al final

La mayoría de los indicadores tradicionales se quedan muy atrás de la nueva línea K. No solo el giro parabólico puede coincidir estrechamente con la nueva línea K de acuerdo con las características del factor de aceleración incorporado, sino que también no es demasiado flexible, por lo que la estrategia puede ser tanto ofensiva como defensiva. Aunque el método de cálculo es muy complicado, los indicadores existentes se pueden usar directamente, lo que es muy amigable para los principiantes. Sin embargo, debe tenerse en cuenta que cuando el mercado entra en un rango estrecho de volatilidad, el giro parabólico a menudo tendrá una señal de compra y venta inválida, lo que hará que expire temporalmente o por un largo tiempo.


Relacionados

Más.