Die Ressourcen sind geladen. Beförderung...

Praxis und Anwendung der Thermostatstrategie auf der FMZ Quant-Plattform

Schriftsteller:FMZ~Lydia, Erstellt: 2023-01-19 09:22:10, aktualisiert: 2023-09-20 09:25:20

img

Praxis und Anwendung der Thermostatstrategie auf der FMZ Quant-Plattform

Warum heißt es Thermostat? Wir haben das System nach seiner Anpassungsfähigkeit an die Verschiebung und den Handel sowohl in der Marktvolatilität als auch in den Trendmustern benannt. Dieses System leitet sich aus unserer Beobachtung des Erfolgs bestimmter Systeme in bestimmten Marktbereichen ab. Das System kann Strategien mit einer doppelten Natur erstellen, um beide Muster des Marktes voll auszunutzen.

Zuerst erstellen wir eine Funktion, um das Marktmuster zu bestimmen. Je nach Ausgang dieser Funktion wechselt der Thermostat vom Follow-Modus in den kurzfristigen Swing-Modus.

Der Trend-Tracking-Modus ist ähnlich dem Trend-Tracking-Mechanismus in den Bollinger-Bändern. Das kurzfristige Swing-System ist ein offener Durchbruch einschließlich Mustererkennung.

Abs (Schlusskurs - Schlusskurs[29])/(höchster Preis(30) - niedrigster Preis (niedriger Preis, 30 Tage) * 100

Die Funktion erzeugt Werte zwischen 0 und 100. Je höher der Wert ist, desto weniger überfüllt wird der aktuelle Markt. Wenn der von der Funktion zurückgegebene Wert kleiner als 20 ist, tritt das System in den kurzfristigen Swing-Modus ein.

Grundsätzlich zeigt der größte Teil des Marktes eine Swingbewegung, und das System versucht, die Schwankung zu erfassen und einen kleinen Gewinn daraus zu erzielen. Der Thermostat versucht, diese Leistung zu erreichen, indem er einen kleinen Marktimpuls kauft / verkauft. Wenn die Schwankung groß genug ist, wechselt das System die Modi.

Durch eine tiefgreifende Analyse von kurzfristigen Schwankungen stellen wir fest, dass manchmal Kauf besser ist als Verkauf und umgekehrt. Zu diesem Zeitpunkt kann es durch einfachen visuellen Modus bestimmt werden. Wenn der heutige Schlusskurs höher ist als der gestrige Höchstpunkt, Tiefpunkt und Schlusskurs (auch als Schlüsselpunkt des Tages bekannt), denken wir, dass die Marktbewegung von morgen bärisch sein kann. Wenn jedoch der heutige Schlusskurs niedriger ist als der gestrige Höchstpunkt, Tiefpunkt und durchschnittlicher Schlusskurs, dann kann der heutige Markt bullisch sein. Wir klassifizieren diese Zeiten als Preise, die leichter zu kaufen und zu verkaufen sind.

Auf der FMZ Quant-Plattform ist die Thermostatstrategie eine sehr beliebte Strategie. Benutzer können zusätzliche Handelslogik entsprechend ihren eigenen Bedürfnissen hinzufügen, um die Strategie besser zu machen.

  • Hauptdiagramm: Anschlussformel: TOP^^MAC+N_TMPTMP;// Anschlussformel des Bollinger-Kanals Formel nach unten: Bottom^^MAC-N_TMPTMP;// Bollinger Kanal nach unten

  • Unterdiagramm: CMI-Formel: CMI:ABS(C-REF(C,N_CMI-1))/HHV(H,N_CMI)-LLV(L,N_CMI))*100;//Je größer der Wert von 0-100 ist, desto stärker wird der Trend sein. CMI < 20 ist Volatilitätsmodus, CMI > 20 ist der Trend.

  • Code (Meine Sprache):

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);

Die Ergebnisse des Strategie-Backtests sind wie folgt:

img img img

Weitere Informationen finden Sie unter:https://www.fmz.com/strategy/129086.


Verwandt

Mehr