Pratique et application de la stratégie du thermostat sur la plateforme FMZ Quant

Auteur:Je ne sais pas., Créé: 2023-01-19 09:22:10, Mis à jour: 2023-09-20 09:25:20

img

Pratique et application de la stratégie du thermostat sur la plateforme FMZ Quant

Pourquoi est-il appelé un thermostat? Nous avons nommé le système en fonction de son adaptabilité au changement et au commerce à la fois dans la volatilité du marché et les tendances. Ce système est dérivé de notre observation du succès de systèmes spécifiques dans des zones de marché spécifiques. Le système peut créer des stratégies à double nature pour tirer pleinement parti des deux modèles du marché.

D'abord, nous créons une fonction pour aider à déterminer le modèle du marché. Selon la sortie de cette fonction, le thermostat passe du mode de suivi au mode d'oscillation à court terme.

Le mode de suivi des tendances est similaire au mécanisme de suivi des tendances dans les bandes de Bollinger. Le système d'oscillation à court terme est une percée ouverte comprenant la reconnaissance de modèles.

Abs (prix de clôture - prix de clôture[29])/(prix le plus élevé(30) - prix le plus bas (prix le plus bas, 30 jours) * 100

La fonction génère des valeurs comprises entre 0 et 100. Plus la valeur est élevée, moins le marché actuel sera encombré. Si la valeur renvoyée par la fonction est inférieure à 20, le système entre en mode swing à court terme.

La plupart du marché montre un mouvement d'oscillation, et le système essaie de capter la fluctuation et d'en tirer un petit profit. Le thermostat essaie d'atteindre cet exploit en achetant / vendant une petite impulsion de marché. Si la fluctuation est suffisamment grande, le système changera de mode.

Grâce à une analyse approfondie des fluctuations à court terme, nous constatons que l'achat est parfois meilleur que la vente, et vice versa. À ce moment-là, cela peut être déterminé par un mode visuel simple. Si le prix de clôture d'aujourd'hui est supérieur au prix le plus élevé, le plus bas et le prix de clôture d'hier (également connu sous le nom de point clé de la journée), nous pensons que l'action du marché de demain peut être baissière. Cependant, si le prix de clôture d'aujourd'hui est inférieur au prix le plus élevé, le plus bas et le prix de clôture moyen d'hier, alors le marché d'aujourd'hui peut être haussier. Nous classons ces moments comme des prix plus faciles à acheter et à vendre.

Sur la plateforme FMZ Quant, la stratégie de thermostat est une stratégie très populaire. Les utilisateurs peuvent ajouter une logique de trading supplémentaire en fonction de leurs propres besoins pour rendre la stratégie plus performante.

  • Graphique principale: Formule de la piste supérieure: TOP^^MAC+N_TMPTMP;// piste supérieure du canal de Bollinger Formule pour la baisse de la fréquence: Bottom^^MAC-N_TMPTMP;// Bollinger canal vers le bas de la fréquence

  • Sous-graphique: La formule CMI: CMI:ABS(C-REF(C,N_CMI-1))/HHV(H,N_CMI)-LLV(L,N_CMI))*100;//Plus la valeur de 0-100 est grande, plus la tendance sera forte. CMI < 20 est le mode de volatilité, CMI > 20 est la tendance.

  • Le code (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);

Les résultats du backtest de la stratégie sont les suivants:

img img img

Pour plus d'informations, veuillez vous référer à:https://www.fmz.com/strategy/129086.


Relationnée

Plus de