Geschätzte Lesezeit: 14 min

PrescienTrader fügt AmiBroker die folgenden AFL-Funktionen hinzu. Die meisten Benutzer müssen nur das verwenden PrescienTrader () , PTPlotFLDs () und PTBacktest () Funktionen.

Wenn Sie PrescienTrader nur als eigenständiges Tool zum Analysieren von Diagrammen verwenden möchten, können Sie dies tun Doppelklicken Sie einfach auf die PrescienTrader AFL-Formel, um ein neues PrescienTrader-Diagrammfenster zu erstellen. Sie müssen den Rest dieses Artikels nicht lesen.

Der Rest der Funktionen ist für fortgeschrittene Benutzer die unsere Algorithmen aus benutzerdefinierten AFL-Skripten für die Entwicklung von Handelssystemen aufrufen möchten.


PrescienTrader

PrescienTrader ()
  • Dies ist das Hauptfunktion Das zeigt einen PrescienTrader-Diagrammbereich an, zeigt alle Diagramme an und generiert Berichte im Interpretationsfenster.
  • Das Die Funktion akzeptiert keine Parameter, da alle Parameter im Fenster AmiBroker-Parameter festgelegt werden.
  • Obwohl es möglich ist, PrescienTrader in einem vorhandenen Preisdiagrammbereich darzustellen, enthält es zahlreiche Indikatoren und Diagramme, die zu viel Unordnung verursachen und mit Ihren vorhandenen Indikatoren in Konflikt stehen können. Daher empfehlen wir, einen separaten Bereich exklusiv für PrescienTrader zu erstellen.
  • Sie müssen den API-Schlüssel im Fenster Parameter festlegen. Wenn Sie den API-Schlüssel nicht festlegen, zeigt PrescienTrader eine an Ungültiger API-Schlüssel Botschaft.
  • Lesen Sie den Artikel, um zu erfahren, wie Sie die einzelnen Parameter verwenden. PrescienTrader-Parameter.

PTPlotFLDs

PTPlotFLDs ()
  • Diese Funktion zeichnet die Zukünftige Demarkationslinie (FLD) für jeden von PrescienTrader identifizierten Zykluspeak.
  • Die Funktion akzeptiert keine Parameter, da alle Parameter im Fenster AmiBroker-Parameter festgelegt werden.
  • Da die FLD eng mit dem Preis verbunden ist und dieselbe Skala wie der Preis verwendet, Wir empfehlen, die FLDs in Ihrem Preisdiagrammbereich und NICHT im PrescienTrader-Bereich zu zeichnen.
  • Diese Funktion verwendet PrescienTrader als Datenquelle zum Generieren der FLD-Diagramme. Deshalb, es erfordert die PrescienTrader () Funktion, die in einem separaten Diagrammbereich ausgeführt werden soll.
  • Sie können die folgenden Parameter im Parameterfenster einstellen:
    • FLDs (1-10) - Hier können Sie auswählen, welche FLD-Diagramme im Diagramm angezeigt werden sollen. Jeder Zyklusspitzenfrequenz ist ein FLD-Diagramm zugeordnet. Mit diesem Parameter können Sie jedoch Unordnung in den Diagrammen vermeiden, indem Sie die Anzahl der Diagramme begrenzen.
    • Mit PrescienTrader synchronisieren - Wenn diese Option aktiviert ist, wird die Funktion automatisch einmal pro Sekunde ausgeführt, um die neuesten Daten von PrescienTrader abzurufen. Dadurch wird sichergestellt, dass die FLD-Diagramme mit der von PrescienTrader generierten Zyklusanalyse synchron bleiben. Wenn Sie die Synchronisierung deaktivieren, müssen Sie das Diagramm möglicherweise jedes Mal manuell aktualisieren.
  • Die Funktion zeichnet vergangene, gegenwärtige und zukünftige FLDs auf. Um jedoch die anzuzeigen Vergangenheit Bei FLD-Plots müssen Sie die statischen Anzeigen in PrescienTrader aktivieren. Dies liegt daran, dass sich die Zyklusfrequenzen mit jedem neuen Balken ändern. Um eine vergangene FLD zu zeichnen, benötigt die Funktion daher Zugriff auf vergangene Zyklusanalysen, für die statische Indikatoren erforderlich sind. Wenn die statischen Anzeigen deaktiviert sind, werden nur FLD-Diagramme für den aktuellen und den zukünftigen Balken angezeigt. Merken Sie sich, Die zukünftigen FLD-Diagramme sind nur eine Schätzung und können sich ändern, wenn neue Diagramme zum Diagramm hinzugefügt werden.

