Wie man verschiedene Versionsdaten einer gemieteten Strategie über Strategy Rental Code Metadaten zuweist

Schriftsteller:Lydia., Erstellt: 2022-11-09 10:34:37, Aktualisiert: 2023-09-20 10:59:17

img

Anwendung von Strategie-Mietcode-Metadaten

Partner, die als Entwickler auf der FMZ Quant Trading Plattform arbeiten, können häufig solche Bedürfnisse haben:

Bei der Entwicklung einer Strategie zur Vermietung möchten Sie möglicherweise unterschiedliche Kapitalbeschränkungen für die Strategie und unterschiedliche Devisenbeschränkungen für den Strategieleasing (die Börse, die den Strategiebetrieb einschränkt) oder Beschränkungen für die Devisekonfiguration haben, wenn Sie die Strategie leasen möchten (bestimmt, dass diese Strategie nur das im Voraus vereinbarte Konto betreiben kann und der Strategiebenutzer keine Geschäfte tätigt, wenn er andere Konten verwendet).

Diese können offensichtlich nicht in den Code geschrieben werden, denn wenn sie in den Code geschrieben würden, wären alle Benutzer diesen Bedingungen unterworfen, und es wäre nicht möglich, Kontrollen für verschiedene Benutzergruppen mit unterschiedlichen Nutzungsrechten zu erstellen.

Auf der Grundlage des obigen Nachfrage-Szenarios wird die FMZ Quant Trading-Plattform um eine neue Funktion erweitert: Einstellungen von Metadaten für Strategie-Mietregistrierungscodes

Wenn Sie einen Registrierungscode erstellen, können Sie eine Metadaten angebenMeta, und die Daten sind eine Zeichenfolge. Achtung: Die Länge der Meta darf bei der Erstellung des Registrierungscodes 190 Zeichen nicht überschreiten.

· Beschränkung der Strategie durch Verwendung von FMZ-Registrierungscode-Metadaten

Zum Beispiel, wenn ich eine Strategie entwickeln Hotshot und ich habe ein Spot-Handel Paar für BTC_USDT entwickelt, und es geht nur lang (es gibt nur die Preis WährungQuoteCurrencyAnfangs, d.h. USDT; nach dem Kauf gibt es HandelswährungBaseCurrencyIch möchte diese Strategie mieten, die alstest1.

Es kann gesehen werden, dass das begrenzte Design der Strategie entsprechend der spezifischen Situation der Strategie entworfen werden muss. Das Beispiel ist eine Demonstration der Spot-Strategie. Was ist, wenn die Strategie eine Futures-Strategie ist? Dann ist es notwendig, die Futures-Positionsinformationen (gemäß den von GetPosition zurückgegebenen Positionsdaten) zu begrenzen. Wenn die Strategie feststellt, dass die Position das Limit überschreitet, wird sie die Logik der Öffnung der Position nicht ausführen (andere Logik muss normal ausgeführt werden, wie zum Beispiel das Schließen der Position).

Daher müssen diese Entwürfe spezifisch für die Strategie selbst sein. Das Beispiel hier ist nur eine einfache Illustration und kann nicht praktisch nützlich sein.

Strategie-Quellcode:

function main() {
    // The maximum asset value of the denominated currency allowed by the strategy
    var maxBaseCurrency = null
    
    //Obtain the metadata when creating the registration code
    var level = GetMeta()
    
    // Detecting the conditions corresponding to Meta
    if (level == "level1") {
        // -1 is not limited
        maxBaseCurrency = -1       
    } else if (level == "level2") {
        maxBaseCurrency = 10     
    } else if (level == "level3") {
        maxBaseCurrency = 1
    } else {
        maxBaseCurrency = 0.5
    }
    
    while(1) {
        Sleep(1000)
        var ticker = exchange.GetTicker()
        
        // Detect asset values
        var acc = exchange.GetAccount()
        if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
            // Stop executing strategic trading logic
            LogStatus(_D(), "Positions exceeding the usage limit of the registration code will no longer execute the strategy trading logic!")
            continue
        }
        
        // Other trading logic
        
        // Output the status bar information normally
        LogStatus(_D(), "The strategy is running properly! ticker data:\n", ticker)
    }
}

Wenn Sie einen Registrierungscode erstellen, finden Sie den Strategie-Test1 in der Strategiebibliothek, klicken Sie auf den Aktionspunkt rechts, klicken Sie auf Rent,

img

und klicken Sie dann auf "Internal Sale".

img

Klicken Sie auf Little Wrench, um die Metadaten des Registrierungscodes festzulegen.

img

Dann schreiben Sie die zu qualifizierenden Informationen in die Meta-Steuerung ein, z. B. mehrere in diesem Beispiel entworfene Strategienbenutzungsstufen:

· Stufe 1: Keine Einschränkung der Anzahl der Stellen. · Level2: Die maximale Anzahl der Positionen auf 10 Münzen begrenzen. · Level3: Die maximale Anzahl der Positionen auf 1 Münze begrenzen. · Keine Meta-Einstellung: Wenn keine Meta-Einstellung vorhanden ist, beträgt die Standardmaximalpositionsgrenze 0,5 Münzen.

img

Zuerst setzen wirlevel1für das Meta-Kontroll, so dass der erstellte Registrierungscode dielevel1die Stufe der Test1 Strategie. Registrierungscode erstellt:

Purchase address: https://www.fmz.com/m/s/282900
Registration code: 7af0c24404b268812c97b55d073c1867

Der Vermieter der Strategie sendet den Registrierungscode an den Mieter der Strategie.

· Die Nutzungsstrategie für strategische Mieter

Strategie-Mieter erstellen Sie einen echten Bot, verwenden Sie Strategie-Test1, fügen Sie ein WexApp Spot Exchange-Objekt (WexApp ist eine Demo der FMZ-Plattform) hinzu, laufen Sie es aus.

· Änderungen der Meta-Daten

Wenn der Strategie-Registrierungscode verwendet wurde, kann er auch geändert werden, wenn der Strategieentwickler die Meta-Daten des ausgestellten Registrierungscodes anpassen muss.

Meta-Daten können in der Strategiebibliothek, Verkaufsaufzeichnung, geändert werden.

Wir haben die Meta-Daten des vorherigen Registrierungscodes inlevel3,

img

Dann hat der Strategiebenutzer den Test neu gestartet.

· Zusammenfassung

Wenn Leasingstrategien auf unterschiedlichen Benutzergruppen und unterschiedlichen Zahlungsstufen basieren, werden die Metadaten speziell so konfiguriert, dass eine hierarchische Strategiekontrolle erreicht wird.

Natürlich werden hier nur die häufigsten Einschränkungs- und Kontrollanforderungen aufgeführt.


Mehr