Les ressources ont été chargées... Je charge...

Explication détaillée des nouvelles caractéristiques des paramètres d'interface de stratégie et des commandes interactives

Auteur:FMZ~Lydia, Créé: 2024-07-04 10:40:41, Mis à jour: 2024-07-23 17:06:25

img

Explication détaillée des nouvelles caractéristiques des paramètres d'interface de stratégie et des commandes interactives

Lors du développement de stratégies sur la plateforme de trading FMZ Quant, il est nécessaire de concevoir des paramètres de stratégie et des interactions de stratégie. La plateforme de trading FMZ Quant s'engage à fournir des outils de trading quantitatifs faciles à utiliser et puissants, et à itérer en permanence la conception et les fonctions des produits.

Paramètres d'interface de stratégie

Les types de paramètres de stratégie dans FMZ Quant n'ont pas augmenté, et ce sont toujours les cinq types de paramètres que nous connaissons:

  • Paramètres numériques
  • Paramètres de chaîne
  • Paramètres booléens
  • Paramètres de la boîte déroulante
  • Paramètres de chaîne chiffrés

Alors vous allez certainement me demander, quel contenu a été ajouté et optimisé dans cette mise à jour de la plateforme?

Cette mise à niveau ajoute configuration de composant pour les contrôles de liaison de paramètres, simplifie les fonctions groupage et dépendance de paramètres, et intègre ces deux fonctions dans configuration de composant. Pour la valeur par défaut du paramètre, une option optionnelle/obligatoire est ajoutée pour déterminer si la stratégie a les conditions d'exécution. Si le paramètre est réglé sur obligatoire mais qu'aucun paramètre spécifique n'est écrit dans le contrôle de paramètres lors de l'exécution de la stratégie, la stratégie ne peut pas s'exécuter à ce moment-là. Maintenant que nous avons une compréhension générale des changements de mise à niveau, testons-le en détail.

Paramètres numériques

img

Nous avons brièvement parlé des fonctions optionnelles/obligatoires précédemment, donc je n'entrerai pas dans les détails ici.

Définissez les différentes propriétés, types et règles du contrôle auquel le paramètre correspond (est lié). Le contrôle par défaut lié au paramètre numérique (type de numéro) est la zone d'entrée. Vous pouvez définir les règles pour les données reçues par la zone d'entrée, c'est-à-dire utiliser les contrôles valeur minimale et valeur maximale dans la figure à définir.