PTBarAnalysis

PTBarAnalysis (Datenreihe, Polarität, PL-Basis, Lookback-Bereich, Min-Frequenz, Max-Frequenz, Oberschwingungsfilter, Min-Fitness, Beste X-Zyklen, Analyseleiste, Plot-Startleiste, Plot-Endleiste, Cache-Index) 

PTBarAnalysis führt eine Analyse der Zeitpunktzyklen für einen einzelnen Balken durch. Anschließend werden verschiedene Diagramme innerhalb des angegebenen Diagrammbereichs generiert, die zeitlich rückwärts und optional vorwärts gehen. Das Rückwärtsdiagramm kann verwendet werden, um die Genauigkeit der Zyklusanalyse visuell zu überprüfen, indem bestätigt wird, dass seine Form den entsprechenden Preisbalken folgt. Das Vorwärtsdiagramm ist daran gewöhnt zukünftige Preise vorhersagen oder um die Genauigkeit seiner Vorhersagen in früheren Balken anzuzeigen. Dies ist die Funktion, für die Sie verwenden würden Live-Handel.

Diese Funktion gibt keine Werte direkt zurück. Stattdessen wird eine Reihe von AFL-Variablen gefüllt, einschließlich Skalaren, Arrays und Matrizen. Diese Arrays können wie jedes AFL-Array gezeichnet werden.

Parameter

  • Datenreihe (Array)
    • Dieser Parameter erwartet ein AmiBroker-Array, die die tatsächlichen Datenreihen enthalten, die Sie analysieren möchten. Wenn Sie beispielsweise die Schlusskurse analysieren möchten, übergeben Sie den integrierten AmiBroker Schließen (C) Variable, die ein Array ist, das die Schlusskurse aus Ihrer Datenreihe enthält.
  • Polarität (ganze Zahl)
    • 0 = positiv
    • 1 = negativ
  • PL Basis (ganze Zahl)
    • 0 = Amplitude
    • 1 = Stärke
  • Lookback Range (ganze Zahl)
    • 1 - 15
  • Min Frequenz (ganze Zahl)
    • Normalerweise 10 - 100
  • Maximale Frequenz (ganze Zahl)
    • Normalerweise 150 - 300
  • Oberwellenfilter (ganze Zahl)
    • 0 - 100
  • Min Fitness (ganze Zahl)
    • 0 - 100
  • Beste X-Zyklen (ganze Zahl)
    • 1 - 10
  • Analyse-Leiste (ganze Zahl)
    • Dies ist der Balkenindex, für den die Analyse durchgeführt wird.
    • Wenn Sie eine Analyse für den Live-Handel durchführen, setzen Sie den Analysebalken gleich dem Balkenindex des letzten Balkens im Diagramm.
    • AmiBroker zeigt den ersten Balken im Diagramm als Balkennummer 1 an. Der von AFL verwendete interne Index beginnt jedoch bei Takt 0. Wenn Sie also einen bestimmten Balken analysieren möchten, müssen Sie 1 von der in AmiBroker angezeigten Balkennummer bis subtrahieren Holen Sie sich die richtige Taktnummer. Wenn ein Diagramm 5.000 Balken enthält, wäre die letzte Taktnummer 4.999 und nicht 5.000.
    • Sie können einen Index für vergangene Balken angeben, um eine Analyse zum Zeitpunkt für diesen Balken durchzuführen. Wenn Sie beispielsweise einen Balkenindex von 1.000 angegeben haben, können Sie die Voraussichtliche Linie von Balken 1.001 bis zum letzten Balken im Diagramm mit den tatsächlichen Preisbalken für diesen Balkenbereich vergleichen, um festzustellen, wie genau die Prognose war zu diesem Zeitpunkt. Bei der Erstellung der Zyklusdiagramme ignoriert die Funktion alle Preisdaten rechts von der angegebenen Balkennummer.
  • Plot-Startleiste (ganze Zahl)
    • Gibt den Balkenindex an, an dem der Plot beginnen soll.
    • In der Regel ist es nicht erforderlich, Diagramme für die gesamte Serie zu berechnen. Wenn Ihre Diagrammansicht beispielsweise 100 Balken anzeigt, benötigen Sie nur Diagramme für diese 100 Balken, nicht für die gesamte Reihe.
  • Plot End Bar (ganze Zahl)
    • Gibt den Balkenindex an, an dem der Plot enden soll.
    • Sie können die Diagramme in die Zukunft projizieren, indem Sie einen Diagrammendbalken angeben, der größer als die Anzahl der Balken im Diagramm ist.
  • Cache-Index (ganze Zahl)
    • Die Funktion enthält einen internen Caching-Mechanismus, der verhindern soll, dass mehrere aufeinanderfolgende API-Anforderungen für dieselben Daten gesendet werden. Der Cache speichert die Datenreihen, Parameter und Ergebnisse für jede API-Anforderung. Wenn es genau die gleichen Datenreihen und Parameter zweimal hintereinander empfängt, überspringt es die API-Anforderung und gibt sofort das zwischengespeicherte Ergebnis zurück.
    • Wenn Sie nur eine einzelne Datenreihe in einem Diagramm analysieren, sollten Sie den Cache-Index auf 0 setzen.
    • Wenn Sie mehrere Datenreihen in einem Diagramm analysieren, sollten Sie für jede Datenreihe einen eindeutigen Cache-Index angeben. Wenn Sie beispielsweise die Basisperiode plus zwei höhere Zeitperioden analysieren, geben Sie Cache-Index 0 für die Basisperiode, Cache-Index 1 für HTP 1 und Cache-Index 2 für HTP 2 an. Dadurch wird ein separater Cache erstellt für jeden Zeitraum.

