Die Bedeutung von menschlichem Sprechen. Nach langem Aufwändigen und Selbstlernen haben wir es unbewußt gelernt, zu sprechen und die Bedeutung anderer Kinder zu verstehen. Es gibt viele Sprachen, darunter Chinesisch, Englisch, Französisch usw. Chinesisch: Hallo, Welt Deutsch: Hello World Französisch: Bonjour tout le monde
Wenn man in einer Programmiersprache "Hallo, Welt" auf dem Computerbildschirm zeigt, sieht es so aus: C-Sprache: Puts (Wohl der Welt, gute Nacht); Das System.out.println (Hi World, gute Nacht) ist eine Software, die in der Sprache Java verwendet wird. Python: print ((Hallo, Welt, wie geht es dir?) Man sieht, dass Computersprachen ihre eigenen spezifischen Regeln haben, und es gibt viele andere Sprachen, und diese Regeln sind die Klassifizierungen von Programmiersprachen, über die wir heute sprechen werden. In jeder Klassifizierung müssen wir uns nur die grundlegendsten allgemeinen Regeln merken, um diese Programmiersprachen und die Kommunikation mit Computern zu nutzen, um den Computer entsprechend zu führen.
Um Ihnen einen einfachen Vergleich zu ermöglichen und die richtige Quantified-Transaction-Programmiersprache für Sie zu wählen, werden wir eine Klassifizierung der sechs am häufigsten verwendeten Programmiersprachen erstellen: Python, Matlab/R, C++, Java/C#, EasyLanguage und Visualisierungssprache (siehe Abbildung unten).Abbildung 3-1 Bewertung von Programmiersprachen
Wir bewerten sie nach Funktionsumfang, Laufgeschwindigkeit, Skalierbarkeit und Lernschwierigkeit. Eine Bewertung zwischen 1 und 5, z. B. 5 Punkte im Funktionsumfang, bedeutet Funktionsstärke und 1 Punkt bedeutet weniger Funktionen.
Aber die Bewertung jeder Programmiersprache richtet sich vor allem an die Anwendung im Bereich der quantitativen Transaktionen und hat eine individuelle subjektive Komponente.
Visualisierte Programmierung ist nicht neu, sondern eine lange Tradition. Die Idee der visualisierten Programmierung, die mit verschiedenen Steuerungsmodulen ausgestattet ist, ermöglicht die Erstellung von Code-Logik und Transaktionsstrategien, die wie Bausteine funktionieren.Abbildung 3-2 Visualisierung der Programmiersprachen
Die gleiche Prozedur, wie oben dargestellt, wurde in der Programmierung für die visualisierte Quantitative Trading-Plattform der Erfinder mit nur wenigen Codezeilen erledigt. Dies senkt die Programmierschwelle erheblich, was eine großartige Bedienungserfahrung bietet, insbesondere für Trader, die keine Programmierkenntnisse haben.
Da die Implementierungsstrategie der Visualisierungssprache auf C++ basiert, hat dies keinen großen Einfluss auf die Laufzeit des Programms. Die Funktionalität und Skalierbarkeit sind jedoch gering und es ist nicht möglich, zu komplexe und zu detaillierte Transaktionsstrategien zu entwickeln.
Die sogenannte EasyLanguage ist eine Programmiersprache, die für einige kommerzielle Quantitative-Trading-Software einzigartig ist. Obwohl diese Sprachen auch teilweise objektorientiert sind, werden sie in der Anwendung hauptsächlich in der Form von Skripten verwendet. Auf der Grammatik ist sie auch sehr nah an unserer natürlichen Sprache.
Die Skriptsprache hat keine Probleme, Strategien zu überprüfen und die Festplatte in ihrer spezifischen Software zu erstellen, aber sie ist häufig in Bezug auf die Erweiterung begrenzt, z. B. können die Strategienentwickler keine externen APIs aufrufen. Und in Bezug auf die Laufgeschwindigkeit läuft die Skriptsprache auf ihrer eigenen Virtual Machine, die weniger leistungsoptimiert ist als Java / C # und langsamer ist.
Bei Stackoverflow hat sich der Zugriff auf die Mainstream-Programmiersprache in den letzten Jahren kaum verändert, nur Python ist auf dem Vormarsch. Python ist für Web-Entwicklung, maschinelles Lernen, Deep Learning, Datenanalyse usw. verfügbar und hat sich aufgrund seiner Flexibilität und Offenheit zu einem der gängigsten Sprachen entwickelt.
Die Liste der grundlegenden Datenstrukturen und -wörterbücher in Python ist sehr leistungsstark und kann grundsätzlich für die Anforderungen an die Darstellung von Daten sorgen. Wenn schneller, funktionsfähiger und umfassender Datenstrukturen benötigt werden, empfiehlt es sich, NumPy und SciPy zu verwenden, die grundsätzlich als Standardlibrary für die wissenschaftliche Berechnung von Python bezeichnet werden.
Für die Finanztechnik ist Pandas, mit seinen beiden Datenstrukturen Series und DataFrame, eine eher zielgerichtete Bibliothek, die sich hervorragend für die Verarbeitung von Zeitreihen eignet.
In Bezug auf die Geschwindigkeit befindet sich Python in der Mitte, etwas langsamer als C++ und schneller als EasyLanguage, hauptsächlich weil Python eine dynamische Sprache ist, die bei reiner Python-Sprache normalerweise schnell ist.
Als Spruch ist Python in Bezug auf die Erweiterbarkeit erstklassig. Neben einer breiten Palette an anderen Sprachen ist die Erweiterungs-API sehr einfach zu bedienen.
Dann folgen Matlab und R, zwei Sprachen, die sich vor allem in der Datenanalyse befinden. Die Autoren der Sprache haben eine Menge Designs für wissenschaftliche Operationen in der Syntax gemacht, die sich durch natürliche Unterstützung von quantitativen Transaktionsoperationen auszeichnen.
Darüber hinaus sind sie relativ schlechte Betriebsgeschwindigkeit und Skalierbarkeit, da Matlab und R Sprachen auf einzigartigen Sprachen-Virtuellen Maschinen laufen. Performancelich sind ihre Virtuellen Maschinen viel schlechter als Java und C#. Aber weil ihre Syntax näher an mathematischen Formeln liegt, ist es auch relativ einfach zu lernen.
C++ ist eine allgemeine Programmiersprache, die mehrere Programmiermuster unterstützt, wie beispielsweise prozessorientierte Programmiersprache, Datenabstraktion, objektorientierte Programmiersprache, generische Programmiersprache und Designmuster. Mit der C++-Sprache können alle Funktionen, die Sie erreichen möchten, realisiert werden, aber der größte Nachteil dieser leistungsstarken Sprache ist die sehr hohe Lernschwierigkeit, wie z. B. Vorlagen, Zeiger, Speicherlecks usw.
Derzeit ist C++ die bevorzugte Programmiersprache für hohe Kapazitäten und hohe Frequenzen, und zwar aus dem einfachen Grund, dass die Eigenschaften der C++-Sprache, die einfacher an die Unterseite des Computers herankommen, das effektivste Werkzeug für die Entwicklung von Hochleistungs-Rückmeldungs- und Ausführungssystemen sind, die große Mengen an Daten verarbeiten.
Java/C# sind statische Sprachen, die auf virtuellen Maschinen ausgeführt werden. Im Vergleich zu C++ gibt es keine Arrayüberschreitungen, keine Coredumps, eine ungewöhnlich präzise Positionierung des fehlerhaften Codes, einen automatischen Trash-Recovery-Mechanismus, keine Angst vor Speicherlecks usw. So sind sie also auch einfacher zu lernen als C++ bei der grammatischen Schwierigkeit.
Funktionell ist es jedoch nicht möglich, die Basis des Transaktionssystems zu optimieren, wie es C++ tut. In Bezug auf die Erweiterung der Leistung ist sie gegenüber C++ etwas schwächer, da sie über die C-Brücke erweitert werden müssen, und die beiden Sprachen selbst laufen auf der virtuellen Maschine, so dass die Erweiterung der Funktionsmodule eine weitere Wand durchschreiten muss, um dies zu erreichen.
Allerdings sind quantisierte Programmiersprachen nicht wichtig, sondern Ideen. Quantisierte Mailsprachen und Visualisierungssprachen sind für die Erfinder als Eintrittsschranke für die Quantisierung völlig unproblematisch.
Du entwirfst deine Strategie, du handelst mit deinen Gedanken. In dieser Hinsicht ist Quantitative Trading immer noch das Herzstück des Handelsgedankens. Als Quantitative Trader musst du nicht nur die grundlegende Grammatik und Funktionen der Strategie-Schreibplattform beherrschen, sondern auch die Handlungskonzepte in der Praxis verwirklichen.
1. Welche Vorteile hat Python als Quantitative Transaktion? 2. Versuchen Sie, einige der gängigen APIs in der Sprache des Erfinders zu schreiben?
Ich glaube, dass Sie nach der Einführung in die Programmiersprache sicherlich wissen, wie Sie sich entscheiden sollen. In den nächsten Kapiteln werden wir gezielte Lern-Quantitäts-Transaktionsstrategien entwickeln, die nach der Klassifizierung der Programmiersprache bestimmt sind.
Was ist die Mailsprache? Die so genannte Mailsprache ist eine Programmiersprache, die sich aus den frühen Stocktechnik-Indikatoren erstreckt. Die Algorithmen werden in eine einzelne Funktion eingebunden, in der der Benutzer nur eine Zeile Funktionen anrufen muss, wie bei einem Puzzling-Block-Pudding, um strategische Logik zu realisieren.
Die Konstruktionsmodelle "kleine Grammatik, große Funktionen" verbessern die Schreibleistung erheblich. In anderen Sprachen gibt es mehr als 100 Satzstrategien, die in der Regel 10 in der Machen-Sprache sind.
Um Ihnen ein schnelles Verständnis der Schwerpunkte zu vermitteln, geben wir Ihnen einen ersten Einblick in die Konzepte der Quantifizierungssprache der Erfinder. Wir verwenden die langfristigen 50-Tage- und die kurzen 10-Tage-Durchschnitte als grundlegende Beispiele.
Mehrfachgeschäft: Wenn es derzeit keine Positionen gibt und der Schlusskurs größer ist als der kurzfristige Durchschnitt, und der Schlusskurs größer ist als der langfristige Durchschnitt, und der kurzfristige Durchschnitt größer ist als der langfristige Durchschnitt, und der langfristige Durchschnitt steigt.
Kauffreier Handel: Wenn es derzeit keine Positionen gibt und der Verkaufspreis kleiner als der kurzfristige Durchschnitt ist, und der Verkaufspreis kleiner als der langfristige Durchschnitt ist, und der kurzfristige Durchschnitt kleiner als der langfristige Durchschnitt ist, und der langfristige Durchschnitt sinkt.
Mehrfach-Platzierung: Wenn mehrere Bestellungen im Moment gehalten werden und der Verkaufspreis unter dem langfristigen Durchschnitt liegt, oder der kurzfristige Durchschnitt unter dem langfristigen Durchschnitt liegt, oder der langfristige Durchschnitt sinkt.
Leerstand: wenn die aktuelle Bestellung leer ist und der Schlusskurs größer ist als der langfristige Durchschnitt, oder der kurze Durchschnitt größer ist als der lange Durchschnitt, oder der lange Durchschnitt höher ist.
Wenn man es in Maisch-Code schreibt, sieht es so aus:Abbildung 3-3 Vollständige Beispiele für die Ma-Sprache
Um eine vollständige Quantitative-Trading-Strategie zu erstellen, sind in der Regel folgende Schritte erforderlich: Datenerfassung, Datenberechnung, Logikberechnung, Auf- und Verkaufsbestellung. Wie oben gezeigt, wird in der gesamten Code nur eine API zur Erfassung der Basisdaten verwendet, nämlich die CLOSE-Taste in den Zeilen 1 und 2; dann die Datenberechnung in den Zeilen 1 bis 9; dann die Logikberechnung und der Auf- und Verkaufsbestellung in den Zeilen 11 bis 14.
Beachten Sie, dass der Code in Purpur eine Variable ist; in den Zeilen 1 bis 9 ist der grüne Kegel: = Kegel ist ein Kennzeichen, das nach Beendigung der Berechnung der Daten auf der rechten Seite des Kennzeichens der Variable auf der linken Seite des Kennzeichens zugeordnet wird; der Code in Orange ist der API, zum Beispiel in der ersten Zeile müssen zwei Parameter eingegeben werden, die als Einstellungen verstanden werden können, d.h. die Art von MA eingestellt werden muss, wenn MA aufgerufen wird.
Die Basisdaten (Öffnungspreis, Höchstpreis, Mindestpreis, Schließpreis, Volumen) sind ein wesentlicher Bestandteil der Quantifizierung von Transaktionen. Die aktuellsten Basisdaten in der Strategie können nur mit dem API der Quantifizierungsinstrumente der Erfinder abgerufen werden.
Variablen sind variable Zahlen, Variablennamen können als Codes verstanden werden, ihre Benennung unterstützt die Benennung mit chinesischen Buchstaben, Buchstaben, Ziffern, Zeichnungsformaten, aber die Länge muss innerhalb von 31 Zeichen kontrolliert werden. Variablennamen dürfen sich nicht gegenseitig wiederholen, können sich nicht mit Parameternamen wiederholen, können sich nicht mit Funktionsnamen (API) wiederholen. Jeder Satz sollte mit einer Punktzahl enden.Diagramm 3 - 4 Datentypen für die Sprache Ma
Variable Assignment ist die Angabe der Variablen auf der rechten Seite des Assignments an die Variablen auf der linken Seite. Es gibt vier Assignment-Symbole, mit denen man steuern kann, ob die Zahlen auf dem Diagramm angezeigt werden, und wo sie angezeigt werden.Diagramm 3-5 Zuordnungen von Variablen
In der Machen-Sprache gibt es verschiedene Datentypen, von denen die am häufigsten verwendeten die Zahlen-Typ, der String-Typ, der Boole-Typ sind. Die numerischen Typen sind Zahlen, einschließlich der ganzen Zahlen, der Primzahlen, der positiven Negativzahlen und so weiter, wie: 1, 2, 3, 1.1234, 2.23456...; Sie können Stringtypen als Buchstaben verstehen.
Beziehungsoperatoren, wie sie genannt werden, sind Operatoren, die verwendet werden, um Beziehungen zwischen zwei Werten zu vergleichen. Sie sind gleich, größer, kleiner, größer als, kleiner als, gleich oder nicht gleich, wie in der folgenden Abbildung:Diagramm 3-6 Mayan-Operatoren
Logische Operationen können einzelne Boole-Statements in einem Ganzen zusammenführen, die am häufigsten verwendet werden:
Bitte beachten Sie: Die endgültige Bedingung ist, wenn alle Bedingungen für die Annahme der Annahme stimmen. Das ist in allen Bedingungen der Fall, solange eine der Bedingungen für das Äquivalent ist, ist die Endbedingung für das Äquivalent. Die Wörter "Y" und "Y" können als "Y" und "Y" geschrieben werden.
Die allgemein verwendeten Arithmetik-Operatoren (
Wenn es eine 100* ((10-1) /(10+5) -Expression gibt, welche Stufe berechnet man zuerst? Die Mittelschule Mathematik sagt uns: (1) Wenn es sich um eine gleichrangige Operation handelt, wird die Berechnung in der Regel von links nach rechts durchgeführt. (2) Wenn es sowohl eine Addition als auch eine Subtraktion gibt, wird zuerst multipliziert und dann wieder gezählt und subtrahiert.Diagramm 3-9 Prioritäten für die Berechnung von Mathematiken in der Sprache
In der Sprache von Mac, dem Quantifizierungswerkzeug des Erfinders, wird die Programmstrategie in zwei Modellen ausgeführt, nämlich: Schlusskursmodus und Echtzeit-Kursmodus. Der Schlusskursmodus bezeichnet die Bildung des aktuellen K-Liniensignals und die sofortige Ausführung des Auftrags, sobald die unteren K-Linien beginnen. Der Echtzeit-Kursmodus bezeichnet die Bildung des aktuellen K-Liniensignals und die sofortige Ausführung des Auftrags.
Wenn es sich um eine Tagespolitik handelt, bei der die Endplatte ausgeglichen werden muss, muss die Zeitfunktion der TIME-Timerung verwendet werden. Die Funktion wird in vierstelliger Form angezeigt, d.h. über Sekundenzyklen und unter Tagzyklen, nämlich: HHMM ((1450
Diagramm 3-11 Klassifizierung des Ma-Sprachmodells
Die Modellklassifizierung in der Ma-Sprache besteht aus zwei Kategorien: Nichtfiltermodelle und Filtermodelle. Dies ist in der Tat gut verständlich: Nichtfiltermodelle erlauben ein fortlaufendes Erscheinen von Auf- oder Stillstandssignalen, die Auf- und Stillstandsfunktionen ermöglichen. Filtermodelle erlauben kein fortlaufendes Erscheinen von Auf- oder Stillstandssignalen, d.h. wenn ein Auf- oder Stillstandssignal erscheint, werden die folgenden Auf- oder Stillstandssignale gefiltert, bis ein Stillstandssignal erscheint.
Das ist eine kurze Einführung in die Mailsprache. Wenn Sie eine kompliziertere Strategie schreiben möchten, können Sie sich an die Quantifizierungsinstrumente der Mailsprache wenden oder sich direkt an den offiziellen Kundenservice wenden.
Daytrading ist auch ein Handelsmodell, das nicht über Nacht gehalten wird, so dass es durch Marktfluktuationsrisiken geringer ist, und wenn sich eine ungünstige Branche zeigt, kann sie rechtzeitig angepasst werden.
1. Versuchen Sie, eine API zu schreiben, um die Grunddaten in Machen zu erhalten, mit Hilfe der Quantifizierungstools der Erfinder. 2. Wie können Variablen in einem Diagramm angezeigt werden?
In dem vorherigen Artikel, in dem wir Ihnen die Voraussetzungen für die Umsetzung einer Handelsstrategie in Bezug auf die Einführung in Ma, die grundlegende Grammatik, die Modelldurchführung, die Klassifizierung von Modellen usw. erläutert haben, werden wir in diesem Artikel weitergehen und Ihnen Schritt für Schritt helfen, eine praktikable, quantitative Handelsstrategie zu realisieren.
Denken Sie darüber nach, wie Sie einen Roboter mit Lego-Blöcken zusammenstellen? Es ist nie möglich, ihn von oben nach unten oder von unten nach oben zu zusammensetzen. Jeder, der ein wenig vernünftig ist, weiß, dass der Kopf, die Arme, die Beine, die Flügel usw. einzeln zusammengefügt werden sollten, um einen vollständigen Roboter zusammenzustellen.
Die Phasensteigerung ist der Prozentsatz der Differenz zwischen dem Preis, bei dem die Wurzel K geschlossen wurde, und dem Preis, der in den vorherigen N Perioden geschlossen wurde.Schaubild 3-12 Steigerung der Ma-Sprachphase
Die Neuerungshöhe ist der höchste Preis seit N Perioden, wenn die Wurzel K größer ist. Zum Beispiel: Wenn die Wurzel K größer ist als der höchste Preis der letzten 10 K-Linien, kann der Code folgendermaßen geschrieben werden:Abbildung 3-13 Maisch ist wieder innovativ
Ein Aufschlag kann als Preisanstieg und eine starke Erhöhung der Transaktionen verstanden werden. Zum Beispiel: Wenn der Schlusskurs der Wurzel-K-Linie 1,5 Mal höher ist als der Schlusskurs der vorherigen 10-Gang-K-Linie, also innerhalb von 10 Tagen um 50% gestiegen ist; die Transaktionen sind fünfmal höher als der Durchschnitt der letzten 10-Gang-K-Linien. Der Code kann geschrieben werden:Abbildung 3-14 Maisch-Sprache-Aufschlag
Eine enge Reihenfolge bedeutet, dass die Preise innerhalb eines bestimmten Bereichs bleiben. Zum Beispiel: Wenn die Differenz zwischen dem höchsten Preis in 10 Zyklen und dem niedrigsten Preis in 10 Zyklen kleiner als etwa 0.05 ist, kann der Code geschrieben werden:Abbildung 3-15 Maisch-Sprache in enger Verteilung
Die lineare Multiplatform ist in Multi-Platform und Leerplatform unterteilt. Die K-Line ist in 5
Um einen früheren Höhepunkt zu erhalten, und wo er sich befindet, kann man direkt über die API des Quantifizierungstools des Erfinders eine direkte Anfrage machen.Diagramm 3-17 Frühe Höhepunkte der Maischsprache
Ein Sprungloch ist ein ungebundenes Auftreten des höchsten Tiefpreises der beiden K-Linien, die aus zwei K-Linien bestehen. Der Sprungloch ist der Referenzpreis für die späteren Unterstützungs- und Druckpunkte.Abbildung 3-18 Maisch Sprung-Lücken
Diagramm 3-19 bewegliche Mittelwerte
Aus statistischer Sicht ist die Durchschnittslinie der Arithmetische Durchschnitt des täglichen Preises, eine Trend-Prozess. Die Durchschnittslinie ist ein technisches Instrument, das von den meisten Analysten häufig verwendet wird.Diagramm 3-20 Berechnung verschiedener Indikatoren für die Sprache
Diagramm 3-21 BOLL-Modus
Der BOLL ist auch als Boll-Band-Indikator bekannt und verwendet statistische Prinzipien, um zuerst den Mittelpunkt nach dem N-Tage-Moving Average zu berechnen, dann den Mittelpunkt nach dem Standarddifferenz zu berechnen. Wenn der BOLL-Kanal von Breite schrumpft, zeigt dies, dass der Preis schrittweise zum Durchschnitt zurückkehrt. Wenn der BOLL-Kanal von Breite schrumpft, bedeutet dies, dass sich der Markt verändert.
Unter allen technischen Indikatoren ist die Berechnungsmethode von BOLL eine der komplexesten, die die Konzepte der Standarddifferenz in der Statistik einführt, die die Berechnung der Mittelstrecke (MB), der Oberstrecke (UP) und der Unterstrecke (DN) betrifft.Diagramm 3-22: Braille-Bandrechnung
Schaubild 23 MACD
Der MACD-Indikator ist eine doppelte, glatte Operation, die auf der Grundlage des Prinzips des gleitenden Durchschnitts entwickelt wurde. Der MACD beseitigt die Fehler, dass der gleitende Durchschnitt häufig falsche Signale sendet, und behält die Wirkung des gleitenden Durchschnitts bei. Daher weist der MACD-Indikator Charakteristiken wie einheitliche Trends, Stabilität und Stabilität auf.
Diagramm 3-24 MACD-Indikatoren für die Maischsprache
Das sind die häufigsten Strategiemodule, die bei der Entwicklung einer quantitativen Handelsstrategie verwendet werden, aber natürlich weit mehr als das. Mit den Modulbeispielen oben können Sie einige der am häufigsten verwendeten Handelsmodule für den subjektiven Handel manuell implementieren.
Auf dem Forex-Kontaktmarkt wurde eine brechende Handelsstrategie, die HANS123 Strategie, verwendet, um die hohen und tiefen Punkte der N-K-Linie nach ihrer kurzen Öffnung zu durchbrechen.
Nach 30 Minuten ist der Einstieg vorbereitet. Aufwärts = Höchststand 30 Minuten nach dem Start; Unterstrecke = Tiefpunkt 30 Minuten nach dem Start; Wenn der Preis den Kurs durchbricht, kaufen Sie auf. Wenn der Preis fällt, verkauft man seine Position. Die Handelsstrategie des Tages, die Ausgleichsstrategie vor der Schließung.
Abbildung 3-25 Strategie-Code für die Sprache Ma
Wir haben die Konzepte der Strategie-Module gelernt, und durch einige häufig verwendete Strategie-Module-Fälle, vertraut mit den Programmiermethoden der Erfinder-Quantifizierungs-Tools, kann man sagen, dass das Schreiben von Strategie-Module, die Verbesserung der Programmierlogik-Denken, ist ein wichtiger Schritt in der fortschreitenden Quantifizierung der Transaktionen.
Vielleicht sind einige Freunde verwirrt, weil sie den Code nicht verstehen können. Keine Eile, wir haben uns schon alles überlegt. In den Quantifizierungswerkzeugen der Erfinder gibt es eine andere Programmiersprache, die besser für kleine und kleine Benutzer geeignet ist.
1. Versuchen Sie, einige der Handelsmodule zu implementieren, die Sie am häufigsten im subjektiven Handel verwenden. 2. Versuchen Sie, die KDJ-Indikator-Algorithmen mit der Ma-Sprache in den Quantifizierungswerkzeugen der Erfinder zu implementieren.
Viele subjektive Trader, die sich für quantitative Transaktionen interessieren, sind zuerst zuversichtlich, bis sie die grundlegende Grammatik, Datenberechnungen, Datenstrukturen, Logiksteuerungen usw. traditioneller Programmiersprachen gelernt haben.
Um Ihnen zu helfen, die Schwerpunkte dieses Abschnitts schnell zu verstehen, sehen wir uns, bevor wir Ihnen einen kurzen Einblick in die Quantifizierung der visualisierten Programmiersprache der Erfinder geben, erst einmal an, wie die Strategien, die in der visualisierten Sprache geschrieben wurden, aussehen.
Mehrfachgeschäft: wenn es keine Position gibt und der Schlusskurs größer als die 50-Zyklus-Durchschnittslinie ist.Kauffreier Handel: Wenn es keine Positionen gibt und der Kurs unter der 50-Zyklus-Durchschnittslinie liegt.Mehrfach-Platzierung: wenn mehrere Aufträge gehalten werden und der Verkaufspreis kleiner als die 50-Zyklus-Durchschnittslinie ist.Leerstand: wenn die aktuelle Bestellung leer ist und der Verkaufspreis größer als die 50-Zyklus-Durchschnittslinie ist.
Wenn man die oben genannten Strategien in visueller Sprache schreibt, sehen sie so aus:Abbildung 3-26 Visualisierung der Sprachoberfläche
Wie oben gezeigt, ist der gesamte Strategie-Entwurfsprozess: Setzen Sie die Marktart, erhalten Sie die K-Linien-Array, erhalten Sie die 50-Zyklus-Mittelwerte der oberen K-Line, erhalten Sie den Schlusskurs der oberen K-Line, erhalten Sie die Holding-Array, beurteilen Sie den Holding-Status, beurteilen Sie, ob der Schlusskurs größer oder kleiner als die Mittellinie ist, führen Sie die Position ein oder ein.
Hier ist auf das Konzept der Array-Array zu achten, die für jede Programmiersprache eine der wichtigsten Datenstrukturen ist. Eine Array ist wie ein Behälter, in dem eine Reihe von Werten gespeichert werden kann.Diagramm 3-27 K-Linienarray
Der Code in der obigen Abbildung ist eine K-Linien-Array, die aus drei Daten besteht: Daten der oberen Wurzel K, Daten der oberen Wurzel K, Daten der Wurzel K. Wenn wir diese Array einer Variablen zugewiesen haben, die wir als "arrarr" bezeichnen, können wir die letzten Daten aus dieser Array erhalten, wenn wir die Daten der Wurzel K erhalten möchten.Referenzen von Diagrammen in Abbildung 3-28
Man schreibt es direkt mit der zweiten (Reihe 5) - weil es in der Realität Hunderte von Tausenden von K-Liniendaten gibt, und neue K-Linien immer mehr werden. Man kann also zuerst die Länge der Array ermitteln, und dann die Länge der Array, und dann die Länge der Array abziehen, also die Daten der neuesten K-Line.
Wenn Sie genau hinschauen, werden Sie wahrscheinlich feststellen, dass diese Daten alle mit den Buchstaben
Mit all diesen Konzepten im Hinterkopf, lassen Sie uns zunächst ein Programm in Java schreiben, das Hello, world, ausführt, um ein Gefühl für traditionelle Programmierung zu bekommen, wie hier:Abbildung 3-30
Ein Programm, das nur eine Hello World! -String ausgibt, schreibt 5 Zeilen Code. Ich glaube, dass die meisten Anfänger nur die englischen Wörter Hello, World, etc. in Klammern kennen.
Visualisierte Programmierung ist nicht neu, sondern eine lange Tradition. Die Idee der visualisierten Programmierung, die mit verschiedenen Steuerungsmodulen ausgestattet ist, ermöglicht die Erstellung von Code-Logik und Transaktionsstrategien, die wie Bausteine funktionieren.Schaubild 33-31
Die gleiche Prozedur, wie in der Abbildung oben, kann mit nur einer Zeile Code in der blockly visualisierten Programmierung erledigt werden. Dies senkt die Programmierschwelle erheblich, was eine großartige Bedienungserfahrung bietet, insbesondere für Trader, die keine Programmierkenntnisse haben.
blockly ist nicht nur ein Programmierspielzeug, sondern ein echter Editor, der viele grundlegende Elemente der Programmierung unterstützt, wie Variablen, Funktionen, Arrays und einfach zu erweiterbare, kundenspezifische Blöcke, mit denen Sie komplexe Programmieraufgaben erledigen können.
Die von den Erfindern quantifizierte Visualisierungsprogrammierung wurde mit dem Blockly-Visualisierungstool von Google realisiert.Abbildung 33 bis 32
Hunderte von üblichen Handelsmodulen sind in die von den Erfindern quantifizierte visualisierte Programmierschnittstelle integriert, weitere werden hinzugefügt, um neue Ideen und neue Anwendungen von Handlern zu unterstützen, die von den Entwicklern gemeinsam entwickelt und gewartet werden.
Obwohl die Syntax einfach ist, verliert sie nicht an Leistung. Sie kann nahezu alle einfachen Quantitative-Trading-Strategie-Entwicklungen erfüllen. Sie ist sowohl in Funktionalität als auch in Geschwindigkeit nicht schlechter als herkömmliche Programmiersprachen wie Python und JavaScript.
Schaubild 33
Abbildung 33 bis 34
Schaubild 33 bis 35
Wir beginnen mit einer vollständigen Visualisierungsstrategie, über die Einführung und die Eigenschaften der Visualisierungssprache, bis hin zu einer Einführung in die Verwendung der Visualisierungssprache in den Quantifizierungswerkzeugen der Erfinder und einem Beispiel für das Schreiben einer Hello World-Klammer.
Visualisierte Programmierung unterscheidet sich nicht viel von der Grundlagen der erweiterten Programmiersprache und ist sogar in einigen Bereichen allgemein verbreitet. Das Lernen von Visualisierter Programmierung ist ein weiterer Schritt vor dem Lernen von fortgeschrittener Programmierung. Im folgenden Abschnitt werden wir die Fortschritte der Visualisierung lernen, einschließlich der Entwicklung von Quantifizierungs-Trading-Modulen, die häufig mit visualisierter Sprache in den Quantifizierungswerkzeugen der Erfinder geschrieben werden, und der Entwicklung einer vollständigen In-Day-Trading-Strategie.
1. Die Erfinder quantifizieren die visualisierten Programmierschnittstellen, verwenden APIs und verstehen ihre Bedeutung. 2. Erhalten Sie die neuesten Börsenpreise in einer visualisierten Sprache und führen Sie sie in ein Logbook.
In diesem Artikel haben wir die Grundlagen für die Implementierung von Handelsstrategien erläutert. In diesem Artikel gehen wir weiter, beginnend mit den gängigen Strategiemodule und technischen Indikatoren, bis hin zur Strategielogik, um Ihnen Schritt für Schritt zu helfen, eine vollständige In-Day-Handelsstrategie zu realisieren.
Die Phasensteigerung ist der Prozentsatz der Differenz zwischen dem Preis, bei dem die Wurzel K geschlossen wurde, und dem Preis, der in den vorherigen N Perioden geschlossen wurde.Schaubild 33-36
Wie man in der oben genannten Code sehen kann, erfordert die Ausführung des Computers einen vollständigen logischen Kreislauf, der beispielsweise in folgenden Schritten aufgeteilt werden muss, um die Steigerung der letzten 10 K-Linien-Phasen zu berechnen:
Zuerst muss der Computer genau wissen, welche Sorte man handeln will, z. B. Methanol, und dann setzt man den Vertragskode auf:
Mit K-Linien-Daten kann man aus diesen K-Linien-Daten detaillierte Daten für jede K-Line gewinnen. Um die Steigerung der statistischen Stufe zu berechnen, müssen wir zunächst zwei K-Linien abschließen, z. B. den Abschlusspreis der oberen K-Linie und den Abschlusspreis der vorangegangenen 11. K-Linie.
Zu guter Letzt berechnen wir die Stufenvergrößerungsquoten anhand dieser beiden K-Linien. Jede der folgenden Strategien hat eine solche Eigenschaft, die durch logische Loops und bedingte Eigenschaften festgelegt wird.
Ein Aufschlag kann als Preisanstieg und eine starke Erhöhung der Transaktionen verstanden werden. Zum Beispiel: Wenn der Schlusskurs der Wurzel-K-Linie 1,5 Mal höher ist als der Schlusskurs der vorherigen 10-Gang-K-Linie, also innerhalb von 10 Tagen um 50% gestiegen ist; die Transaktionen sind fünfmal höher als der Durchschnitt der letzten 10-Gang-K-Linien. Der Code kann geschrieben werden:Abbildung 33 bis 37
Ein Sprungloch ist ein ungebundenes Auftreten des höchsten Tiefpreises der beiden K-Linien, die aus zwei K-Linien bestehen. Der Sprungloch ist der Referenzpreis für die späteren Unterstützungs- und Druckpunkte.Schaubild 33 bis 38
Aus statistischer Sicht ist die Durchschnittslinie der Arithmetische Durchschnitt des täglichen Preises, eine Trend-Prozess. Die Durchschnittslinie ist ein technisches Instrument, das von den meisten Analysten häufig verwendet wird.Schaubild 33 bis 39
Der MACD-Indikator ist eine doppelte, glatte Operation, die auf der Grundlage des Prinzips des gleitenden Durchschnitts entwickelt wurde. Der MACD beseitigt die Fehler, dass der gleitende Durchschnitt häufig falsche Signale sendet, und behält die Wirkung des gleitenden Durchschnitts bei. Daher weist der MACD-Indikator Charakteristiken wie einheitliche Trends, Stabilität und Stabilität auf.Abbildung 3-40
Der KDJ-Indikator kombiniert die Vorzüge von Dynamik, Stärken und Bewegungsdurchschnitten, um zu messen, wie stark sich die Aktienkurse vom normalen Preisbereich abwenden. Es wird nicht nur der Schlusskurs berücksichtigt, sondern auch die aktuellen Höchst- und Tiefstpreise, die die Schwächen der echten Schwankungsgröße ignorieren. Die Berechnungsmethode lautet:Schaubild 3-41
Warren Buffett's Mentor Benjamin Graham hat in seinem Buch "Smarter Investor" über ein dynamisch ausgeglichenes Handelsmodell von Aktien und Anleihen gesprochen.
Die Transaktionsmodelle sind sehr einfach: 50% des Geldes in einem Aktienfonds und die restlichen 50% in einem Anleihenfonds zu investieren.
Das ist die ganze Logik der Strategie, einschließlich wann man kauft und wie viel man kauft. Einfach genug!
In dieser Methode ist die Volatilität von Anleihenfonds sehr gering, viel niedriger als die Volatilität von Aktien, so dass die Anleihen hier als "Bezugsbrücke" betrachtet werden, d.h. sie werden verwendet, um zu messen, ob die Aktien zu viel oder zu wenig verdienen.
Wenn der Aktienpreis steigt und der Marktwert der Aktie größer ist als der der Schuldverschreibung, wird die Gesamtposition angepasst, die Aktien verkauft und die Schuldverschreibung gekauft, so dass der Aktien- und Schuldverschreibungsverhältnis wieder zu 1:1 zurückkehrt.
Stattdessen fallen die Aktienpreise, wodurch der Marktwert der Aktien kleiner ist als der der Anleihen, und wenn der Marktwert des Verhältnisses zwischen den beiden über die festgelegte Schwelle liegt, wird die Gesamtposition umgestellt, die Aktien gekauft und die Anleihen verkauft, so dass der Marktwert des Aktien-Anleihen-Verhältnisses wieder auf den ursprünglichen 1:1 liegt.
So genießen wir die Früchte des Wachstums von Aktien und verringern die Volatilität von Vermögenswerten, indem wir die Verhältnisse zwischen Aktien und Anleihen dynamisch ausbalancieren. Als Pionier von Value Investments hat Graham uns eine gute Idee gegeben.
Nach dem aktuellen Wert von BTC behalten die Kontostände 5000 Yen an Bargeld und 0,1 BTC, d. h. ein anfängliches Verhältnis von Bargeld und BTC-Marktwert von 1:1.
Wenn der BTC-Preis auf 6000 Yen steigt, d.h. der BTC-Marktwert größer ist als der Kontostand, und die Differenz zwischen den beiden über die gesetzte Schwelle liegt, verkaufen Sie (< 6000-5000) /6000/2 Münzen.
Wenn der BTC-Preis auf ¥ 4000 sinkt, d.h. der BTC-Marktwert kleiner ist als der Kontostand, und die Differenz zwischen den beiden über dem festgelegten Schwellenwert liegt, kauft man ¥ 5000-4000/4000/2.
So bleibt der Kontostand unabhängig davon, ob BTC ansteigt oder abwertet, stets gleich dem Marktwert von BTC. Wenn BTC abwertet, kauft man etwas und verkauft etwas, bis es zurückkommt, so wie es normal ist.
Kaufbedingungen: Wenn der Marktwert des aktuellen Bestands minus das aktuelle verfügbare Guthaben kleiner als minus 5% des aktuellen verfügbaren Guthabs ist, wird die Position gekauft.Verkaufsbedingungen: Wenn der Marktwert der aktuellen Lagerhaltung minus der aktuellen verfügbaren Balance mehr als 5% des aktuellen verfügbaren Balances beträgt, wird die Veräußerung abgewickelt.
Wir berechnen die vier Voraussetzungen für eine Transaktionsstrategie und geben den jeweiligen Variablen einen Wert.Schaubild 3-42
Es ist wichtig zu beachten, dass der Gesamtmarktwert der Währung, also der Gesamtmarktwert der aktuellen Anzahl von Währungen, berechnet wird, indem die aktuelle Gesamtzahl der Währungen multipliziert wird mit dem aktuellen aktuellen Preis.
Wenn die Voraussetzungsaufgabe abgeschlossen ist, muss die Transaktionslogik geschrieben werden. Auch das ist nicht so kompliziert, wie man es sich vorstellen kann.
Das heißt, wenn die Vermögenswerte weniger als 5% des negativen verfügbaren Saldo kaufen, wenn die Vermögenswerte größer als 5% des verfügbaren Saldo sind, werden sie verkauft.Schaubild 3 bis 43
Die ganze Strategie scheint geschrieben zu sein, aber bedenken Sie, dass das Programm von oben nach unten ausgeführt wird und nach der Ausführung aufhört.
Das heißt, die Programme müssen ständig überprüfen, ob die Bedingungen für die Strategie erfüllt sind, und wenn nicht, dann überprüfen sie es weiter. Hier wird ein weiterer Kreislauf verwendet, wie in der Abbildung:Schaubild 3-44
Die Visualisierung von Strategien unterscheidet sich nicht wesentlich von den Strategien anderer Programmiersprachen. Sie unterstützt auch mehrere Perioden, genaue historische Datenprüfungen und natürlich auch den Handel mit In- und Auslandsgüter-Futures und digitalen Währungen.Abbildung 3-45
Eine vollständige Transaktionsstrategie ist bislang nicht fertig. Um die Handlanger zu schützen, wurde diese Strategie auf Strategie Square geteilt, um die Forschung direkt zu kopieren.
Das 10.000-Stunden-Gesetz existiert immer, aber es ist unmöglich, 10.000 Stunden für einen nullbasierten Trader in Anspruch zu nehmen. So müssen Sie eine Leiter haben, und für einen nullbasierten Trader ist die visualisierte Programmierung, die der Erfinder quantifiziert hat, eine Leiter für schnelle Eintritte.
Mit visueller Programmierung musst du dich nicht an Syntax und Methodennamen erinnern, sondern einfach durch die Funktionsmodule blättern, um zu finden, was du willst. Das ist auch der Grundgedanke der Erfinder von Quantifizierung, um mehr Quantifizierungs-Anfängern zu helfen, die Einstiegsperre zu senken, das Interesse an Quantifizierung zu erhöhen, und jeder kann ein Quantifizierungs-Händler werden!
Im Gegenteil, visualisierte Programmierung ist zwar völlig unproblematisch, aber sie hat ihre eigenen Grenzen, wie z.B. nicht zu komplexe und detaillierte Handelsstrategien zu entwickeln.
Aus Sicht der Fachkenntnisse im Bereich der Quantitative Transaktionen sind sowohl Mails als auch Visualisierungssprachen nur Übergangssprachen in die Welt der Quantitative Transaktionen. Ihre Sprachmerkmale bestimmen auch die Grenzen bei der Entwicklung von Quantitative Transaktionsstrategien und einige komplexe Strategien sind unwahrscheinlich.
1. Versuchen Sie, die Blink-Band-Indikatoren in einer visualisierten Sprache zu realisieren. 2. Versuchen Sie, eine Handelsstrategie mit dem Handelsprozess in diesem Abschnitt auszuführen.
Als zukünftiger Quantitative Trading Star kann es nicht ausreichen, nur eine einfache Sprache zu lernen. Auch wenn Sie von den Erfindern der Quantitative Trading Tools, der Mac-Sprache und der Visualisierungssprache, in die Strategieentwicklung einbezogen werden können, gibt es aufgrund ihrer sprachlichen Eigenschaften viele Einschränkungen.
Im Vergleich zu Visualisierungssprachen ist JavaScript leistungsfähiger und leistungsfähiger. Und in der Entwicklung von Strategien ist JavaScript viel flexibler als Visualisierungssprachen. Zum Beispiel: Wenn Sie eine Suite-Politik entwickeln möchten, ist es mit der Visualisierungssprache nicht möglich, da sie begrenzte Module hat und keine ähnlichen Strategien unterstützt.
Außerdem ist die JavaScript-Sprache einfacher und eleganter als die Visualisierungssprache. Zum Beispiel: Die Visualisierungssprache enthält 10 Zeilen Code, die mit JavaScript möglicherweise nur 5 Zeilen geschrieben werden können. In mancher Hinsicht ist die Visualisierungssprache lediglich eine Textversion von JavaScript, deren Code fast die gleiche Ausführung und Logik wie JavaScript hat.
JavaScript ist eine offizielle Spitzensprache. Sie eignet sich sowohl als Einstiegssprache für das Lernen von Programmieren als auch als Arbeitssprache für die tägliche Entwicklung. Sie ist eine der vielversprechendsten und aussichtsreichsten Computersprachen, die bis heute eine unerschütterliche Dominanz am Browser-End hat. Obwohl sie für die Entwicklung von Webseiten bekannt ist, wird sie auch in vielen Nicht-Browser-Umgebungen verwendet, z. B. Server-, PC- und Mobile-End, und natürlich auch für Quantitative Transaktionen!
Um Ihnen zu helfen, die Schwerpunkte dieses Abschnitts schnell zu verstehen, geben wir Ihnen einen ersten Einblick in die Konzepte der Nomen in diesem Abschnitt, bevor wir Ihnen einen kurzen Einblick in die Erfindung der Quantifizierung der JavaScript-Sprache geben.
Mehrfachgeschäft: wenn es keine Position gibt und die 5-Prozess-Gerade größer ist als die 20-Prozess-Gerade.Kauffreier Handel: wenn es keine Position gibt und die 5-Prozess-Gleichlinie kleiner als die 20-Prozess-Gleichlinie ist.Mehrfach-Platzierung: wenn mehrere Bestellungen vorhanden sind und die 5-Zyklus-Gleichlinie kleiner als die 20-Zyklus-Gleichlinie ist.Leerstand: wenn die aktuelle Bestellung leer ist und die 5-Zyklus-Gerade größer als die 20-Zyklus-Gerade ist.
Wenn man es in JavaScript schreibt, sieht es so aus:Abbildung 4-1
Die oben dargestellte Code ist eine vollständige quantitative Handelsstrategie, die in JavaScript geschrieben wurde. Sie kann in der Tastatur ausgeführt werden und automatisch getätigt werden. Die Code ist einfacher als die visualisierte Sprache.
Alles in JavaScript (Variablen, Funktionsnamen und Operatoren) ist klein geschrieben, d.h. der Variablename Test und der Variablename Test sind zwei verschiedene Variablen. Der erste Charakter des Kennzeichens (Variablen, Funktionen, Eigenschaften, Funktionsparameternamen) muss ein Buchstaben, ein Unterzeichen (_) und ein Dollar-Zeichen sein.Schaubild 4-2
Die Anmerkungen umfassen Einzelzeilen und Blöcke. Einzelzeilen beginnen mit zwei Kurzeln, Blöcke mit einem Kurzel und einem Stern./) Beginnt mit einem Stern und einer Kurve (((/) und schließt mit folgender Abbildung:Abbildung 4-3
Jede Aussage hat ein Komma-Ende; obwohl dies nicht notwendig ist, empfehlen wir, es zu keinem Zeitpunkt zu überspringen.Schaubild 4-4
Variablen können von jedem Datentyp gespeichert werden. Bei der Erstellung der Variablen wird der Operator var verwendet, der hinter dem Variablennamen steht. Bei der Definition der Variablen kann der Variablenwert gleichzeitig festgelegt werden.Schaubild 4-5
In JavaScript gibt es fünf Datentypen: undefined, null, boolean, numeric, string, wie in der folgenden Abbildung dargestellt:Schaubild 4-6
Undefined hat nur einen einzigen Wert, den speziellen undefined, der einen Wert darstellt, der noch nicht festgelegt ist. Zum Beispiel definieren wir nur eine Variable und setzen keine Werte für diese Variable.
Null hat nur einen einzigen Wert, den speziellen
Boolean hat zwei Werte, nämlich
Numbers sind Zahlen mit Positiv-, Negativ-, Integer- und Dezimalzahlen. Darüber hinaus ist die NaN-Zahl auch eine spezielle Zahl, die speziell für Fälle verwendet wird, in denen keine Zahlenwerte zurückgegeben werden, z. B.
String kann als Text verstanden werden, enthält chinesische und englische Sprache und kann mit Ein- oder Doppelzeichen aufgebaut werden.
Ein Objekt kann als ein Container verstanden werden, in dem verschiedene Daten gespeichert werden, in dem Eigenschaften und Werte übereinstimmen. Der Container kann mit dem new-Operator erstellt werden.Schaubild 4-7
Eine Array ist auch ein Container, in dem verschiedene Arrays gespeichert werden, allerdings sind die Elemente in einem Container von links nach rechts angeordnet, wobei das erste Element 0 ist, das zweite Element 1 und so weiter. Außerdem können Arrays in JavaScript jeden Datentyp speichern, wie in der folgenden Abbildung gezeigt:Schaubild 4-8
Die Funktionen in JavaScript unterscheiden sich nicht wesentlich von den Funktionen, die wir in der Mittelschule kennen.Schaubild 4-9
Es gibt verschiedene Operatoren in JavaScript, nämlich Arithmetische Operatoren, Vergleichsoperatoren, Logische Operatoren.Schaubild 4-10
Es ist wichtig zu beachten:
Wenn es eine 100* ((10-1) /(10+5) -Expression gibt, welche Stufe berechnet der Programm zuerst? Die Mittelschule Mathematik sagt uns: (1) Wenn es sich um die gleiche Ebene handelt, wird die Berechnung in der Regel von links nach rechts durchgeführt. (2) Wenn es sowohl eine Addition als auch eine Subtraktion gibt, wird zuerst multipliziert und dann wieder gezählt und subtrahiert.Schaubild 4-11
Normalerweise müssen Sie beim Schreiben von Code immer verschiedene Aktionen für verschiedene Entscheidungen ausführen. Sie können diese Aufgabe in Ihrem Code mit Konditionsaussagen erledigen. In JavaScript können wir folgende Konditionsaussagen verwenden: if Statement - Code nur dann ausgeführt, wenn die angegebene Bedingung true ist if...else Statement - Code ausgeführt, wenn die Bedingung true ist und andere Code ausgeführt, wenn die Bedingung false ist if...else if...else Statement - Verwenden Sie diesen Statement, um einen von mehreren Codeblöcken auszuwählen, die ausgeführt werden sollen Switch-Statement - Verwenden Sie diesen Satz, um einen von mehreren Codeblöcken auszuwählen, die ausgeführt werden
Der Satz wird nur dann ausgeführt, wenn die angegebene Bedingung true ist. Bitte verwenden Sie kleinbuchstabiertes if. Verwenden Sie großbuchstabiertes IF erzeugt einen JavaScript-Fehler!Bild 4-12#
Bei True wird Code ausgeführt, bei False wird anderer Code ausgeführt, wie in der folgenden Abbildung gezeigt:Abbildung 4-13
Manchmal, wenn wir die Daten der K-Linien in den letzten Tagen aus der K-Linien-Array abrufen wollen, können wir die Position der K-Linien-Daten in der Reihe nach abrufen.Schaubild 4-14
Wir alle wissen, dass sich die Branche ständig verändert, und wenn Sie die neuesten K-Linien-Arrays erhalten möchten, müssen Sie immer wieder denselben Code laufen lassen, und dann verwenden Sie die Whilex-Schleife, um die neuesten K-Linien-Arrays zu erhalten, solange die Bedingung wahr ist.Abbildung 4-15
Der Kreislauf ist präkonditioniert, er beginnt nur dann, wenn die Voraussetzung
Die return-Anweisung beendet die Ausführung der Funktion und gibt den Wert der Funktion zurück. Die return-Anweisung kann nur innerhalb des Funktionskörpers erscheinen, und wenn sie irgendwo anders im Code erscheint, führt dies zu einem Syntaxfehler!Abbildung 4-17
In den Quantifizierungswerkzeugen der Erfinder ist ein offizieller Standard-Policies-Framework eingebaut, der sehr praktisch ist, wenn man Strategien in der JavaScript-Sprache schreibt, wie in der folgenden Abbildung gezeigt wird:Abbildung 4-18
Der größte Vorteil der Verwendung des Frameworks ist, dass Sie nur die Strategie-Logik schreiben müssen. Die restliche Reihe von Problemen, wie die Beschaffung von Branchen, die einfache Bearbeitung usw., werden vom Framework bearbeitet.
Das ist eine schnelle Einführung in die JavaScript-Sprache, die Sie lernen können, um eine Quantitative-Trading-Strategie zu programmieren.
Daytrading ist auch ein Handelsmodell, das nicht über Nacht gehalten wird und daher ein geringes Risiko für Marktfluktuation hat, so dass es rechtzeitig angepasst werden kann, wenn sich eine ungünstige Marktlage ergibt.
1. Versuchen Sie, historische K-Linien-Daten mit der JavaScript-Sprache in den Quantifizierungswerkzeugen der Erfinder zu erhalten. 2. Versuchen Sie, den anfangs genannten Strategiecode zu schreiben und eine Anmerkung zu schreiben.
In dem vorherigen Artikel, in dem wir Ihnen die Voraussetzungen für die Implementierung einer Handelsstrategie in Bezug auf die Einführung in die JavaScript-Sprache, die grundlegende Grammatik und das CTA-Strategie-Framework erläutert haben, werden wir in diesem Artikel weitergehen und Ihnen Schritt für Schritt helfen, eine praktikable quantitative Handelsstrategie zu realisieren.
Der Bollinger Band, auch bekannt als Bolling-Channel, ist einer der am häufigsten verwendeten technischen Indikatoren. Er wurde von John Bollinger in den 1980er Jahren erfunden. Theoretisch schwankt der Preis immer um den Wert in einem bestimmten Bereich.
Die Berechnung erfolgt mit Hilfe statistischer Prinzipien, bei denen zunächst die Zellstandardabweichung der Preise für eine bestimmte Zeit berechnet wird, und dann die Zellvertrauensintervalle für die ermittelten Preise durch ein 2-faches Zellstandardabweichung plus/minus der Gleichung berechnet werden. Die grundlegende Form besteht aus einem bandförmigen Kanal mit drei Bahnlinien (zwischen Bahn, Bahn und Bahn). Die Zellstandardabweichung ist die durchschnittliche Kosten der Preise, die Drucklinien und die Stützlinien der Preise auf der Bahn und der Bahn.
Durch die Einführung des Konzepts des Standarddifferenzes wird die Breite des Boll-Pranchens dynamisch anhand der aktuellen Preisbewegungen angepasst. Wenn der Breite kleiner ist, wird der Boll-Pranchenschmal; wenn der Breite größer ist, wird der Boll-Pranchenschmal breiter. Wenn der Boll-Pranchenschmal von Breite schmal wird, kehrt der Preis schrittweise zum Normalwert zurück. Wenn der Boll-Pranch von Breite schmal wird, bedeutet dies, dass sich die Marktlage ändert.
Unter allen technischen Indikatoren ist die Berechnungsmethode des Brin-Bandes eine der komplexesten, die die Konzepte der Standarddifferenz in der Statistik einführt, die die Berechnung der Mittelbahn (MB), der Oberbahn (UP) und der Unterbahn (DN) betrifft.
Mittlere Bahn= einfache gleitende Mittelwerte für N ZeiträumeAuf dem Weg= Mittelbahn + K × N-StandarddifferenzUnterwegs= Mittelbahn − Standardabweichung von K × N ZeitabschnittenSchaubild 4-19
Es gibt viele Anwendungsmöglichkeiten für die Brings, die einzeln oder in Kombination mit anderen Indikatoren verwendet werden können. In diesem Tutorial werden wir eine der einfachsten Anwendungsmöglichkeiten der Brings annehmen. Das heißt, wenn der Preis von unten nach oben durchbricht, also die oberen Drucklinien durchbricht, denken wir, dass die multilateralen Kräfte stärker werden, eine Welle der Aufwärtsblässe hat sich gebildet und ein Kauf-Off-Position-Signal entsteht.
Hailhydra2Das ist ein toller Artikel!
Quantisierung der LeereMarkierung