Práctica y aplicación de la estrategia del termostato en la plataforma FMZ Quant

El autor:- ¿ Por qué?, Creado: 2023-01-19 09:22:10, Actualizado: 2023-09-20 09:25:20

img

Práctica y aplicación de la estrategia del termostato en la plataforma FMZ Quant

¿Por qué se llama termostato? nombramos el sistema de acuerdo a su adaptabilidad al cambio y al comercio tanto en la volatilidad del mercado como en los patrones de tendencia. Este sistema se deriva de nuestra observación del éxito de sistemas específicos en áreas específicas del mercado.

En primer lugar, creamos una función para ayudar a determinar el patrón del mercado. De acuerdo con la salida de esta función, el termostato cambia del modo de seguimiento al modo de oscilación a corto plazo.

El modo de seguimiento de tendencias es similar al mecanismo de seguimiento de tendencias en las bandas de Bollinger. El sistema de swing a corto plazo es un avance abierto que incluye el reconocimiento de patrones.

Abs (precio de cierre - precio de cierre[29])/(precio más alto(30) - precio más bajo (precio más bajo, 30 días) * 100

La función genera valores entre 0 y 100. Cuanto mayor sea el valor, menos concurrido estará el mercado actual. Si el valor devuelto por la función es menor a 20, el sistema entra en el modo de oscilación a corto plazo.

Básicamente, la mayor parte del mercado está mostrando un movimiento de oscilación, y el sistema trata de atrapar la fluctuación y obtener una pequeña ganancia de ella. El termostato trata de lograr esta hazaña comprando / vendiendo un pequeño impulso de mercado. Si la fluctuación es lo suficientemente grande, el sistema cambiará de modo.

A través del análisis en profundidad de las fluctuaciones a corto plazo, encontramos que a veces comprar es mejor que vender, y viceversa. En este momento, se puede determinar por un modo visual simple. Si el precio de cierre de hoy es mayor que el punto alto, el punto bajo y el precio de cierre de ayer (también conocido como el punto clave del día), pensamos que la acción del mercado de mañana puede ser bajista. Sin embargo, si el precio de cierre de hoy es menor que el punto alto, el punto bajo y el precio de cierre promedio de ayer, entonces el mercado de hoy puede ser alcista. Clasificamos estos tiempos como precios que son más fáciles de comprar y vender.

En la plataforma FMZ Quant, la estrategia de termostato es una estrategia muy popular. Los usuarios pueden agregar alguna lógica comercial adicional de acuerdo con sus propias necesidades para que la estrategia funcione mejor.

  • Diagrama principal: Formula de la línea superior: TOP^^MAC+N_TMPTMP;// línea superior del canal de Bollinger Formula para el descenso: Bottom^^MAC-N_TMPTMP;// Canal de Bollinger hacia abajo

  • Subgráfico: La fórmula del CMI: CMI:ABS(C-REF(C,N_CMI-1))/HHV(H,N_CMI)-LLV(L,N_CMI))*100;//Cuanto mayor sea el valor de 0-100, más fuerte será la tendencia.

  • Código (MyLanguage):

MAC:=MA(CLOSE,N);
TMP:=STD(CLOSE,N);
TOP^^MAC+N_TMP*TMP;      // Bollinger channel upper track
BOTTOM^^MAC-N_TMP*TMP;   // Bollinger channel down track
BBOLL:=C>MAC;
SBOLL:=C<MAC;
N_CMI:=30;

CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; // The greater the value of 0-100 is, the stronger the trend will be. CMI < 20 is volatility mode, CMI >20 is the trend.

N_KD:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100; // The difference between the closing price and the lowest value of N period is made, the difference between the highest value of N period and the lowest value of N period is made, and the ratio between the two differences is made.

K:=SMA(RSV,M1,1); // Moving average of RSV
D:=SMA(K,M2,1);   // Moving average of K
MIND:=30;
BKD:=K>D AND D<MIND;
SKD:=K<D AND D>100-MIND;

// Oscillation mode
BUYPK1:=CMI < 20 AND BKD;  // Oscillating long position, buy close
SELLPK1:=CMI < 20 AND SKD; // Oscillating short position, sell close

// Handling of original oscillating positions in trend mode
SELLY1:=REF(CMI,BARSBK) < 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND K<D; // Oscillation long position stop-profit
BUYY1:=REF(CMI,BARSSK) < 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND K>D;  // Oscillation short position stop-profit

// Trend mode
BUYPK2:=CMI >= 20 AND C > TOP;        // Trend long position, buy close
SELLPK2:=CMI >= 20 AND C < BOTTOM;    // Trend short position, sell close

// Handling of original oscillating positions in trend mode
SELLY2:=REF(CMI,BARSBK) >= 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND SBOLL;// Trend long position stop-profit
BUYY2:=REF(CMI,BARSSK) >= 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND BBOLL;// Trend short position stop-profit
SELLS2:=REF(CMI,BARSBK) >= 20 AND C<BKPRICE*(1-0.01*STOPLOSS) AND SBOLL;// Trend long position stop-loss
BUYS2:=REF(CMI,BARSSK) >= 20 AND C>SKPRICE*(1+0.01*STOPLOSS) AND BBOLL;// Trend short position stop-loss

IF BARPOS>N THEN BEGIN
    BUYPK1,BPK;
    SELLPK1,SPK;
    BUYPK2,BPK;
    SELLPK2,SPK;
END
BUYY1,BP(SKVOL);
BUYY2,BP(SKVOL);
BUYS2,BP(SKVOL);
SELLY1,SP(BKVOL);
SELLY2,SP(BKVOL);
SELLS2,SP(BKVOL);

Los resultados del backtest de la estrategia son los siguientes:

img img img

Para obtener más información, consulte:https://www.fmz.com/strategy/129086.


Relacionados

Más.