Antwort

AFL-Arrays:

Jedes Element in diesen Arrays repräsentiert einen Balken, beginnend mit Balken Null.

Wenn Sie einstellen Plot End Bar auf eine Zahl größer als LastValue (BarIndex ())wird es automatisch Verschieben Sie die Arrays nach hinten durch den Unterschied. Anschließend können Sie die Diagramme mit dem in die Zukunft projizieren Handlung Funktion XShift Parameter.

Angenommen, Ihr Diagramm enthält 5.000 Balken, was bedeutet, dass der letzte Balkenindex 4.999 beträgt. Wenn Sie einstellen Plot End Bar bis 5.009 würde das Array um 10 Balken nach links verschoben. Sie haben dann XShift auf 10 gesetzt, um 10 Balken in die Zukunft zu zeichnen. Da das Array um 10 Balken nach links verschoben wurde, wird das XShifted-Diagramm korrekt am Diagramm ausgerichtet.

  • PTPL - das Vorausschauende Linie Handlung
  • PTPLSlope - das Steigung der vorausschauenden Linie. Ein positiver Wert bedeutet, dass er nach oben abfällt, und ein negativer Wert bedeutet, dass er nach unten abfällt.
  • PTTrendBar - das relative Balkennummer innerhalb des aktuellen Prescient Line-Trends. Die erste Taktnummer in jedem Trend ist Takt 0 und alle nachfolgenden Taktnummern beziehen sich auf den ersten Takt des Trends.
  • PTTrendBars - das Gesamtzahl der Balken im aktuellen Prescient Line Trend.
  • PTTrendPct - das Prozentsatz abgeschlossen des aktuellen Prescient Line Trends. Der Prozentsatz wird niemals 100 erreichen, da dies bedeuten würde, dass ein neuer Trend mit einer Fertigstellung von null Prozent begonnen hat. 100% des alten Trends entspricht also 0% des neuen Trends.

