MyLanguage-Dokument

Schriftsteller:Gutes, Erstellt: 2018-12-14 17:33:09, Aktualisiert: 2019-04-10 09:11:27

[TOC]

  • Grundbeschreibung

    • Vertrag

      Futures- und Kryptowährungskontrakte

      Futures auf Rohstoffe/Kryptowährungskontrakte

      this_week   OKEX futures contract for current week
      next_week   OKEX futures contract for next week
      quarter     OKEX futures contract for quarter
      
      XBTUSD      BITMEX Perpetual Contract
      
      rb888       Rebar main contract
      MA000       Methanol Index Contract
      rb1901      Rebar contract
      …and so on.
      

      img

      Wenn Sie den Vertrag festlegen, können Sie rb1901/rb1905 wählen Die Marktdaten sind rb1901, der Auftragshandel ist rb1905

    • Variablen

      Eine Variable ist ein Raum, der im Speicher des Computers geöffnet wird, um Daten zu speichern.

      Die erste Variable wird angegeben

      // Assign 1 to the variable a
      a:=1;
      

      In M Language wird eine einfache Unterscheidung vom Datenvolumen gemacht:

      1. Einwertdaten: nur ein Wert, z. B. 0, 1, 'abc
      2. Sequenzdaten: Eine Sequenz von Daten, die aus einem einzigen Satz einzelwertiger Daten besteht, z. B. Close (Schließpreis), wobei Close den Schließpreis von n Zyklen enthält [ 10.1, 10.2, 10.3, 10.4, 10. 5... ]

      Unterscheidung von Variable type

      1. String-Typ: muss Paket verwenden, String-Typ darf nicht direkt verwendet werden, müssen Sie die Funktion Ausgabe mit der Ansicht übereinstimmen
      INFO(CLSOE>OPEN,'OK!');
      
      1. Wertart: einschließlich Ganzzahlen, Zahl mit schwebender Komma (Dezimalzahl)
      // integer
      int:=2;
      
      // decimal
      float:=3.1;
      
      1. Boole-Typ, mit 1 (für wahr) oder 0 (für falsch): 1, 0, wahr oder falsch, z. B.: A:=1>0; nach Ausführung dieses Codes beträgt der Wert von A 1
      // The current period closing price is greater than -999, you will find that the return value of each cycle is 1, representing true, because the closing price is almost impossible to be negative
      Is_true:=Close>-999;
      
      1. Globale Variable
      VARIABLE:VALUE1:10;     // Declare a global variable with a value of 10 and execute only once.
      
      • Regeln für die Benennung

        In den meisten Systemen erlaubt die Variablenbezeichnung nicht die Verwendung von System reservierten Wörtern (eingebettete Variablennamen, Funktionsnamen), wie dem bekannten Close, C. Darüber hinaus sind reine Zahlen nicht erlaubt, oder Zahlen beginnen mit, und können nicht zu lang sein, verschiedene Systeme, und verschiedene Längengrenzen sind unterschiedlich. Ich glaube, dass M Language für Englischsprecher sehr freundlich ist. Ich empfehle Ihnen, die folgende Namenskonvention zu verwenden:

        Englisch + Unterstriche

        // output
        Move_avg_5:=MA(C,5);
        

        Wenn Sie Englisch bevorzugen, lassen Sie bitte die Leute die Bedeutung Ihrer Variablen so gut wie möglich verstehen. Verwenden Sie keine Namensmethoden wie: A1, AAA, BBB... Glauben Sie mir, nach ein paar Tagen, wenn Sie Ihren Indikatorkode erneut überprüfen, werden Sie aufgrund des Gedächtnismangels sehr schmerzhaft sein. Ebenso, wenn Sie Code an andere exportieren, muss die Denkweise des Lesers zusammengebrochen sein.

        Ich hoffe, es wird ein mächtiges Werkzeug für Ihre Analyse und Entscheidungsfindung.

    • Art der Daten

      Der Datentyp ist ein grundlegendes Konzept. In der Programmierung, wenn wir einer Variablen explizite Daten zuweisen, wird die Variable zum Typ der Daten selbst.

        1. Wertart:
        1、2、3、1.1234、2.23456 ……
        
        1. String-Typ (str):
        '1' 、'2' 、'3' ,string type must be wrapped with ''
        
        1. Sequenzdaten:
        a collection of data consisting of a series of single-valued data
        
        1. Boolean-Typ (Boolean):

        1 für wahr und 0 für falsch

        Beispiel

        // Declare a variable of a numeric type
        var_int := 1;
        // Declare a variable of sequence data
        var_arr := Close;
        // String type can not be declared separately, you need to combine functions
        INFO(C>O, 'rising line');
        
    • Betreiber

      Die für die Ausführung des Indikatorcodes verwendeten Operationen und Berechnungen, die das Symbol für die Beteiligungsoperation darstellen.

      • Zuweisungsbetreiber

        Wird verwendet, um einer Variablen einen Wert zuzuweisen

          1. :

          ein Doppelpunkt, der die Zuweisung und Ausgabe an das Diagramm darstellt (Zugestelldiagramm)

          Close1:Close;      // Assign Close to the variable Close1 and output it to the diagram
          
          1. :=

          Das kolon equal, das die Zuordnung darstellt, wird jedoch nicht in das Diagramm (Hauptdiagramm, Unterdiagramm...) ausgeführt und wird nicht in der Statusleiste angezeigt.

          Close2:=Close;     // Assign Close to the variable Close2
          
          1. ^^

          ^, zwei ^ Symbole stellen Zuordnungen dar, weisen den Variablen Werte zu und führen sie in das Diagramm (Hauptdiagramm) aus.

          lastPrice^^C;
          
          1. ..

          Das Symbol stellt die Zuweisung dar, weist der Variablen einen Wert zu und zeigt ihn in der Statusleiste an, führt ihn aber nicht in das Diagramm (Hauptdiagramm, Unterdiagramm...).

          openPrice..O
          
      • Relationaler Operator

        Relationale Operatoren sind binokulare Operatoren, die in bedingten Ausdrücken verwendet werden.

        Rückgabewert: Boolean-Typ, nicht wahr (1), muss falsch sein (0)

          1. Größer als >
          // Assign the result of 2 > 1 to the rv1 variable, at this time rv1=1
          Rv1:=2>1;
          
          1. Weniger als <
          // returns false, which is 0, because 2 is greater than 1. :-)
          rv3:=2<1;
          
          1. Größer als oder gleich >=
          x:=Close;
          // Assign the result of the operation with a closing price greater than or equal to ¥ 10 to the variable rv2
          // Note that since “close” is a sequence of data, when the close>=10 operation is performed, the essence is that each cycle is performed, so each cycle will have a return value of 1, 0.
          rv2:=Close>=10;
          
          1. Weniger als oder gleich <=
          Omitted here
          
          1. Gleich =
          A:=O=C;     // Determine if the opening price is equal to the closing price.
          
          1. Nicht gleich <>
          1<>2       // Judgment weather 1 is equal to 2 or not, the return value is 1 (true)
          
      • Logische Operatoren

        Return value: Boolean type, not true (1), must be false (0)
        
        1. Logik und && können stattdessen und verwenden, und die linken und rechten Seiten der Verbindung müssen gleichzeitig wahr sein.
        // determine whether cond_a, cond_b, cond_c is true at the same time,
        cond_a:=2>1;
        cond_b:=4>3;
        cond_c:=6>5;
        cond_a && cond_b and cond_c;    // return value 1, true
        
        1. In der Logik kann man stattdessen or verwenden, or verknüpft die linke und rechte Seite, solange die eine Seite wahr ist, ist das Ganze wahr (zurückgegeben wahr)
        cond_a:=1>2;
        cond_b:=4>3;
        cond_c:=5>6;
        cond_a || cond_b or cond_c;    // return value 1, true
        
      • Arithmetischer Operator

        Return value: numeric type
        

        Es ist die Vervollständigung des Symbols der grundlegenden arithmetischen Operatoren, das das Symbol ist, das zur Verarbeitung der vier arithmetischen Operationen verwendet wird.

        • Plus +

          A:=1+1;      // return 2
          
        • Subtrahieren -

          A:=2-1;      // return 1
          
        • Multiplizieren *

          A:=2*2;      // return 4
          
        • Teilen Sie durch /

          A:=4/2;      // return 2
          
    • Funktion

      • Funktion

        In der Welt der Programmierung ist eine funktion eigentlich ein Stück Code, das eine bestimmte Funktion implementiert und durch anderen Code aufgerufen werden kann.

        function(param1,param2,……)
        
        • Zusammensetzung:

          Der Funktionsname (Parameter 1, Parameter 2,...), es kann keine Parameter geben, es kann mehrere Parameter geben, z. B. MA(x, n); stellt einen einfachen gleitenden Durchschnitt des inneren x dar, der n Zyklen zurückgibt, wobei MA() eine Funktion ist, x und n die Parameter der Funktion sind.

          Wenn wir eine Funktion verwenden, müssen wir die grundlegende Definition der Funktion verstehen, dh welche Daten durch Aufrufen der Funktion erhalten werden können. Im Allgemeinen haben Funktionen Parameter. Wenn wir Parameter übergeben, müssen wir sicherstellen, dass der übermittelte Datentyp konform ist. In der aktuellen Phase ist die Code-Hints-Funktion der meisten IDE sehr unvollkommen. Sie zeigen nicht die bestimmten Datentypen für die angegebenen Parameter, was uns einige Probleme bereitet. Die Interpretation von MA(x,n ist:

          Return a simple moving average
          usage:
          AVG:=MA(X,N): N's simple moving average of X, algorithm (X1+X2+X3+...+Xn)/N,N supports variables
          

          Als nächstes analysieren wir die Funktion gründlich und versuchen, einen Weg zu finden, um die Funktion schnell zu lernen und zu verwenden.

      • Rücklaufwert

        Um die Funktion schnell zu lernen, müssen wir zunächst ein Konzept verstehen, das return value genannt wird.

        // Because it will be used in the following code, use the variable return_value to receive and save the return value of function()
        // retrun_value := function(param1,param2);
        // for example:
        AVG:=MA(C,10); // AVG is retrun_value , “function” function is: MA function, param1 parameter: C is the closing price sequence data, param2 parameter: 10.
        
      • Parameter

        Zweitens, das zweite wichtige Konzept der Funktion ist der Parameter, indem Sie verschiedene Parameter geben, können Sie verschiedene Rückgabewerte erhalten.

        // variable ma5 receives 5 day closing price moving average
        ma5:=MA(C,5);
        // variable ma10 receives 10 day closing price moving average
        ma10:=MA(C,10);
        

        Der erste Parameter X der oben genannten Variablen ma5, ma10 ist C (Schlusskurs), in der Tat ist C auch eine Funktion (die Schlusskursfolge seit der Eröffnung zurückgibt), aber es hat keine Parameter. Der zweite Parameter 5, 10,Dies wird verwendet, um der MA () -Funktion zu sagen, wir wollen den gleitenden Durchschnitt des Schlusskurses für wie viele Tage erhalten, durch die Parameter wird die Funktion flexibler.

      • Wie man lernt

          1. Zuerst müssen Sie die Funktion der funktion verstehen, die Daten, die diese Funktion uns geben kann.
          1. Wenn wir den Typ des zurückgegebenen Wertes verstehen, dann verwenden wir die Funktion, um den zurückgegebenen Wert zu erhalten.
          1. Wir müssen den Datentyp des Parameters verstehen, MA (x, n), wenn Sie den Datentyp der Parameter x, n nicht kennen, können Sie den Rückgabewert nicht richtig erhalten.

        In der folgenden Funktion Einführung, verwenden, folgen Sie den oben genannten drei Prinzipien.

    • Sprachverstärkung

      • Mischte Programmierung zwischen M- und JavaScript-Sprache

        %%
        // here you can call any API function of FMZ Quant.
        scope.TEST = function(obj) {
            return obj.val * 100;
        }
        %% 
        

      Schlusskurs: C; Der Schlusskurs wird 100-mal vergrößert: TEST©; Der vorherige Schlusskurs wird 100-mal vergrößert: TEST(REF(C, 1)); // Die Maus bewegt sich zur Backtest-K-Linie und der Variablenwert wird angezeigt.

      
      - scope object
      
        scope object, you can add attributes and assign anonymous functions to attributes. An anonymous function referenced by this attributes can be called in the M language code section.
      
      - scope.getRefs(obj) function
      
        In the JavaScript code block, call the scope.getRefs(obj) function, which returns the data of the incoming obj object.
      
       The following %%%% of the symbolic package's JavaScript code will get the incoming C closing price when the TEST(C) function is called in the M language code.
        The scope.getRefs function returns all closing prices for this K-line data. Since the throw "stop" interrupt routine is used, the variable “arr” contains only the closing price of the first Bar of k-line. You can try to delete throw "stop" and it will execute the last return of the JavaScript code, returning all the closing price data.
        ```
        %%
        scope.TEST = function(obj){
            var arr = scope.getRefs(obj)
            Log("arr:", arr)
            throw "stop"
            return
        }
        %%
        TEST(C);
        ```
      
      - scope.bars
      
        In the JavaScript code block, access all K line bars.
      
        The TEST function returns a value, 1 is the falling k-line and 0 is the rising line.
        
        ```
        %%
        scope.TEST = function(){
            var bars = scope.bars
            return bars[bars.length - 1].Open > bars[bars.length - 1].Close ? 1 : 0    // can only return values
        }
        %%
        arr:TEST;                                                                      
        ```
      
        ```
        # Note:
        # TEST Received anonymous function, the return value must be a numeric value
        # If the anonymous function has no parameters, write VAR:=TEST directly when calling TEST; write VAR:=TEST(); will report an error.
        # TEST in #scope.TEST must be uppercase.
        ```
      
      - scope.bar
      
        In the JavaScript code block, access the current bar.
      
        Calculate the average of “opening high but closing low” of k-line’s prices.
      
        ```
        %%
        scope.TEST = function(){
            var bar = scope.bar
            var ret = (bar.Open + bar.Close + bar.High + bar.Low) / 4
            return ret
        }
        %%
        avg^^TEST;
        ```
      
      - scope.depth
      
        Access the market depth data (order book)
      
        ```
        %%
        scope.TEST = function(){
            Log(scope.depth)
            throw "stop"             // Throw an exception after printing the depth data, pause.
        }
        %%
        TEST;
        ```
      
      - scope.symbol
      
        Get the current trading pair name string
      
        ```
        %%
        scope.TEST = function(){
            Log(scope.symbol)
            throw "stop"
        }
        %%
        TEST;
        ```
      
      - scope.barPos
      
        Get the K line Bar location.
      
        ```
        %%
        scope.TEST = function(){
            Log(scope.barPos)
            throw "stop"
        }
        %%
        TEST;
        ```
      
      - scope.get\_locals('name')
      
        This function is used to get the variables in the M language code part
      
        ```
        V:10;
        %%
        scope.TEST = function(obj){
            return scope.get_locals('V')
        }
        %%
        GET_V:TEST(C);
        ```
      
        ```
        # Note:
        # If a variable does not calculate data when the period is insufficient, this time the scope.get_locals function is called in the JavaScript code.
        # When get this variable, it will give an error: line:XX - undefined locals a variable name undefined
        ```
      
      
    • Mehrzyklusbezogene Referenz

      • Verwenden Sie: #EXPORT Formel Name... #END um eine Formel zu erstellen. Wenn Sie nur Daten für verschiedene Perioden erhalten möchten, können Sie auch eine leere Formel ohne Formelberechnung schreiben.

        Die leere Formel lautet:

        #EXPORT TEST 
        NOP;
        #END           // End
        
      • Verwendung: #IMPORT [MIN, Zeitraum, Formelname] AS-Variabelwert, Referenzformel, erhalten Sie die Daten des festgelegten Zeitraums (Schlusskurs, Eröffnungskurs usw., erhalten durch Variabelwert).

        Codebeispiel:

        // this code demonstrates how to reference formulas of different cycles in the same code
        // #EXPORT extends the syntax, ending with #END as a formula, you can declare multiple
        #EXPORT TEST 
        Mean 1:EMA(C, 20);
        Mean 2:EMA(C, 10);
        #END // End
        
        #IMPORT [MIN,15,TEST] AS VAR15 // Reference formula, K line cycle is 15 minutes
        #IMPORT [MIN,30,TEST] AS VAR30 // Reference formula, K line cycle is 30 minutes
        CROSSUP(VAR15.Mean1, VAR30.Mean1),BPK;
        CROSSDOWN(VAR15.Mean2, VAR30.Mean2),SPK;
        The highest price of 15 mins:VAR15.HIGH;
        The highest price of 30 mins:VAR30.HIGH;
        AUTOFILTER;
        
    • Beschreibung des Modus

      • 1、Ein Modell zur Filterung von Signalen in einer Öffnungs- und einer Schließposition

        In dem Modell wird die Funktion AUTOFILTER geschrieben, um die Signalfilterung einer Öffnung und einer Schließung zu steuern und zu realisieren. Wenn mehrere Öffnungs-Positionssignale die Bedingung erfüllen, wird das erste Signal als wirksames Signal angenommen und das gleiche Signal auf der nachfolgenden k-Linie wird ausgefiltert.

        Filtermodell unterstützt Befehle: BK, BP, BPK, SK, SP, SPK, CLOSEOUT, unterstützt nicht BK (5) und andere Befehle mit Partien

        E.g:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(C,MA1),BK;
        CROSSUP(MA1,MA2),BK;
        C>BKPRICE+10||C<BKPRICE-5,SP;
        AUTOFILTER;
        
      • 2, addieren oder subtrahieren Positionsmodell

        Die AUTOFILTER-Funktion ist nicht im Modell geschrieben und erlaubt ein kontinuierliches Öffnungs- oder Schließungssignal, mit dem die Position erhöht oder verringert werden kann.

        Unterstützte Befehle: BK(N), BP(N), SK(N), SP(N), CLOSEOUT, BPK(N), SPK(N, unterstützen keine offene und nahe Position ohne Los. (1)Gruppierung von Anweisungen zur Unterstützung. (2)Wenn mehrere Befehlbedingungen gleichzeitig erfüllt sind, werden die Signale in der Reihenfolge ausgeführt, in der die bedingten Anweisungen geschrieben werden. Zum Beispiel:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(C,MA1),BK(1);
        CROSSUP(MA1,MA2),BK(1);
        C>BKPRICE+10||C<BKPRICE-5,SP(BKVOL);
        
      • 3、eine K-Linie mit einem Signalmodell

        Eine K-Linie mit einem Signalmodell kann in ein Schlusspreismodell und ein Anweisungspreismodell unterteilt werden.

        1)Schließpreismodell

        Die K-Linie geht durch das Berechnungssignal, um eine Bestellung zu platzieren (die Berechnung wird auch während der Bildung einer K-Linie durchgeführt. Zu diesem Zeitpunkt wird das Signal unsicher sein, und das Signal, das angezeigt wird, wenn die k-Linie nicht fertig ist, wird ignoriert und keine Bestellung erteilt)

        Die Signalrichtung stimmt mit der Richtung der Warteposition überein und es gibt keinen Signalverschwindungszustand.

        E.g:
        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BPK;//5 cycle moving average line up cross 10 cycle moving average line to buy long.
        CROSSDOWN(MA1,MA2),SPK;//5 cycle moving average line down cross 10 cycle moving average line to sell short.
        AUTOFILTER;
        

        2)Instruktionspreismodell

        Unabhängig davon, ob die K-Linie abgeschlossen ist oder nicht, wird das Signal berechnet und der Auftrag in Echtzeit erteilt, d. h. der Auftrag wird erteilt, bevor die K-Linie abgeschlossen ist.

        Wenn die Richtung der Position nicht der Richtung des Signals am Ende der K-Linie entspricht, wird die Position automatisch synchronisiert.

        E.g:

        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BPK;//5 cycle moving average line up cross 10 cycle moving average line to buy long.
        CROSSDOWN(MA1,MA2),SPK;//5 cycle moving average line down cross 10 cycle moving average line to sell short.
        AUTOFILTER;
        
      • 4、Eine K-Linie mit mehrfachem Signalmodell

        Das Modell verwendet ein Multsig oder Multsig_min, um mehrere Signale von einer einzigen K-Linie zu steuern und zu implementieren.

        Unabhängig davon, ob die k-Linie abgeschlossen ist, berechnen Sie das Signal und platzieren Sie eine Echtzeit-Bestellung.

        Das Signal wird nicht überprüft, es gibt keinen Signalverlust und die Signalrichtung entspricht der Position.

        Wiederholte mehrfache Ausführungen in einer K-Linie, wenn mehrfache Signalbedingungen erfüllt sind

        E.g:
        MA1:MA(CLOSE,5);
        MA2:MA(CLOSE,10);
        CROSSUP(MA1,MA2),BK;
        C>BKPRICE+10||C<BKPRICE-5,SP;
        AUTOFILTER;
        MULTSIG(0,0,2,0);
        

        Ergänzung: 1,Zum Summieren und Subtrahieren von Positionsmodellen werden zwei Methoden eines k-Liniensignals unterstützt: die Order zum Preisschließen und die Order zum Preisinstruction.

        2、Zusatz- und Subtraktionsmodell unterstützt auch ein einziges k-Liniensignal zur Auftragsgabe.

        Zusatz- und Subtraktionsmodell, schreiben Sie die Multsig- oder Multsig_min-Funktion, realisieren Sie mehrere Male das Adding und Subtrahieren der Position auf einer k-Zeile oder reduzieren Sie die Position mehrmals.

    • Anzeige des Diagramms

      • Hauptdiagramm zusätzlicher Indikator

        Verwenden Sie den Operator ^^, um den auf dem Hauptbild anzuzeigenden Indikator festzulegen, während der Variablen Werte zugewiesen werden.

        MA60^^MA(C, 60);  // Calculate the moving average indicator with a parameter of 60
        

        img

      • Unterdiagramm zusätzlicher Indikator

        Verwenden Sie den Operator :, um den auf dem Sekundärdiagramm anzuzeigenden Indikator festzulegen, während der Variablen Werte zugewiesen werden.

        ATR:MA(MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)),26);    // Assign a value to the ATR variable, The ":" symbol is followed by the formula for calculating the ATR
        

        Wenn Sie nicht auf dem Haupt-oder Unterdiagramm angezeigt werden wollen Verwenden Sie den Operator ...

        MA60..MA(C, 60);  // Calculate the moving average indicator with a parameter of 60
        

        Sie können DOT und COLORRED verwenden, um den Zeilentyp, die Farbe usw. entsprechend den Gewohnheiten von Benutzern zu setzen, die mit der M-Sprache vertraut sind.

    • Ein gemeinsames Problem

      Einführung der Probleme, die häufig bei der Erstellung von Indikatoren auftreten, in der Regel die Punkte, die bei der Erstellung der Indikatoren berücksichtigt werden müssen. (Weiterlesen)

      • Achten Sie auf das Ende von ;.

      • Beachten Sie, dass Systemschlüsselwörter nicht als Variablen deklariert werden können.

      • Beachten Sie, dass die Zeichenfolge einzelne Anführungszeichen verwendet, zum Beispiel: öffnung nur ein Anführungszeichen.

      • Kommentar

        Anmerkung

        • // The content of the comment(die Eingabemethode kann sowohl in Englisch als auch in Chinesisch eingegeben werden), was bedeutet, dass der Code nicht während des Ausführungsprozesses kompiliert wird, das heißt, er führt nicht // den Inhalt dahinter aus.

        • { Comment content }Blockieren Sie den Kommentar.

          A:=MA(C,10);
          {The previous line of code is the calculation of the moving average.}
          
        • (* Comment content *)Blockieren Sie den Kommentar.

          A:=MA(C,10);
          (*The previous line of code is the calculation of the moving average.*)
          
      • Eingabemethode

        Wenn man Code schreibt, verursacht es oft einen Symbolfehler, weil die Eingabemethode zwischen Chinesisch und Englisch wechselt.

      • Fehleranfällige Logik

        1. Mindestens 0, nicht weniger als 0, nicht weniger als: Entsprechender Relationsoperator>=
        2. Höchstens höchstens nicht mehr: Entsprechender Relationsoperator<=
  • Referenz für die Daten der Zeile K

    • Öffnen

      Erhalten Sie den Eröffnungspreis des K-Liniendiagramms

      Eröffnungspreis

      Funktion: OPEN, kurz O

      Parameter: Keine

      Erläuterung: Geben Sie den Anfangspreis des Zyklus zurück

      Sequenzdaten

      OPEN obtained the opening price of the K-line chart.
      
      Note:
      1、can be shorthand as O.
      
      example 1:
      OO:=O;           //Define OO as the opening price; pay attention to the difference between O and 0.
      example 2:
      NN:=BARSLAST(DATE<>REF(DATE,1));
      OO:=REF(O,NN);   //Get the opening price of the day
      example 3:
      MA5:=MA(O,5);    //Define the 5-period moving average of the opening price (O is OPEN shorthand).
      
    • HIGH

      Erhalten Sie den höchsten Preis des K-Liniendiagramms

      Höchster Preis

      Funktion:HIGH, abgekürzt als H

      Parameter: Keine

      Erklärung: Rückgabe des höchsten Preises des Zyklus

      Sequenzdaten

      HIGH Get the highest price of the K-line chart.
      
      Note:
      1、can be shorthand as H.
      
      example 1:
      HH:=H;         //Define HH as the highest price.
      example 2:
      HH:=HHV(H,5);  //Take the maximum value of the highest price within 5 cycles.
      example 3:
      REF(H,1);      //Take the highest price of the previous K line
      
    • Niedrig

      Holen Sie sich den niedrigsten Preis des K-Liniendiagramms

      Der niedrigste Preis

      Funktion: LOW, abgekürzt als L

      Parameter: Keine

      Erläuterung: Gibt den niedrigsten Preis des Zyklus zurück.

      Sequenzdaten

      LOW gets the lowest price of the K-line chart.
      
      Note:
      1、can be shorthand as L.
      
      example 1:
      LL:=L;            //Define LL as the lowest price.
      example 2:
      LL:=LLV(L,5);     //Get the minimum value of the lowest price in 5 cycles.
      example 3:
      REF(L,1);         //Get the lowest price of the previous K line
      
    • Nähe

      Holen Sie sich den Schlusskurs des K-Liniendiagramms

      Schlusskurs

      Funktion: CLOSE, kurz C.

      Parameter: Keine

      Erläuterung: Geben Sie den Schlusskurs des Zyklus zurück

      Sequenzdaten

      CLOSE Get the closing price of the K-line chart.
      
      Note:
      1、When the k-line in the market is not finished, get the latest price.
      2、Can be shorthand as C.
      
      example 1:
      A:=CLOSE;          //Define the variable A as the closing price (A is the latest price when the k line is not finished).
      example 2:
      MA5:=MA(C,5);      //Define the 5-period moving average of the closing price (C is short for CLOSE).
      example 3:
      A:=REF(C,1);       //Get the closing price of the previous k line.
      
    • VOL

      Holen Sie sich das Volumen des K-Liniendiagramms

      Handelsvolumen

      Funktion: VOL, abgekürzt als V

      Parameter: Keine

      Erläuterung: Geben Sie die Lautstärke dieses Zyklus zurück.

      Sequenzdaten

      VOL gets the volume of the K-line chart.
      
      Note:
      Can be shorthand as V.
      The return value of this function on the root TICK is the cumulative value of all TICK transactions for the day.
      
      example 1:
      VV:=V;       //Define VV as volume
      example 2:
      REF(V,1);    //indicates the volume of the previous cycle
      example 3:
      V>=REF(V,1); //The volume is greater than the volume of the previous cycle, indicating that the volume increases (V is short for VOL).
      
    • Referenzbericht

      Vorläufige Referenzen

      Reference the value of X before N cycles.
      
      Note:
      1、When N is a valid value, but the current number of k lines is less than N, a null value is returned;
      2、When N is 0, the current X value is returned;
      3、When N is null, it returns a null value.
      4、N can be a variable
      
      example 1:
      REF(CLOSE,5); indicates the closing price of the 5th cycle before the current cycle
      example 2:
      AA:=IFELSE(BARSBK>=1,REF(C,BARSBK),C);//Take the closing price of the K line of latest buying long of the open position signal
      //1) When the k-line BARSBK of the BK signal returns a null value, the k-line REF(C, BARSBK) of the BK signal is returned.
      Null value;
      //2)When the BK signal is sent, the k-line BARSBK returns a null value, and if the BARSBK>=1 is not satisfied, then send the closing price of the k-line.
      //3)The k-line BARSBK after the BK signal is sent returns the number of cycles of the K-line of the open position from the current K-line, REF(C, BARSBK)
      Returns the closing price of the opening k line.
      //4)Example: 1, 2, 3 three k lines, 1 K line is the opening position signal K line, then return the closing price of this k line, 2, 3
      K line returns the closing price of the 1 K line.
      
    • Einheit

      Nehmen wir die Transaktionseinheit des Datenvertrags.

      Take the trading unit of the data contract.
      usage:
      UNIT takes the trading unit of the data loading contract.
      

      Futures für Rohstoffe

      Der Wert der UNIT ist mit dem Vertrag verbunden

      rb contract - 1 hand, 10 (tons)
      

      Kryptowährungs-Spot

      UNIT-Wert ist 1

      Futures für Kryptowährungen Wert in UNIT bezieht sich auf die Vertragswährung

      OKEX Futures: 1 BTC contract represents $100, and 1 contract in other currencies represents $10
      
    • MINPRICE

      Mindestpreisänderung für Datenverträge

      Take the minimum price change of the data contract.
      usage:
      MINPRICE; Take the minimum price change for loading data contracts.
      
    • MINPRICE1

      Mindeständerung des Handelsvertrags

      Take the minimum price change of the trading contract.
      usage:
      MINPRICE1; Take the minimum price change of the trading contract.
      
  • Zeitfunktion

    • BARPOS

      Take the position of the K line
      
      BARPOS,returns the number of cycles from the first K line to the current cycle.
      
      Note:
      1、BARPOS returns the number of existing K lines in the local area, starting from the data existing on the local machine.
      2、The return value of the first K line already on the local machine is 1.
      
      example 1:LLV(L,BARPOS);//Find the minimum value of the local existing data.
      
      example 2:IFELSE(BARPOS=1,H,0);//The current K line is the highest value of the first K line already in the local machine, otherwise it is 0.
      
    • Zeit

      Der Periodenwert ist die Anzahl der Minuten.

      1, 3, 5, 15, 30, 60, 1440
      
    • Datum

      Datum

      Funktion:DATE

      Parameter: Keine

      Erläuterung: Das Datum des Zyklus ab 1900 erhalten

      Sequenzdaten

    • Zeit

      Nehmen Sie die Zeit der K-Linie

      TIME,take the K line time.
      
      Note:
      1、The function returns in real time on the real-market, and returns the start time of the K line after the K line is finished.
      2、The function returns the exchange data reception time, which is the exchange time.
      3、The TIME function returns a six-digit form when used in the second period, ie: HHMMSS, which is displayed in four-digit form on other periods, namely: HHMM.
      4、The TIME function can only be loaded in the period below the daily period. The return value of the function is always 1500 in the period above the daily period (Included the daily period).
      5、use the TIME function to close the position of the tail operation needs attention
      (1) The time set by the end of the closing position is recommended to be set to the actual time that can be taken in the K line return value (eg, the RB index is 5 minutes, the last K line return time is 1455, and the tail closing position is set to TIME> =1458, CLOSEOUT; the signal that the tail is closed can not appear in the effect test)
      (2)	Using the TIME function as the condition for closing the position at the end of the market, it is recommended to open position condition also to make the corresponding time limit (such as setting the closing condition of the tail to TIME>=1458, CLOSEOUT; then the corresponding opening conditions are required Add condition TIME<1458; avoid opening the position again after closing the position)
      
      example 1:
      C>O&&TIME<1450,BK;
      C<O&&TIME<1450,SK;
      TIME>=1450,SP;
      TIME>=1450,BP;
      AUTOFILTER;
      //Close the position after 14:50.
      example 2:
      ISLASTSK=0&&C>O&&TIME>=0915,SK;
      
    • Jahr

      Jahre

      YEAR,the year is obtained.
      
      Note:
      YEAR ranges from 1970—2033。
      
      example 1:
      N:=BARSLAST(YEAR<>REF(YEAR,1))+1;
      HH:=REF(HHV(H,N),N);
      LL:=REF(LLV(L,N),N);
      OO:=REF(VALUEWHEN(N=1,O),N);
      CC:=REF(C,N);//take the highest price, the lowest price, the opening price, and the closing price of the previous year.
      example 2:
      NN:=IFELSE(YEAR>=2000 AND MONTH>=1,0,1);
      
    • Monat

      Gibt den Monat eines Zyklus zurück

      MONTH, returns the month of a cycle.
      
      Note:
      MONTH has a value range of 1-12.
      
      example 1:
      VALUEWHEN(MONTH=3&&DAY=1,C);//The closing price is taken when the K-line date is March 1.
      example 2:
      C>=VALUEWHEN(MONTH<REF(MONTH,1),O),SP;
      
    • Tag

      Erhalten Sie die Anzahl der Tage in einem Zyklus

      DAY, returns the number of days in a cycle.
      
      Note:
      The DAY value ranges from 1-31.
      
      example 1:
      DAY=3&&TIME=0915,BK;//From the date of 3 days, the time is 9:15, buy long.
      example 2:
      N:=BARSLAST(DATE<>REF(DATE,1))+1;
      CC:=IFELSE(DAY=1,VALUEWHEN(N=1,O),0);//When the date is 1, the opening price is taken, otherwise the value is 0.
      
    • Uhrzeit

      Uhrzeit

      HOUR,Returns the number of hours in a cycle.
      
      Note:
      HOUR ranges from 0 to 23
      
      example 1:
      NX:=BARSLAST(CROSS(HOUR=9,0.5));
      DRAWLINE3(CROSSDOWN(HOUR=14,0.5),REF(H,NX),NX,CROSSDOWN(HOUR=14,0.5),REF(H,1),1,0),COLORGREEN;
      //Connect 9:00 to the latest k-line high point before the market close.
      example 2:
      HOUR=10;//The return value is 1 on the K line at 10:00, and the return value on the remaining K lines is 0.
      
    • Das ist eine Minute.

      Das ist eine Minute.

      MINUTE, Returns the number of minutes in a cycle.
      
      Note:
      1:MINUTE has a value range of 0-59
      2:This function can only be loaded on the minute period, returning the number of minutes since the current K line.
      example 1:
      MINUTE=0;//The return value on the minute K line at the beginning of an hour is 1, and the remaining K lines return a value of 0.
      example 2:
      TIME>1400&&MINUTE=50,SP;//close position at 14:50.
      
    • Tag der Woche

      Die Anzahl der Wochen

      WEEKDAY, get the number of weeks.
      
      Note:
      1:WEEKDAY has a value range of 0-6.
      2:The value displayed by the function on the weekly cycle is always 5, and the number of weeks on the day of the end of the K line is returned on the monthly cycle.
      
      example 1:
      N:=BARSLAST(MONTH<>REF(MONTH,1))+1;
      COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP;
      COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP;
      AUTOFILTER;//each month delivery date is automatically closed all position at the end of that day.
      example 2:
      C>VALUEWHEN(WEEKDAY<REF(WEEKDAY,1),O)+10,BK;
      AUTOFILTER;
      
  • Funktion des logischen Urteils

    • BARSTATUS

      Gibt den Stand der Position des aktuellen Zyklus zurück

      BARSTATUS returns the position status of the current cycle.
      
      Note:
      The function returns 1 to indicate that the current cycle is the first cycle, return 2 to indicate the last cycle, and return 0 to indicate that the current cycle is in the middle position.
      
      example:
      A:=IFELSE(BARSTATUS=1,H,0); //If the current K line is the first cycle, the variable A returns the highest value of the K line, otherwise it takes 0.
      
    • Zwischen

      Zwischen

      BETWEEN(X,Y,Z) indicates whether X is between Y and Z, and returns 1 (Yes), otherwise returns 0 (No).
      
      Note:
      1、If X=Y, X=Z, or X=Y and Y=Z, the function returns a value of 1 (Yse).
      
      example 1:
      BETWEEN(CLOSE,MA5,MA10); //indicates that the closing price is between the 5-day moving average and the 10-day moving average.
      
    • Kreuze

      Kreuzfunktion

      CROSS(A,B) means that A passes B from the bottom to up, and returns 1 (Yes), otherwise it returns 0 (No).
      
      Note:
      1、The conditions for crossing must satisfy A<=B of pervious k line, and it is confirmed as crossing when the current k-line satisfies A>B.
      
      example 1:
      CROSS(CLOSE,MA(CLOSE,5)); //means the crossing line from below through the 5-period moving average
      
    • Überschneidung

      Überqueren

      CROSSDOWN(A,B):indicates that when A down crossing B from above, it returns 1 (Yes), otherwise it returns 0 (No).
      
      Note:
      1、CROSSDOWN (A, B) is equivalent to CROSS (B, A), CROSSDOWN (A, B) is written to better understand
      
      example 1:
      MA5:=MA(C,5);
      MA10:=MA(C,10);
      CROSSDOWN(MA5,MA10),SK; //MA5 down cross MA10, sell short
      //CROSSDOWN(MA5,MA10),SK; and CROSSDOWN(MA5,MA10)=1, SK; express the same meaning
      
    • KRSSUP

      Überqueren

      CROSSUP(A,B) When A passes up from bottom to B, it returns 1 (Yes), otherwise it returns 0 (No)
      
      Note:
      1、CROSSUP (A, B) is equivalent to CROSS (A, B), CROSSUP (A, B) is written to better understand.
      
      example 1:
      MA5:=MA(C,5);
      MA10:=MA(C,10);
      CROSSUP(MA5,MA10),BK;//MA5 cross up MA10, buy long.
      //CROSSUP(MA5,MA10),BK; and CROSSUP(MA5,MA10)=1, BK; express the same meaning
      
    • Jeder

      Bestimmen, ob die Anforderung weiterhin erfüllt wird

      EVERY(COND,N),judge whether the COND condition is always satisfied in the N period. If it is, the function returns a value of 1; if it is not, the function returns a value of 0;
      
      Note:
      1、N contains the current k line.
      2、If N is a valid value, but there are not many K lines in front of it, or N is a null value, the condition is not satisfied, and the function returns 0.
      3、N can be a variable
      
      example 1:
      EVERY(CLOSE>OPEN,5);//indicates that it has been a positive line for 5 cycles.
      example 2:
      MA5:=MA(C,5);//Define a 5-cycle moving average
      MA10:=MA(C,10);//Define the 10-cycle moving average
      EVERY(MA5>MA10,4),BK;//MA5 is greater than MA10 in 4 cycles, then buy long.
      //EVERY(MA5>MA10,4),BK; and EVERY(MA5>MA10,4)=1, BK; express the same meaning
      
    • BESTÄNDEN

      Ermitteln Sie, ob Sie zufrieden sind

      EXIST(COND,N) determines whether there are conditions for satisfying COND in N cycles
      
      Note:
      1、N contains the current k line.
      2、N can be a variable.
      3、If N is a valid value, but there are not many K lines in front of it, calculate according to the actual number of cycles.
      
      example 1:
      EXIST(CLOSE>REF(HIGH,1),10);indicates whether there is a maximum price in the 10 cycles that is greater than the previous period, if it exist, return 1, and if it does not exist, returns 0.
      example 2:
      N:=BARSLAST(DATE<>REF(DATE,1))+1;
      EXIST(C>MA(C,5),N);//Indicates whether there is a k line that meets the closing price greater than the 5-period moving average. If it exist, return 1, and if it does not exist, return 0.
      
    • Wenn

      Bedingte Funktion

      IF(COND,A,B) Returns A if the COND condition is true, otherwise returns B
      
      Note:
      1、COND is a judgment condition; A and B can be conditions or numerical values.
      2、the function supports the variable loop to reference the previous period of its own variable, that is, support the following writing method Y: IF (CON, X, REF (Y, 1));
      example 1:
      IF(ISUP,H,L);// k line is the rising line, take the highest price, otherwise take the lowest price
      example 2:
      A:=IF(MA5>MA10,CROSS(DIFF,DEA),IF(CROSS(D,K),2,0));//When MA5>MA10, take whether DIFF is cross up the DEA, otherwise (MA5 Not greater than MA10), when K, D is down crossing, let A be assigned a value of 2. If the above conditions are not met, A is assigned a value of 0.
      A=1,BPK;//When MA5>MA10, use DIFF cross up DEA as the buying long condition
      A=2,SPK;//When MA5 is not greater than MA10, K D down crossing are used as selling short conditions
      
    • IFELSE

      Bedingte Funktion

      IFELSE(COND,A,B) Returns A if the COND condition is true, otherwise returns B
      
      Note:
      1、COND is a judgment condition; A and B can be conditions or numerical values.
      2、the function supports the variable loop to refer to the previous period of its own variable, that is, supports the following writing method Y: IFELSE (CON, X, REF (Y, 1));
      example 1:
      IFELSE(ISUP,H,L);//k line is the rising line, take the highest price, otherwise take the lowest price
      example 2:
      A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0)); //When MA5>MA10, whether DIFF up cross DEA, otherwise (MA5 Not greater than MA10), when K, D down cross, let A be assigned a value of 2. If the above conditions are not met, A is assigned a value of 0.
      A=1,BPK;//When MA5>MA10, use DIFF up cross DEA as the buying long condition
      A=2,SPK;//When MA5 is not greater than MA10, K, D down cross are used as selling short conditions
      
    • Innerhalb des Vertrages

      Wetter der derzeitigen Vertrag ein bestimmter Vertrag

      weather ISCONTRACT(CODE) is currently the specified contract.
      
      Usage:ISCONTRACT(CODE); is the current contract returns 1, not the current contract returns 0.
      
      Note:
      1、When judging whether it is a specified contract, CODE can be the transaction code of the contract.
      
      example:
      ISCONTRACT('MA888');
      ISCONTRACT('rb1901');
      ISCONTRACT('this_week');    // cryptocurrency OKEX Futures Contract
      ISCONTRACT('XBTUSD');       // cryptocurrency BITMEX Futures Contract
      

      Unterstützung von regulären Ausdrücken

      Festlegung des Vertrages

      ISCONTRACT('this_week');                     // Determine if the current contract is OKEX futures this_week (week) contract
      

      Beurteilung des Namens der Börse

      ISCONTRACT('@Futures_(CTP|BitMEX)');         // Determine whether the current exchange object is a commodity futures or a cryptocurrency BITMEX futures exchange
      ISCONTRACT('@(OKEX|Bitfinex|Futures_CTP)');  // To determine the exchange, you need to add @ character at the beginning
      
    • Abwärts

      Fallende K-Linie

      ISDOWN determines whether the cycle is falling
      
      Note:
      1、ISDOWN is equivalent to C<O
      
      example:
      ISDOWN=1&&C<REF(C,1),SK;//When the current k line is finished and the closing price is lower than the closing price of the previous period, then selling short
      //ISDOWN=1&&C<REF(C,1),SK; is equivalent to ISDOWN&&C<REF(C,1),SK;
      
    • ISEQUAL

      Der Eröffnungspreis entspricht dem Schlusskurs

      ISEQUAL determines if the cycle is "The opening price equal to closing price"
      
      Note:
      1、ISEQUAL is equivalent to C=O
      
      example 1:
      EVERY(ISEQUAL=1,2),CLOSEOUT; //continue for 2 k lines are “The opening price equal to closing price
      

