Mehrstufige Prozentsatzgewinnstrategie

Schriftsteller:Gutes, Erstellt: 2019-09-25 16:24:31, Aktualisiert: 2023-11-07 20:44:48

img

Zusammenfassung

Stanley Kroll erwähnte in seinem Buch Kroll on Futures Trading Strategy, dass seine Gewinnnahme-Methoden in drei Teile unterteilt sind: Wenn der Zielpreis erreicht wird, wird ein Drittel der Position geschlossen; ein weiteres Drittel der Position wird geschlossen, wenn die langfristige Widerstands- und Unterstützungspreiskette durchbrochen wird; das letzte Drittel der Position wird dem Trend folgen, bis der Stop-Loss ausgelöst wird.

Die Strategie, die in diesem Artikel geteilt wird, basiert auf diesem Prinzip. Die gleitende Durchschnittslinie wird als Richtung des Trends verwendet. Das Verhältnis zwischen dem Schlusskurs, dem höchsten Preis und dem niedrigsten Preis wird als Signal zur Eröffnung der Position verwendet. Unter der Prämisse, dass sich der Kurstrend nicht signifikant geändert hat, proaktiv Profit in Chargen nach dem Prozentsatz zu machen.

Warum brauchen wir Stop Loss und Take Profit?

Es gibt ein altes Sprichwort in der Handelswelt: Jeder weiß, wie man Positionen eröffnet, nur Profis wissen, wie man Positionen schließt. Wie diese Worte vermuten lassen, ist das Verlassen des Marktes der Schlüsselfaktor des Handels, denn wenn Sie Positionen eröffnen, müssen Sie nur beurteilen, ob der Markttrend beginnt. Aber sobald Sie in den Markt springen, müssen Sie beurteilen, ob sich der Trend ändert oder nicht, und Sie müssen das Risiko jederzeit kontrollieren. Ich glaube, dass viele Handler den Rollercoaster Markt erlebt haben, Sie springen in den Zug und enden mit einem kleinen Gewinn oder sogar einem Verlust.

Einfach ausgedrückt, sind Schließpositionen nichts anderes als zwei Situationen: Gewinn und Stop-Loss. Zum Beispiel, wenn Sie Glück haben, beginnt der Preis nach dem Kauf zu steigen. Zu diesem Zeitpunkt müssen Sie das Problem des Gewinns berücksichtigen. Andernfalls können wir nur Geld auf dem look machen, nicht am richtigen Ort Gewinn gemacht haben und schließlich verlieren. Wenn Sie kein Glück haben, beginnt der Preis kurz nach dem Kauf zu sinken. Zu diesem Zeitpunkt sollten Sie den Stop-Loss in Betracht ziehen oder die Stop-Loss-Optionen in Betracht ziehen, bevor Sie die Position öffnen, andernfalls wird der kleine Verlust einen großen Verlust ansammeln.

Aus statistischer Sicht werden die meisten Verlustpositionen auf dem Futures-Markt zum Kostenpreis zurückkehren. Wenn Sie jedoch auf eine kleine Wahrscheinlichkeit eines großen umgekehrten Trends stoßen, können Sie alle vorherigen Gewinne oder sogar den gesamten Fonds verlieren. Daher können wir für unsere Einzelhändler große Gewinne erzielen; wir können kleine Gewinne erzielen; wir können kleine Verluste vornehmen, aber wir können nie großes Geld verlieren. Kurz gesagt: Stop-Loss hält Sie am Leben und Gewinn machen Sie besser leben.

Strategie Logik