AFL-Matrizen:

  • PTCycles - enthält eine Zeile für jede einzelne Zyklusfrequenz in dem durch die minFrequenz und maxFrequency Parameter. Jede Zeile enthält acht Spalten, wobei die Spaltennummern durch AFL-Variablen gekennzeichnet sind. Wenn Sie die Werte aus der Matrix lesen, Sie sollten die Spaltennummern immer mit den zugehörigen AFL-Variablen referenzieren. anstatt die Spaltennummern hart zu codieren. Auf diese Weise funktioniert Ihr Code auch dann, wenn sich die Spaltennummern in Zukunft ändern.
    • Frequenz (PTColFrequency) - die Zyklusfrequenz.
    • Amplitude (PTColAmplitude) - die Zyklusamplitude.
    • Stärke (PTColStrength) - Die Zyklusstärke, die Amplitude geteilt durch Frequenz.
    • Startleiste (PTColStartBar) - Der Balkenindex, an dem das Zyklusdiagramm beginnt. Dies wird verwendet, um die richtige Phase für das Zyklusdiagramm festzulegen, ist jedoch im Allgemeinen nicht erforderlich, da die Funktion die Diagramme für Sie in der unten beschriebenen PTPlots-Matrix bereitstellt.
    • Fitness (PTColFitness) - ein statistisches Maß für die Zuverlässigkeit des Zyklus von 0% bis 100%.
    • Gipfel (PTColPeak) - Gibt an, ob der Zyklus ein Peak ist oder nicht, und wenn ja, ob er von einem der in den Parametereinstellungen angegebenen Filter gefiltert wurde oder nicht:
      • 0 = kein Peak
      • 1 = Gültiger Peak
      • -1 = Peak gefiltert nach Min Fitness Filter
      • -2 = Peak gefiltert nach Oberwellenfilter
      • -3 = Peak gefiltert nach Beste X-Zyklen Filter
    • Steigung (PTColSlope) - Zeigt an, ob der Zyklus nach oben oder unten abfällt. Die Steigung wird nur für Zyklen berechnet, bei denen es sich um gültige Peaks handelt (Peak = 1):
      • 1 = abfallend oben
      • -1 = Gefälle Nieder
    • FLD Preis (PTColFLDPrice) - Gibt den Preis der FLD des Zyklus an. Dies wird nur für Zyklen berechnet, die gültige Peaks sind (Peak = 1).
  • PTPeaks - das PTPeaks Matrix enthält die gleichen Informationen im gleichen Format wie die PTCycles Matrix, außer dass sie nur Zyklen enthält, die gültige Peaks sind (Peak = 1). Die Zyklen werden nach Frequenz sortiert.
  • PTPlots - das PTPlots Die Matrix enthält die Diagramme für jeden Zyklus, bei dem es sich um einen gültigen Peak handelt (Peak = 1), sortiert nach Zyklusfrequenz. Jede Zeile steht für a Spitzenzyklusfrequenz und jede Spalte repräsentiert a Bar. Wie bei den Arrays, wenn Sie a angeben Plot End Bar Jenseits des letzten Balkens im Diagramm werden die Matrixzeilen um die Differenz nach links verschoben. Sie können die verwenden MxGetBlock Funktion zum Konvertieren der Matrixzeilen in AFL-Arrays.
  • PTFLDPrices - Die PTFLDPrices-Matrix enthält die FLD-Preise für jeden Zyklus, der ein gültiger Peak ist (Peak = 1), sortiert nach Zyklusfrequenz. Jede Zeile repräsentiert eine Spitzenzyklusfrequenz und jede Spalte repräsentiert einen Balken. Diese Matrix enthält nur FLD-Preise für den aktuellen und zukünftige Balken. Verwenden Sie die PTRangeAnalysis Funktion zum Abrufen vergangener FLD-Daten. Wenn Sie wie bei den Arrays einen Plot-Endbalken hinter dem letzten Balken im Diagramm angeben, werden die Matrixzeilen um die Differenz nach links verschoben. Sie können die MxGetBlock-Funktion verwenden, um die Matrixzeilen in AFL-Arrays zu konvertieren.

AFL-Skalare

  • PTFLDScore - Das FLD Score ist ein leistungsfähiger Indikator, der dazu beitragen kann, von der Prescient Line und den anderen Zyklusindikatoren vorgeschlagene Trades zu bestätigen oder abzulehnen.
    • Der FLD-Score wird durch Multiplikation der Stärke oder Amplitude (abhängig von der) berechnet PL Basis Einstellung) jeder Spitzenzyklusfrequenz entweder um 1 oder -1, je nachdem, ob der Serienpreis über oder unter dem FLD-Preis liegt, und summieren sie alle zusammen.
    • Wenn der FLD-Score ist positivDies zeigt an, dass sich der Markt in einem zyklischen Umfeld befindet Aufwärtstrend.
    • Wenn der FLD-Score ist NegativDies zeigt an, dass sich der Markt in einem zyklischen Umfeld befindet Abwärtstrend.

PTRangeAnalysis

PTRangeAnalysis (Datenreihe, Polarität, PL-Basis, Lookback-Bereich, minimale Frequenz, maximale Frequenz, Oberschwingungsfilter, minimale Fitness, beste X-Zyklen, Startleiste, Endleiste, Prozessarrays)

PTRangeAnalysis analysiert an gesamte Palette von BarsRückgabe der Zeitpunkt Werte für jeden Balken im analysierten Bereich. Berufung PTRangeAnalysis Für einen Bereich von 1.000 Balken entspricht dies einem Anruf PTBarAnalysis 1.000 Mal, einmal für jeden Balken im Bereich. Dies ist die Funktion, für die verwendet werden soll Backtesting und Optimierung, NICHT für den Live-Handel.

Diese Funktion gibt keine Werte direkt zurück. Stattdessen wird eine Reihe von AFL-Arrays und -Matrizen gefüllt. Diese Arrays können wie jedes AFL-Array gezeichnet werden.

