Visualisieren Sie Ihre Bearbeitungsstrategien und erweitern Sie Ihre kundenspezifischen Bibliotheken

Schriftsteller:Kleine Träume, Erstellt: 2020-10-17 11:27:43, Aktualisiert: 2023-09-27 19:39:37

img

Visualisieren Sie Ihre Bearbeitungsstrategien und erweitern Sie Ihre kundenspezifischen Bibliotheken

Wie kann man eine eigene Bibliothek erweitern, um die visualisierten Strategien zu erweitern? Zum Beispiel möchte ich MA berechnen.imgWie können wir diese Kennzahlen anpassen, indem wir etwas anpassungsfähigeres hinzufügen? Wir zeigen Ihnen, wie Sie die Visualisierungsmodule erweitern können, indem wir Ihnen ein Modul zur Berechnung von MA-Anzeigen hinzufügen, das Sie anpassen können.

Umsatzbuch für digitale Währungen

Zunächst möchte ich über das Template für die digitale Währung "Cryptocurrency Cash Library" sprechen, das unter folgender Adresse erstellt wurde:https://www.fmz.com/strategy/10989Obwohl es sich um ein Template für die FMZ-Plattform JavaScript handelt, können Schüler, die das Template-Konzept nicht verstehen, die FMZ API-Dokumentation anfragen:https://www.fmz.com/api#模板类库Ich weiß nicht. Aber die Anmerkung zu Beginn der Vorlage enthält den Code, der definiert die Module zu visualisieren, und der Code, der definiert wird, kann auf den Code dieser JavaScript-Vorlage verweisen.

Die visualisierte Definition des ersten Teils der Online-Kassendatenbank für digitale Währungen:

/*blockly
    {
        "type": "ext_Trade",
        "message0": "%1 币数 %2|%1 Coins %2",
        "args0": [{
            "type": "field_dropdown",
            "options": [
                ["买入|Buy", "Buy"],
                ["卖出|Sell", "Sell"]
            ]
        }, {
            "type": "input_value",
            "check": "Number"
        }],
        "template": "(function(){var r = $.%1(%2); return r ? r.amount : 0; })()",
        "order": "ORDER_ATOMIC",
        "output": "Number",
        "colour": 85
    }, {
        "type": "ext_CancelPendingOrders",
        "message0": "取消 %1 订单|Cancel %1 Orders",
        "args0": [{
            "type": "field_dropdown",
            "name": "TYPE",
            "options": [
                ["所有|All", " "],
                ["买单|Buy", "ORDER_TYPE_BUY"],
                ["卖单|Sell", "ORDER_TYPE_SELL"]
            ]
        }],
        "previousStatement": null,
        "nextStatement": null,
        "template": "$.CancelPendingOrders(%1);",
        "colour": 85
    }, {
        "type": "ext_Cross",
        "message0": "计算交叉 周期 %1 与 %2|Cross Period %1 and %2",
        "inputsInline": true,
        "args0": [{
            "type": "input_value"
        }, {
            "type": "input_value"
        }],
        "template": "$.Cross(%1,%2)",
        "order": "ORDER_ATOMIC",
        "output": "Number"
    }, {
        "type": "ext_GetAccount",
        "message0": "获取资产信息|GetAccount",
        "template": "$.GetAccount()",
        "order": "ORDER_ATOMIC",
        "output": null
    }
*/

Die Module auf der visualisierten Bearbeitungsseite entsprechen:img

Bauen Sie ein Modul für die Berechnung von selbst definierten MA-Indikatoren

Wenn Sie ein vorgefertigtes Beispiel haben, ist es einfacher, es selbst zu bauen, als es mit einem Faden zu tun ist.

Zunächst ein neues Template für die JavaScript-Sprache.img

Schreiben Sie den Code der Vorlage.

/*blockly
    {
        "type": "ext_testA",
        "message0": "testA|testA",
        "template": "function(){return 99;}()",
        "order": "ORDER_ATOMIC",
        "output": "Number"
    },{
        "type": "ext_MA",
        "message0": "MA 周期 %1| MA Period %1",
        "args0": [{
            "type": "input_value",
            "check": "Number"
        }],
        "template": "(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()",
        "order": "ORDER_ATOMIC",
        "output": null,
        "colour": 85
    }
*/
  • type: Eigenschaft definiert Modultypen, die selbst mit Namen definiert werden können.
  • Message0: Text, der auf dem Modul angezeigt wird.
  • Template: Code, der von einem Modul ausgeführt wird.
  • output: Typ der Modul-Ausgabe.
  • args0: Ein Eingabeparameter für ein Modul, bei dem %1 den ersten Eingabeparameter und %2 den zweiten im Moduldefinitionscode darstellt.

Diese neue Vorlage wird nach der Bearbeitung gespeichert. In der Politik, in der wir diese Vorlage verwenden müssen, wählen wir diese Vorlage.img

Sie sehen, dass zwei weitere Module erscheinen:

  • img

    Der Modul heißt testA, und wir schauen uns seinen Ausführungscode an:img

    function(){return 99;}()
    

    Eine einfache JavaScript-Funktion, die einen Wert von 99 zurückgibt.

  • img

    Der Modul mit dem Namen: MA Cycle, und wir schauen uns seinen Ausführungscode an:

    img

    (function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()
    

    Der Code ist ein anonymer Funktionsanruf, bei dem die Anonymfunktion zuerst eine Operation ausführt, um K-Linien-Daten zu erhalten, K-Linien-Daten.rUnd dann, je nachdem, ob das erhaltene r fürnullOderrDie Länge ist kleiner als die Eingabeparameter der Module%1Zurück zum UrteilfalseOder zurück.TA.MA(r, %1)Die Ergebnisse der Berechnung der Indikatoren.

Ich habe eine Frage, die ich mir nicht stellen kann.

Tests berechnen den MA-Indikator

Die visualisierte Strategie wurde von:img

Sie läuft:img

Wie man oben sehen kann, wurden die Daten für die Berechnung des MA-Indikators, wenn Sie möchten, bezahlt.

Das ist nur ein Vorwurf, der sich selbst erweitern kann, wenn man Module visualisiert.


Verwandt

Mehr