Manchmal, wenn wir intuitiv Gewinn machen, kann es eine große Welle der Marktpreisbewegung geben, dass wir nur eine kleine Menge davon verdienen. Obwohl es keine gescheiterte Transaktion ist, wird es eine Art Bedauern aus der Mentalität geben, so dass diese Strategie die Multi-Level-Take-Profit-Methode verwendet, das heißt, wenn der schwimmende Gewinn 5% erreicht, wird der aktive Profitmodus der ersten Ebene eingeschaltet. Sobald die 100% vom höchsten Punkt des schwimmenden Gewinns abgezogen werden, nehmen Sie den Gewinn und schließen Sie die Position; wenn der schwimmende Gewinn 10% erreicht, wird der aktive Profitmodus der zweiten Ebene aktiviert. Sobald die 50% vom höchsten Punkt des schwimmenden Gewinns abgezogen werden, nehmen Sie den Gewinn und schließen Sie die Position; Wenn der schwimmende Gewinn 20% erreicht, wird die drei-Level-Profit-Taking-Logik aktiviert. Sobald die 20%-Logik vom höchsten Punkt der schwimmenden Profit-M

  • Definition der oberen Schiene

  • Definition der unteren Schiene

  • Definition des gleitenden Durchschnitts

  • Offene Long-Position: Der Schlusskurs ist höher als der Upper-Rail und der Upper-Rail ist höher als der gleitende Durchschnitt

  • Offene Kurzposition: Schlusskurs ist niedriger als unterer Schiene und unterer Schiene kleiner als gleitender Durchschnitt

  • Schließung der Long-Position: Der Schlusskurs ist niedriger als der unteren Kurs oder der Schlusskurs ist niedriger als der gleitende Durchschnitt

  • Schließung der Shortposition: Der Schlusskurs ist höher als der Obergleis oder der Schlusskurs ist höher als der gleitende Durchschnitt

  • Level 1 Long Position Take Profit: Der höchste Preis nach Eröffnung der Position ist größer oder gleich dem Eröffnungspreis multipliziert mit der ersten Eröffnungspreisstufe und der niedrigste Preis ist kleiner oder gleich dem höchsten Preis nach Eröffnung der Position abzüglich des variablen Gewinns multipliziert mit dem Auslöserwert der Eröffnungspreisstufe Take Profit

  • Level 2 Long Position Take Profit: Der höchste Preis nach Eröffnung der Position ist größer oder gleich dem Eröffnungspreis multipliziert mit der zweiten Anfangsgewinnstufe, und der niedrigste Preis ist kleiner oder gleich dem höchsten Preis nach Eröffnung der Position abzüglich des variablen Gewinns multipliziert mit dem Auslöserwert für die Eröffnung der zweiten Level Take Profit

  • Level 3 Long Position Take Profit: Der höchste Preis nach Eröffnung der Position ist größer oder gleich dem Eröffnungspreis multipliziert mit der dritten Profitstufe, und der niedrigste Preis ist kleiner oder gleich dem höchsten Preis nach Eröffnung der Position abzüglich des variablen Gewinns multipliziert mit dem Auslöserwert für die Eröffnung der Position Take Profit

  • Level 1 Short Position Take Profit: Der niedrigste Preis nach Eröffnung der Position ist kleiner oder gleich dem Eröffnungspreis multipliziert mit der ersten Eröffnungspreisstufe und der höchste Preis ist größer oder gleich dem niedrigsten Preis nach Eröffnung der Position zuzüglich des variablen Gewinns multipliziert mit dem Eröffnungspreis Take Profit Triggerwert.

  • Level 2 Short Position Take Profit: Der niedrigste Preis nach Eröffnung der Position ist kleiner oder gleich dem Eröffnungspreis multipliziert mit der zweiten Anfangsgewinnstufe und der höchste Preis ist größer oder gleich dem niedrigsten Preis nach Eröffnung der Position zuzüglich des variablen Gewinns multipliziert mit dem Auslöserwert für die Eröffnung der zweiten Level Take Profit.

  • Level 3 Short Position Take Profit: Der niedrigste Preis nach Eröffnung der Position ist kleiner oder gleich dem Eröffnungspreis multipliziert mit der dritten Anfangsgewinnstufe und der höchste Preis ist größer oder gleich dem niedrigsten Preis nach Eröffnung der Position zuzüglich des variablen Gewinns multipliziert mit dem Auslöserwert für die Eröffnung der Position Take Profit

  • Long Position Stop Loss: Der Schlusskurs ist kleiner oder gleich dem Eröffnungskurs multipliziert mit dem Stop Loss-Faktor

  • Short Position Stop Loss: Der Schlusskurs ist kleiner oder gleich dem Eröffnungskurs multipliziert mit dem Stop Loss-Faktor

Strategiecode

Basierend auf der obigen Strategie Logik können wir diese Strategie auf der FMZ Quant Plattform umsetzen.fmz.com> Anmeldung > Dashboard > Strategiebibliothek > Neue Strategie > Klicken Sie auf das Dropdown-Menü in der oberen rechten Ecke, um Meine Sprache auszuwählen, mit dem Schreiben der Strategie zu beginnen und auf die Kommentare im folgenden Code zu achten.

Zunächst werden die Parameter, die in der Strategie verwendet werden müssen: die durchschnittliche Linienlänge, der Stop-Loss-Bereich, der Take-Profit-Parameter usw., alle als externe Parameter definiert, um das Debugging und die Optimierung von Tests zu erleichtern.

/ / Define parameters
LENGTH := 100; // moving average parameter
STOP_LOSS := 3; // Stop Loss range

// Define the take profit parameter
STARTPER1 := 5; // Level 1 tracking take profit, start from profit reaches 5%
STOPPER1 := 100; // Level 1 tracking take profit, profit retracement 100% triggers it
STARTPER2 := 10; // Level 2 tracking take profit, start from profit reaches 10%
STOPPER2 := 50; // Level 2 tracking take profit, profit retracement 50% trigger it
STARTPER3 := 20; // Level 3 tracking take profit, start from profit reaches 20%
STOPPER3 := 20; // Level 3 tracking take profit, profit retracement 20% trigger

Durch diese Preisspanne und die relative Positionsbeziehung zum gleitenden Durchschnitt kann nicht nur das Signal für den Kauf und Verkauf offener Positionen gut verfolgt werden, sondern auch die Anzahl der offenen Positionen in der Schockperiode und das Ausmaß des Rückzugs reduziert werden.