Parameter

  • Datenreihe (Array)
    • Dieser Parameter erwartet ein AmiBroker-Array, die die tatsächlichen Datenreihen enthalten, die Sie analysieren möchten. Wenn Sie beispielsweise die Schlusskurse analysieren möchten, übergeben Sie den integrierten AmiBroker Schließen (C) Variable, die ein Array ist, das die Schlusskurse aus Ihrer Datenreihe enthält.
  • Polarität (Ganzzahl oder Array
    • 0 = positiv
    • 1 = negativ
  • PL Basis (Ganzzahl oder Array)
    • 0 = Amplitude
    • 1 = Stärke
  • Lookback Range (Ganzzahl oder Array)
    • 1 - 15
  • Min Frequenz (Ganzzahl oder Array)
    • Normalerweise 10 - 100
  • Maximale Frequenz (Ganzzahl oder Array)
    • Normalerweise 150 - 300
  • Oberwellenfilter (Ganzzahl oder Array)
    • 10 - 100
  • Min Fitness (Ganzzahl oder Array)
    • 0 - 95
  • Beste X-Zyklen (Ganzzahl oder Array)
    • 1 - 10
  • Start- / Endleiste (ganze Zahl)
    • Das Startleiste und Endleiste Parameter geben den zu analysierenden Balkenbereich an. nicht wie PTBarAnalysis, End Bar kann NICHT Überschreiten Sie den Balkenindex des letzten Werts im Diagramm. Diese Funktion wird verwendet für Backtesting, nicht Live-Handel, daher wäre es nicht sinnvoll, die Grundstücke in die Zukunft zu projizieren.
  • Arrays verarbeiten (ganze Zahl)
    • Dieser Parameter bestimmt, ob die Funktion die Parameter als Ganzzahlen oder Arrays verarbeitet. Dies gilt nur für Parameter, die entweder Ganzzahlen oder Arrays sein können, einschließlich Polarität, PL-Basis, Lookback-Bereich, Min-Frequenz, Max-Frequenz, Oberschwingungsfilter, Min-Fitness und Best X-Zyklen.
    • Normalerweise sind diese Parameter Ganzzahlen, was bedeutet, dass dieselbe Parametereinstellung auf den gesamten Bereich der analysierten Balken angewendet wird. Dies ist die Standardeinstellung und die meisten Benutzer sollten dies in Ruhe lassen. Wenn Sie jedoch ein fortgeschrittener Benutzer sind, haben Sie die unglaublich leistungsstarke Möglichkeit, die Parametereinstellungen barweise zu variieren, indem Sie die Werte als Arrays übergeben.
    • Wenn Sie Arrays verwenden, müssen Sie den Parameter Process Arrays auf 1 setzen, damit PrescienTrader sie als Arrays verarbeiten kann. Durch Aktivieren dieser Funktion wird die Dateigröße jeder API-Anforderung erheblich erhöht, wodurch Bandbreite verbraucht und die Verarbeitungszeit verlangsamt wirdAktivieren Sie es daher nur, wenn Sie wissen, was Sie tun, und einen guten Grund dafür haben.
      • 0 = Aus
      • 1 = Ein

Antwort

AFL-Arrays

Jedes Element in diesen Arrays repräsentiert einen Balken, beginnend mit Balken Null.

  • PTStaticPL - die statische Vorausschauende Linie. Dies enthält die am Zeitpunkt jedes Balkens im angegebenen Bereich. Das ist sehr verschieden aus der Standard-Prescient-Line-Analyse von PTBarAnalysis, die die Prescient Line bei a berechnet Single Zeitpunkt projiziert dann die Handlung zeitlich vor und zurück.
  • PTStaticPLSlope - die Steigung des statisch Vorausschauende Linie. Ein positiver Wert bedeutet, dass er nach oben abfällt, und ein negativer Wert bedeutet, dass er nach unten abfällt.
  • PTStaticPLSlopeCum - das kumulativ Steigung der statischen Prescient Line. Dies ist, was Sie gewohnt sind Handlung die statische Prescient Line.
  • PTStaticTrendBar - die relative Balkennummer innerhalb des aktuellen statischen Prescient Line-Trends. Die erste Taktnummer in jedem Trend ist Takt 0 und alle nachfolgenden Taktnummern beziehen sich auf den ersten Takt des Trends.
  • PTStaticTrendBars - das Gesamtzahl der Balken im aktuellen statischen Prescient Line-Trend.
  • PTStaticTrendPct - das Prozentsatz abgeschlossen des aktuellen statischen Prescient Line-Trends. Der Prozentsatz wird niemals 100 erreichen, da dies bedeuten würde, dass ein neuer Trend mit einer Fertigstellung von null Prozent begonnen hat. 100% des alten Trends entspricht also 0% des neuen Trends.
  • PTStaticFLDScore - siehe Beschreibung in der PTBarAnalysis Abschnitt für eine Erklärung des FLD Score.

AFL-Matrizen

Diese Matrizen geben eine Liste von Werten zurück, die sich auf die beziehen Spitzenzyklusfrequenzen von jedem Balken. Jede Matrix stellt einen anderen Indikator dar, aber alle sind nach Häufigkeit sortiert. So entspricht beispielsweise Zeile 3, Spalte 999 dem gleich Spitzenzyklusfrequenz bei Takt 1.000 in allen Matrizen. Die Matrizen enthalten die Anzahl der Zeilen, die erforderlich sind, um alle Spitzenzyklusfrequenzen für alle Balken aufzulisten.

  • PTStaticFrequences - Jede Zeile in dieser Matrix entspricht a Spitzenzyklusfrequenz.
  • PTStaticSlopes - Jede Zeile in dieser Matrix entspricht der Steigung der Frequenz in der PTStaticFrequences Matrix, in derselben Zeile und Spalte.
  • PTStaticFLDPrices - Jede Zeile in dieser Matrix entspricht dem FLD-Preis der Frequenz, die in der PTStaticFrequency-Matrix in derselben Zeile und Spalte gefunden wurde.

PTBacktest

PTBacktest ()

Diese Funktion wird verwendet, um Lauf ein Single-Thread Analyse für eine Exploration, einen Backtest oder eine Optimierung. Es werden keine Parameter benötigt, da Sie alle Parameter im konfigurieren Parameter Fenster. Wenn es läuft, ruft es an PTRangeAnalysis und generiert die in der PTRangeAnalysis-Funktion beschriebenen AFL-Arrays und -Matrizen.

Im Gegensatz zur PrescienTrader-Funktion, die zwei höhere Zeiträume unterstützt, ist die PTBacktest Funktionsunterstützung unbegrenzt höhere Zeiträume.

Lies das Exploration, Backtesting und OPTimization Artikel, für eine detaillierte Erklärung der Verwendung dieser Funktion.


PTBacktestMultiPrepare

PTBacktestMultiPrepare ()

Diese Funktion wird verwendet, um bereiten ein Multithreading Analyse für eine Exploration, einen Backtest oder eine Optimierung. Es verwendet die im Fenster Parameter definierten Parameter, um die Daten im richtigen Format für eine API-Anforderung zu generieren.

Lies das Exploration, Backtesting und OPTimization Artikel, für eine detaillierte Erklärung der Verwendung dieser Funktion.


PTBacktestMultiExecute

PrescientAnalysisExecute ()

Diese Funktion wird verwendet, um ausführen ein Multithreading Analyse für eine Exploration, einen Backtest oder eine Optimierung. Es analysiert die Daten, gibt die Ergebnisse in die Explorationsspalten aus und generiert AFL-Arrays, die die Ergebnisse enthalten.

Lies das Exploration, Backtesting und OPTimization Artikel, für eine detaillierte Erklärung der Verwendung dieser Funktion.


PTLogToFile

PTLogToFile (Nachricht)

Sie können verwenden PTLogToFile um Nachrichten in die Protokolldatei zu schreiben, die im Fenster Backtest-Parameter definiert ist.


PTWait

PTWait (Sekunden)

Sie können verwenden PTWait um die Ausführung für die angegebene Anzahl von Sekunden auszusetzen. Normalerweise wird dies verwendet, wenn API-Anforderungen gestellt werden. Wenn eine API-Anforderung aufgrund einer unterbrochenen Internetverbindung fehlschlägt, können Sie mit PTWait eine bestimmte Anzahl von Sekunden warten, bevor Sie es erneut versuchen.

PTPositionSize

PTPositionSize (Punkte riskiert, Prozent des Eigenkapitals riskiert, Kontowährungswährung)

Diese Funktion automatisiert die auf der Volatilität basierende Positionsbestimmung im Van Tharp-Stil in AmiBroker. Wir sind der Meinung, dass dies der beste Ansatz für die Positionsbestimmung ist, da das Risiko automatisch auf der Grundlage der Volatilität und des Portfoliokapitals gesteuert wird.

AmiBroker ist eingebaut SetPositionSize Die Funktion enthält eine Option zur Angabe der Positionsgröße als Prozentsatz des Eigenkapitals, betrachtet die Positionsgröße jedoch als Spanne Betrag erforderlich, um die Position zu öffnen. Das Problem ist, Die Marge ist nur lose mit dem Risiko verbunden. Während es wahr ist, dass riskantere Instrumente allgemein Wenn Sie höhere Margin-Anforderungen haben, ist es unseres Erachtens am besten, die Positionsgröße basierend auf dem genauen Risiko jedes Handels zu berechnen, und sich nicht auf Ihren Broker zu verlassen, um Ihr Risiko für Sie zu verwalten. Daher müssen wir die verwenden Kasse Wert der Position, nicht der Margin-Wert. Wenn Sie zum Beispiel einen Terminkontrakt kaufen und sein Preis um 2% fällt, haben Sie 2% des verloren Geldwert dieses Vertrages, nicht 2% Ihrer Margin-Einzahlung!

Diese Funktion legt die Positionsgröße fest, mit der AmiBroker Trades ausführt. Es wird KEIN Wert zurückgegeben. Es soll die integrierte SetPositionSize-Funktion ersetzen.

  • Das Punkte riskiert Das Argument sollte ein Array sein, das die Anzahl der Punkte angibt, die Sie bei jedem Trade riskieren möchten. In der Regel entspricht dies der Anzahl der Punkte, die Sie für Ihren Stopp verwenden. Wenn Sie keine Stopps verwenden, schätzen Sie die maximale Anzahl von Punkten, die Ihr Handelssystem normalerweise verliert, bevor es eine Position verlässt oder umkehrt. Wir empfehlen die Verwendung einer Formel, die die typische Preisspanne des aktuellen Instruments berücksichtigt. Beispielsweise, ATR (20) * 2 würde ein maximales Risiko von zweimal der durchschnittlichen wahren Reichweite angeben. Es ist besonders wichtig, beim Backtesting mehrerer Instrumente (Portfolio-Backtesting) eine Formel und keinen statischen Wert zu verwenden, damit sich Points Risked automatisch an die Preisspanne und die Volatilität jedes Instruments anpasst.
  • Prozentsatz des riskierten Eigenkapitals ist der Prozentsatz Ihres aktuellen Eigenkapitals, den Sie bei jedem Trade riskieren möchten. Wir verwenden normalerweise 2%, aber Sie können je nach Risikotoleranz einen höheren oder niedrigeren Wert verwenden.
  • Kontobasiswährung ist eine Zeichenfolge, die die Basiswährung Ihres Handelskontos enthält. Zum Beispiel "USD".

Die Funktion verwendet die folgenden Felder aus dem Fenster AmiBroker-Informationen:

  • Sicherheitsleistung
  • Punktwert
  • Währung

Zusätzlich unterstützt die Funktion Positionsdimensionierung für mehrere WährungenDies ist erforderlich, wenn die Basiswährung eines Instruments von der Basiswährung Ihres Kontos abweicht. Am häufigsten geschieht dies bei Forex-Paaren, die auf andere Währungen als US-Dollar lauten. Um eine Positionsbestimmung in mehreren Währungen durchzuführen, sucht die Funktion nach dem Preis des Forex-Paares, das eine Kombination aus der Basiswährung Ihres Kontos und der Basiswährung des Forex-Paares ist, das einem Backtest unterzogen wird. Wenn Sie beispielsweise CHFJPY zurückprüfen, ist die Basiswährung JPY. Wenn die Basiswährung Ihres Kontos USD ist, schlägt die Funktion den Preis von USDJPY nach, um den Preis von JPY in US-Dollar zu berechnen. Auf diese Weise kann die Positionsgröße für CHFJPY in US-Dollar berechnet werden. Daher sind die folgenden Daten erforderlich, damit die Positionsdimensionierung für mehrere Währungen funktioniert:

  1. Sie müssen das richtige eingeben Punktwert Für jedes Instrument testen Sie. In der AmiBroker-Dokumentation finden Sie Erläuterungen zum Punktewert.
  2. Sie müssen die eingeben Sicherheitsleistung Für jedes Instrument testen Sie. Sie können eine Einzahlung mit fester Marge als positive Zahl oder als Prozentsatz des Barwerts des Vertrags eingeben, indem Sie den Prozentsatz als negative Zahl eingeben. Wenn Ihr Broker beispielsweise eine Hebelwirkung von 20: 1 bietet, beträgt die Sicherheitsleistung 5%. Sie geben also -5 als Sicherheitsleistung ein.
  3. Für jedes Instrument NICHT In der Basiswährung Ihres Kontos müssen Sie die Basiswährung in das Feld eingeben Währung Feld. Am Beispiel von CHFJPY würden Sie JPY in das Währungsfeld für dieses Instrument eingeben.
  4. Sie müssen in Ihrer AmiBroker-Datenbank Anführungszeichen für das Tickersymbol XXXOOO oder OOOXXX haben, wobei XXX für Ihr steht Konto Basiswährung und OOO repräsentiert die Instrument Hauptwährung. Wenn die Basiswährung Ihres Kontos zuerst im Symbol (XXXOOO) angezeigt wird, wird der Preis des Währungspaars von der Funktion automatisch invertiert. Wiederum, am Beispiel von CHFJPY, wenn Ihre Kontobasiswährung USD ist, benötigen Sie in Ihrer Datenbank Kurse für USDJPY. Das Symbol muss genau wie XXXOOO oder OOOXXXX formatiert sein, NICHT wie XXX-OOO oder eine andere Variante. Wenn Ihr Datenprovider ein nicht standardmäßiges Tickersymbolformat verwendetkönnen Sie das Standardformat dem Nicht-Standardformat in Ihrer Datenbank zuordnen, indem Sie eine nach dem Standardformat benannte Variable erstellen und das Nicht-Standardformat als Wert zuweisen. Wenn Ihre Datenbank im obigen Beispiel das Symbol USD-JPY enthält, können Sie USDJPY mit dem folgenden Code USD-JPY zuordnen:
USDJPY = "USD-JPY";

Alternativ können Sie einen festen Umrechnungswert festlegen, indem Sie die Variable einem numerischen Wert gleichsetzen. Zum Beispiel:

USDJPY = 108,68;
  • Wenn Sie einen festen Konvertierungswert festlegen, werden alle Werte in Ihrer Datenbank überschrieben. Dies ist vor allem dann hilfreich, wenn Ihre Datenbank keine Anführungszeichen für die Umrechnungswährung enthält.
  • Sie müssen Variablen für alle Symbolzuordnungen erstellen Vor Aufrufen der PrescientPositionSize-Funktion.
  • Die PrescientPositionSize-Funktion ignoriert die in AmiBroker integrierten Einstellungen für die Währungsumrechnung. Wenn Sie diese Funktion verwenden, können Sie die Einstellungen in der Einstellungen-> Währungen Bildschirm. Wir empfehlen Ihnen tatsächlich Deaktivieren Sie die dynamischen Währungsumrechnungsfunktionen von AmiBroker durch Entfernen der Symbole aus dem Dynamisches Geschwindigkeitssymbol Spalte in diesem Bildschirm. Dies liegt daran, dass die in AmiBroker integrierte dynamische Währungsumrechnung ein Problem darstellt, wenn die Umrechnungswährung einen kürzeren Kursverlauf aufweist als das analysierte Instrument. In diesem Fall wird die Positionsgröße für alle Daten außerhalb des Bereichs des Kursverlaufs der Umrechnungswährung auf Null gesetzt. Durch Entfernen der Symbole aus der Spalte "Dynamisches Kurssymbol" wird die dynamische Währungsumrechnung deaktiviert, wodurch dieses Problem behoben wird. Wenn der Kursverlauf Ihrer Umrechnungswährung kürzer ist als der Kursverlauf des analysierten Instruments, verwendet die PresicentPositionSize-Funktion den Kurs aus dem letzte bar der Umrechnungswährung für alle Balken außerhalb des Bereichs des Kursverlaufs der Umrechnungswährung.
War dieser Artikel hilfreich?
Nicht gefallen 0
Ansichten: 736
FÜR IMMER FREI
Tägliche Handelssignale
von PrescientSignals
ABONNIEREN
Abonnieren Sie, um täglich KOSTENLOSE Handelssignale zu erhalten, die an Ihren E-Mail-Posteingang gesendet werden
Freie Signale verzögern sich um eine Woche. Auf diese Weise können Sie unseren PrescientSignals-Service risikofrei bewerten, indem Sie die Vorhersagen der Vorwoche mit den tatsächlichen Ergebnissen vergleichen.
FÜR IMMER FREI
Tägliche Handelssignale von PrescientSignals
ABONNIEREN
Abonnieren Sie, um täglich KOSTENLOSE Handelssignale zu erhalten, die an Ihren E-Mail-Posteingang gesendet werden
Freie Signale verzögern sich um eine Woche. Auf diese Weise können Sie unseren PrescientSignals-Service risikofrei bewerten, indem Sie die Vorhersagen der Vorwoche mit den tatsächlichen Ergebnissen vergleichen.