, dann schließen Sie alle Positionen.

```
  • ISLASTBAR

    Bestimmen Sie, ob der Zyklus die letzte K-Linie ist

    ISLASTBAR determines if the cycle is the last k line
    
    example 1:
    VALUEWHEN(ISLASTBAR=1,REF(H,1));//The current k-line is the last k-line, taking the highest price of the previous cycle.
    
  • ISNULL

    Bestimmung von Null

    ISNULL determine whether it is null or not
    
    Usage:ISNULL(N);if N is null, the function returns 1; if N is non-null, the function returns 0.
    
    Example: MA5:=IFELSE(ISNULL(MA(C,5))=1, C,MA(C,5));//Define a five-period moving average. When the number of K-lines is less than five, return the current K-line closing price.
    
  • ISUP

    Aufsteigende Linie

    ISUP determines whether the cycle is rising
    
    Note:
    1、ISUP is equivalent to C>O
    
    example:
    ISUP=1&&C>REF(C,1),BK;   //If the current k line is a rising k line and the closing price is greater than the closing price of the previous period, then buying long.
                             //ISUP=1&&C>REF(C,1),BK; and ISUP&&C>REF(C,1),BK;
                             //Express the same meaning
    
  • Letzter

    Bestimmung der Funktion

    LAST(COND,N1,N2) Determines whether the COND condition has been met for the past N1 to N2 cycles.
    
    Note:
    1、If N1 and N2 differ by only one cycle (eg, N1=3, N2=2), the function judges whether the condition is satisfied on the cycle closest to the current K line (ie, whether the K line in the past N2 cycles is meeting the conditions)
    2、When N1/N2 is a valid value, but the current k-line number is less than N1/N2, or N1/N2 null, means is not true, and the function returns 0.
    3、N1 and N2 cannot be variables.
    
    example 1:
    LAST(CLOSE>OPEN,10,5); // indicates that it has been a rising line from the 10th cycle to the 5th cycle in the past.
    example 2:
    MA5:=MA(C,5);
    LAST(C>MA5,4,3);//determine whether the K line from the current k-line 3 cycles satisfies “C greater than MA5”.
    
  • Längenkreuz

    Beibehalten der Kreuzfunktion

    LONGCROSS(A,B,N) indicates that A is less than B in N cycles, and this cycle A up cross B from bottom to top.
    
    Note:
    1、When N is a valid value, but the current k-line number is less than N, the LONGCROSS function returns a null value.
    2、N does not support variables.
    
    example 1:
    LONGCROSS(CLOSE,MA(CLOSE,10),20); //indicates that the closing price continues below the 10-day moving average for 20 cycles and then up cross the 10-day moving average from bottom to top.
    
  • Nicht

    Nicht-

    NOT(X):Take a non. Returns 1 when X=0, otherwise returns 0.
    example 1:
    NOT(ISLASTBK); If the previous signal is not a BK signal, the NOT (ISLASTBK) returns a value of 1; the previous signal is a BK signal, and the NOT (ISLASTBK) returns a value of 0.
    example 2:
    NOT(BARSBK>=1)=1;//The BK signal is sent to the current K line to satisfy the condition.
    //NOT(BARSBK>=1)=1 is equivalent to NOT (BARSBK>=1).
    
  • Null

    Null zurückgeben

    Return null
    usage:
    MA5:=MA(C,5);
    MA10:=MA(C,10);
    A:=IFELSE(MA5>MA10,MA5,NULL),COLORRED;//When MA5>MA10, draw the five-day moving average MA5, when MA5>MA10 is not satisfied, return null value, no drawing line.
    
  • WERTEWEN

    Wert

    VALUEWHEN(COND,X) Takes the current value of X when the COND condition is true. If the COND condition is not true, take the value of X when the COND condition is established last time.
    
    Note:
    X can be either a numerical value or a condition.
    
    example 1
    VALUEWHEN(HIGH>REF(HHV(HIGH,5),1),HIGH);indicates that the current highest price is greater than the maximum value of the highest price of the first five cycles and returns the current highest price.
    example 2:
    VALUEWHEN(DATE<>REF(DATE,1),O);indicates the opening price of the first k-line of the day
    example 3:
    VALUEWHEN(DATE<>REF(DATE,1),L>REF(H,1));//indicates whether the current lowest price on the first k line of the day is greater than the highest price of the last K line yesterday. Returns 1, indicating that there is a price gap on that day. Returns 0, indicating that there are no price gap on that day.
    
  • Funktion zur Ausführung der Schleife

    • Schleife 2

      Funktion der Schleifbedingung

      LOOP2(COND,A,B); loop condition function Returns A if the COND condition is true, otherwise returns B
      
      Note:
      1、COND is a judgment condition; A and B can be conditions or numerical values.
      2、the function supports variable loop reference to the previous period of its own variable, that is, support the following writing method Y: = LOOP2 (CON, X, REF (Y, 1));
      
      example 1:
      X:=LOOP2(ISUP,H,REF(X,1));//k line is the rising line, take the highest price of the current K line, otherwise take the highest price of the pervious K line that is a rising k line; if it has not appeared before, X returns null
      
      example 2:
      BB:=LOOP2(BARSBK=1,LOOP2(L>LV(L,4),L,LV(L,4)),LOOP2(L>REF(BB,1),L,REF(BB,1)));//When holding long position, the lowest price in the first 4 cycles of opening position k line is the starting stop loss point BB, if the lowest price of the subsequent K line is higher than the previous lowest price, taking the current lowest price as stop loss point, otherwise take the previous lowest point to be the stop loss point.
      SS:=LOOP2(BARSSK=1,LOOP2(H<HV(H,4),H,HV(H,4)),LOOP2(H<REF(SS,1),H,REF(SS,1)));// When holding short position, the highest price in the first 4 cycles of opening position k line is the starting stop loss point SS, if the highest price is lower than the previous highest price, taking the current highest price as stop loss point, Otherwise take the previous high point as stop lose points
      H>HV(H,20),BK;
      L<LV(L,20),SK;
      C<BB,SP;
      C>SS,BP;
      AUTOFILTER;
      
      
  • Funktion der Finanzstatistik

    • Bar-Count

      Die Anzahl der Zyklen, die von der ersten gültigen Periode bis zur aktuellen

      BARSCOUNT(COND) The number of cycles that the first valid period to the current one
      
      Note:
      1、The return value is the number of cycles from which the COND is calculated from the first valid period and up to now.
      2、The return value of BARSCOUNT(COND) on the current k line on the condition that the condition is first established is 0.
      
      example:
      BARSCOUNT(MA(C,4));//The calculation MA(C,4) has the first return value to the current number of cycles.
      
    • Barslast

      Letzte festgestellte Bedingung wahr

      BARSLAST(COND):The last condition COND was established to the current number of cycles
      
      Note:
      1、The return value of BARSLAST(COND) on the current k line is 0.
      
      example 1:
      BARSLAST(OPEN>CLOSE); //The number of cycles from the previous falling k line to the present
      Example 2:
      N:=BARSLAST(DATE<>REF(DATE,1))+1;//minute period, the number of k line on the current day.
      //Because the condition is established, the return value of BARSLAST(COND) on the current k line is 0, so "+1" is the k-line number of current day.
      
    • Barsine

      Die erste Bedingung ist die aktuelle Anzahl der Zyklen.

      BARSSINCE(COND) The first condition is established to the current number of cycles.
      
      Note:
      1、the return value is the first time the COND is established to the current number of cycles
      2、The return value of BARSSINCE (COND) on the current k-line of the condition established for the first time is 0.
      
      example :
      BARSSINCE(CLOSE>OPEN);
      //Statistics of the number of cycles from the K line that satisfies the condition of the first line to the present.
      
    • BARSSINCEN

      Statistik Die erste Bedingung für den Zeitraum N ist die Festlegung


Mehr