/ / Define the upper and lower intervals
NN := BARSLAST(DATE <> REF(DATE, 1)) + 1; // current number of cycles
TODAY_OPEN := VALUEWHEN(NN = 1, O); // Opening price of the day
TODAY_HIGH := HHV(H, NN); // The highest price of the day
TODAY_LOW := LLV(L, NN); // lowest price of the day
YESTERDAY_HIGH := REF(TODAY_HIGH, NN); // Yesterday's highest price
YESTERDAY_LOW := REF(TODAY_LOW, NN); // yesterday's lowest price
BAND := YESTERDAY_HIGH - YESTERDAY_LOW; // Yesterday amplitude
UPPERLINE : TODAY_OPEN + BAND; // upper line
LOWERLINE : TODAY_OPEN - BAND; // lower line
MYMA:MA(CLOSE, LENGTH); // Moving average

Wenn der Schlusskurs größer ist als der obere Schiene und der obere Schiene größer als der gleitende Durchschnitt, öffnen Sie die Long-Position; wenn der Schlusskurs niedriger ist als der untere Schiene und der untere Schiene kleiner als der gleitende Durchschnitt, öffnen Sie die Short-Position; die Schlussposition ist genau gegenüber der Öffnungsposition: wenn der Schlusskurs kleiner ist als der untere Schiene oder der Schlusskurs kleiner als der gleitende Durchschnitt, schließen Sie die Long-Position; wenn der Schlusskurs größer ist als der obere Schiene oder der Schlusskurs größer ist als der gleitende Durchschnitt, schließen Sie die Short-Position.

// open the position
C > UPPERLINE AND UPPERLINE > MYMA, BK; // Open long position
C < LOWERLINE AND LOWERLINE < MYMA, SK; // Open short position

// close the position
C < LOWERLINE OR C < MYMA, SP; // Close long position
C > UPPERLINE OR C > MYMA, BP; // Close short position

Schließlich ist es der Stop-Loss- und Take-Profit-Teil, den wir in diesem Artikel erwähnt haben. Ob es sich um eine Long- oder Short-Position handelt, um Gewinn zu erzielen, es ist in drei Phasen unterteilt. Jede Stufe wird automatisch entsprechend den aktuellen Marktpreisschwankungen und der Rentabilität angepasst. Und diese Anpassung wird auf externe Parameter festgelegt, Sie können feine Anpassungen entsprechend den verschiedenen Marktbedingungen und dem Sortenstatus vornehmen.

Der Stop-Loss ist auch ein Teil unserer Strategie, die wir berücksichtigen müssen, da es unmöglich ist, Geld zu verdienen, indem wir eine Position eröffnen. Manchmal ist der Markt unseren Erwartungen zuwider, so dass der Stop-Loss absolut notwendig ist. Der Stop-Loss dieses Artikels ist einfach und gewaltsam, dh wenn der schwimmende Verlust ein bestimmtes Niveau erreicht, werden alle Positionen geschlossen.

// long position take profit
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER1) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER1, SP;  // level 1
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER2) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER2, SP;  // level 2
BKHIGH >= BKPRICE * (1 + 0.01 * STARTPER3) AND LOW <= BKHIGH - (BKHIGH - BKPRICE) * 0.01 * STOPPER3, SP;  // level 3

// short position take profit
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER1) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER1, BP;  // level 1
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER2) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER2, BP;  // level 2
SKLOW <= SKPRICE * (1 - 0.01 * STARTPER3) AND HIGH >= SKLOW + (SKPRICE - SKLOW) * 0.01 * STOPPER3, BP;  // level 3

// stop loss
C <= BKPRICE * (1 - STOP_LOSS * 0.01), SP;  // long position
C >= SKPRICE * (1 + STOP_LOSS * 0.01), BP;  // short position

Darüber hinaus haben wir auch die Bestelldelegationsmethode sowie die Signalfilterung festgelegt, um die Verarbeitung vollständiger zu gestalten.

// Set the order commission method
SETSIGPRICETYPE(BK,NEW_ORDER);
SETSIGPRICETYPE(SK,NEW_ORDER);
SETSIGPRICETYPE(BP,NEW_ORDER);
SETSIGPRICETYPE(SP,NEW_ORDER);

// Set the signal filtering method
AUTOFILTER;

Strategie-Backtest

Prüfumgebung

  • Handelssorte: Stahlstahlindex
  • Zeit: 22. Februar 2015 bis 18. September 2019
  • Zyklus: eine Stunde
  • Slippage: 2 Pips für den Preis der Eröffnungs- und Schlusspositionen
  • Gebühr: 2-fache der üblichen Umtauschnorm

img

Leistungsbericht

img

Fondskurve

img

Kopierstrategie

Klicken Sie, um die vollständige Strategiequelle ohne Konfiguration zu kopierenhttps://www.fmz.com/strategy/166753


Verwandt

Mehr