En plus du contrôle par défaut de la boîte d'entrée, la plateforme a ajouté:

  • Sélecteur de temps Dans Component Type, sélectionnez Time Selector, et le contrôle de la zone d'entrée sur l'interface de stratégie correspondant au paramètre actuel deviendra un contrôle de sélection de temps. Ces contrôles sont généralement utilisés pour les paramètres d'intervalle de temps, les paramètres de date de début et de fin. Ceci est très pratique et intuitif. La valeur de la variable du paramètre d'interface est: valeur (représentant l'horodatage)
  • Barre d'entrée coulissante Si la barre d'entrée est réglée comme une barre coulissante, vous devez spécifier Valeur minimale et Valeur maximale pour déterminer la plage du curseur. La barre d'entrée coulissante peut implémenter un paramètre pour contrôler le stop loss et prendre les niveaux de profit de manière pratique. La valeur variable du paramètre d'interface est: valeur (représentant l'information de position du curseur sur le curseur)

Paramètres booléens

img

Les paramètres booléens sont spéciaux en ce qu'ils n'ont qu'un seul contrôle correspondant, qui est le contrôle de commutateur par défaut.

Parce que les valeurs booléennes sont vraies ou fausses, elles sont des options binaires.

Généralement, les paramètres de type booléen sont utilisés pour contrôler si certaines fonctions de stratégie sont activées sur la plateforme.

Paramètres de chaîne

img

En plus du contrôle par défaut de la boîte d'entrée, la plateforme a ajouté:

  • Le texte Dans Type de composant, définissez: Texte. Le contrôle de la zone d'entrée de l'interface de stratégie correspondant au paramètre actuel sera changé en une zone de texte plus grande. La différence entre la commande de texte et la commande de zone d'entrée ordinaire est que le texte entré dans la zone de texte peut être enveloppé et la zone de texte peut ajuster la taille de la commande. La valeur variable du paramètre d'interface est: chaîne.

  • Sélecteur de temps Dans Component Type, sélectionnez Time Selector. Le contrôle de la zone d'entrée sur l'interface de stratégie correspondant au paramètre actuel deviendra un contrôle pour définir l'heure et la date. Sélecteur de temps pour le type de composant du paramètre de chaîne est différent de Sélecteur de temps pour le type de composant du paramètre numérique. La sélection de temps du paramètre de type de chaîne a une option supplémentaire Format de temps qui peut définir le format de sélection de la commande:

  1. Date: Lorsque Time Format est réglé sur Date, le contrôle est un contrôle de sélection de temps complet pour sélectionner l'année, le mois, le jour, l'heure, la minute et la seconde, et prend en charge la sélection de l'heure actuelle en un clic.
  2. Temps: Lorsque Time Format est réglé sur Time, le contrôle est un contrôle de sélection de temps pour sélectionner la minute, l'heure et la seconde.
  3. Année et mois: lorsque Time Format est réglé sur Year and Month, le contrôle est un contrôle de sélection de temps pour sélectionner l'année et le mois.
  4. Année: lorsque Time Format est réglé sur Year, le contrôle est un contrôle de sélection de l'heure pour sélectionner l'année. La valeur variable du paramètre d'interface est: chaîne (formatée comme le temps correspondant).
  • Sélecteur de couleur Dans Component Type, sélectionnez Color Selector. Le contrôle de la boîte d'entrée sur l'interface de stratégie correspondant au paramètre actuel deviendra un contrôle de sélection de couleur. est généralement utilisé pour concevoir des paramètres de réglage des couleurs. La valeur variable du paramètre d'interface est: chaîne (la valeur de couleur correspondant à la couleur sélectionnée, par exemple: #7e1717).

Paramètres de la boîte déroulante

img

Le contrôle par défaut correspondant au paramètre de la boîte déroulante est une boîte déroulante, mais cette fois, de nombreuses mises à niveau ont été effectuées à la boîte déroulante de sélection simple précédente:

  • Prise en charge des sélections multiples Vous pouvez sélectionner plusieurs options en même temps dans le contrôle de la boîte déroulante correspondant au paramètre de la boîte déroulante. À ce moment-là, la valeur variable du paramètre de la boîte déroulante n'est plus l'index de l'option sélectionnée, mais un tableau. Le tableau contient les index ou les données liées de toutes les options sélectionnées.
  • Prise en charge des valeurs par défaut personnalisées Lorsque cette option est activée, vous pouvez personnaliser les valeurs par défaut au lieu d'avoir à sélectionner une option dans la zone déroulante comme valeur par défaut.
  • Ajout de la fonction de liaison des valeurs numériques et des chaînes aux options de la boîte déroulante. Lier une chaîne ou une valeur numérique à une option. Lorsque vous définissez ce paramètre, la valeur de la variable de la boîte déroulante n'est plus l'index de l'option sélectionnée, mais la chaîne ou la valeur numérique liée à l'option sélectionnée.

En plus du contrôle de la boîte déroulante par défaut, cette fois la plateforme ajoute:

  • Contrôleur de segment Dans Component type, sélectionnez Segment controller. Le contrôle lié au paramètre actuel devient un curseur de segment sélectionnable et vous pouvez sélectionner un bloc de segment spécifique. Généralement, il peut être conçu comme suit: généralement utilisé pour basculer entre plusieurs options mutuellement exclusives, souvent utilisé pour filtrer le contenu par catégorie ou balise, et choisir entre différents modes de fonctionnement. La valeur variable du paramètre d'interface est: l'index de la partie sélectionnée du contrôleur de segment ou les données liées à la partie sélectionnée (les données liées prennent en charge les valeurs numériques et les chaînes).

5. Paramètres de chaîne de caractères chiffrés

img

Le paramètre de chaîne chiffrée est également assez spécial, et il n'a qu'un seul contrôle correspondant, qui est le contrôle par défaut de la boîte d'entrée chiffrée.

Sur la plateforme, les commandes de type de chaîne cryptées sont généralement utilisées pour définir des informations sensibles, telles que des clés secrètes, des mots de passe, etc. Ces valeurs de paramètres d'entrée seront cryptées localement avant la transmission.

La valeur variable du paramètre d'interface est: string.

Pour tous les types de paramètres d'interface de stratégie ci-dessus, cette mise à niveau intègre les fonctions précédentes de regroupement de paramètres et de dépendance de paramètres dans la configuration des composants.

  • Groupement Vous pouvez entrer l'étiquette que vous voulez regrouper directement dans le contrôle de la zone déroulante du groupe, et utiliser la touche Entrée pour confirmer l'entrée du groupe. Le système enregistrera l'étiquette actuellement entrée dans l'option de regroupement. Ensuite, vous pouvez spécifier un groupe pour les paramètres d'interface actuels. Après le regroupement, les paramètres marqués comme groupe seront affichés dans une zone de regroupement sur l'interface backtesting/live trading.
  • Filtreur Entrez quelques expressions dans le contrôle de filtre pour déterminer si le paramètre actuel doit être activé et affiché. Exemple d'expression de filtre:
Filter format: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b

Ici, a et b représentent les variables des paramètres d'interface de stratégie.

Stratégie de test des paramètres d'interface

Si les explications ci-dessus sont un peu peu peu intuitives, la meilleure façon de les comprendre est d'utiliser et de tester ces fonctions de paramètres:

Prenons comme exemple la stratégie du langage JavaScript:

function main() {
    Log("---------------------------Start testing numeric type parameters---------------------------")
    Log("Variable pNum1:", pNum1, ", Variable value type:", typeof(pNum1))
    Log("Variable pNum2:", pNum2, ", Variable value type:", typeof(pNum2))
    Log("Variable pNum3:", pNum3, ", Variable value type:", typeof(pNum3))
    Log("Variable pNum4:", pNum4, ", Variable value type:", typeof(pNum4))
    
    Log("---------------------------Start testing Boolean type parameters---------------------------")
    Log("Variable pBool1:", pBool1, ", Variable value type:", typeof(pBool1))
    Log("Variable pBool2:", pBool2, ", Variable value type:", typeof(pBool2))

    Log("---------------------------Start testing string type parameters---------------------------")
    Log("Variable pStr1:", pStr1, ", Variable value type:", typeof(pStr1))
    Log("Variable pStr2:", pStr2, ", Variable value type:", typeof(pStr2))
    Log("Variable pStr3:", pStr3, ", Variable value type:", typeof(pStr3))
    Log("Variable pStr4:", pStr4, ", Variable value type:", typeof(pStr4))

    Log("---------------------------Start testing the drop-down box type parameters---------------------------")
    Log("Variable pCombox1:", pCombox1, ", Variable value type:", typeof(pCombox1))
    Log("Variable pCombox2:", pCombox2, ", Variable value type:", typeof(pCombox2))
    Log("Variable pCombox3:", pCombox3, ", Variable value type:", typeof(pCombox3))

    Log("---------------------------Start testing encryption string type parameters---------------------------")
    Log("Variable pSecretStr1:", pSecretStr1, ", Variable value type:", typeof(pSecretStr1))
}

img

Stratégie complète d'essai des paramètres:https://www.fmz.com/strategy/455212

Il y a une conception de dépendance de paramètre cachée dans les paramètres ci-dessus.

Contrôles interactifs

La plateforme de trading quantique FMZ dispose également de cinq types de commandes interactives de stratégie, qui ont été optimisées et améliorées cette fois.

Numéro des commandes interactives

img

Les commandes interactives sont fondamentalement les mêmes que la configuration des composants des paramètres de l'interface stratégie.

  • Sélecteur de temps La commande interactive envoyée contient l'horodatage de l'heure sélectionnée.
  • Barre d'entrée du curseur La commande interactive envoyée contient la valeur représentée par la position du curseur sélectionné.

L'utilisation est la même que celle des différents types de composants des paramètres d'interface de stratégie, elle ne sera donc pas répétée ici.

2. contrôles interactifs booléens (vrai/faux)

img

Les commandes interactives sont essentiellement les mêmes que la configuration des composants des paramètres de l'interface de stratégie.

3. Contrôles interactifs en chaîne

img

En plus de la commande par défaut de la boîte d'entrée, le type de composant prend également en charge:

  • Le texte La commande interactive envoyée contient le contenu entré dans la zone de texte.
  • Sélecteur d'heure La commande interactive envoyée contient une chaîne de temps de l'heure sélectionnée, avec plusieurs formats au choix.
  • Sélecteur de couleur La commande interactive envoyée contient une chaîne de valeurs de couleur pour la couleur sélectionnée.

4. boîte déroulante (sélectionnée) contrôle interactif

img

La boîte déroulante de la commande interactive a également été améliorée: support de sélections multiples, valeurs par défaut personnalisées, option liant à des données spécifiques, etc.

En plus du composant de boîte déroulante par défaut, ce qui suit est ajouté:

  • Contrôleur de segment La commande interactive envoyée contient l'index ou les données liées du curseur sélectionné.

5. Contrôle interactif par bouton

img

La commande interactive de type bouton n'a pas d'éléments d'entrée.

Stratégie d'essais de contrôle interactif

La meilleure façon de le comprendre est de le tester manuellement.

Il convient de noter que les commandes interactives ne peuvent pas être testées dans le système de backtesting et que seules des tests en direct peuvent être créés.

function main() {
    var lastCmd = ""
    while (true) {
        var cmd = GetCommand()  // Receive messages generated by interactive controls
        if (cmd) {
            Log(cmd)
            lastCmd = cmd
        }
        LogStatus(_D(), lastCmd)
        Sleep(500)
    }
}

Entrez des informations aléatoires, définissez des options, puis cliquez sur le bouton de contrôle interactif pour générer des messages interactifs.

img

img

Stratégie complétée d'essais de contrôle interactif:https://www.fmz.com/strategy/455231

Mise à jour

  1. La plateforme FMZ a mis à jour le type de chaîne et le type de boîte déroulante des paramètres d'interface et des commandes interactives; a ajouté la prise en charge de 2 nouvelles commandes:

img

img

  1. Définir des tests de paramètres en utilisant des contrôles de devises et des contrôles de paires de négociation dans les paramètres d'interface de stratégie

img

function main() {
Log("After parameter test1 is selected using currency controls, the value of test1 is:", test1)
Log("After parameter test2 is selected using trading pair controls, the value of test2 is:", test2)
}
    1. Monnaie

img

After parameter test1 is selected using currency controls, the value of test1 is: BTC
    1. Paire de négociation

img

After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
  1. Mettre en place des tests interactifs en utilisant des contrôles de devises et des contrôles de paires de négociation dans les contrôles interactifs de stratégie:

img

function main() {
    while (true) {
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(2000)
    }
}
    1. Monnaie

img

test1:SOL
    1. Paire de négociation

img

test2:XRP_USDT.swap

Plus de