[TOC] Je vous en prie.
Dans le développement de stratégies de plate-forme de négociation quantitative par les inventeurs, les paramètres de stratégie de conception et l'interaction stratégique doivent être indissociables. La plate-forme de négociation quantitative par les inventeurs s'est engagée à fournir des outils de négociation quantitative simples, faciles à utiliser et puissants, à la conception et à la fonctionnalité des produits en continu. En améliorant les paramètres de stratégie et les contrôles d'interaction, la flexibilité de conception des paramètres et de l'interaction est encore accrue.
Les types de paramètres stratégiques quantifiés par l'inventeur n'ont pas augmenté et restent les cinq types de paramètres que nous connaissons:
Vous me demandez sans doute ce que cette mise à jour, cette mise à jour, cette amélioration de la plateforme a apporté.
Cette mise à niveau a ajouté la "configuration des composants" du contrôle de liaison des paramètres, simplifiant les fonctions de "compartement" et de "dépendance des paramètres" pour les intégrer dans la "configuration des composants". Une option de "remplissage" / "remplissage obligatoire" a été ajoutée aux valeurs par défaut des paramètres pour déterminer si une politique est prête à fonctionner si le paramètre est défini comme "remplissage obligatoire" mais que le paramètre n'est pas écrit dans le contrôle des paramètres lors de l'exécution de la politique. Nous allons essayer d'en savoir plus sur les modifications apportées à cette mise à niveau, et nous les testerons plus en détail dans le prochain article.
Avant, nous avons simplement parlé des fonctions de remplissage / remplissage obligatoire, mais nous n'en avons pas parlé ici.
Les paramètres sont définis par défaut comme des champs d'entrée et peuvent être limités aux données reçues par le champ d'entrée en utilisant les champs "minimum" et "maximum" du diagramme.
En plus de la barre d'entrée par défaut, la plateforme a ajouté:
Les paramètres de type Boole sont particuliers, car il n'y a qu'un seul contrôle correspondant: le contrôle de commutation par défaut.
Comme les valeurs de Boole ne sont pas vraies ou fausses, elles sont binaires. Il est donc très approprié de correspondre à ce type de paramètre avec un contrôle de commutation.
Les paramètres de type Boole sont généralement utilisés sur les plateformes pour contrôler si certaines fonctionnalités stratégiques sont ouvertes.
En plus de la barre d'entrée par défaut, la plateforme a ajouté:
Le texte Dans "Type de composant", sélectionnez le paramètre de texte. Le contrôleur de zone d'entrée correspondant au paramètre actuel de l'interface de stratégie devient une zone de texte plus grande. Le contrôleur de texte est différent du contrôleur de zone d'entrée ordinaire: le texte entré dans la zone d'entrée peut changer de ligne et la zone d'entrée peut ajuster la taille du contrôleur. La valeur des variables des paramètres de l'interface est la suivante: string.
Sélecteur de temps Dans "Type de composant", sélectionnez le paramètre de temps. Le contrôle de la zone d'entrée de l'interface de stratégie correspondant au paramètre actuel devient le contrôle de la date de temps. Contrairement au " sélecteur de temps pour le type de composant pour les paramètres de type de chaîne ", le sélecteur de temps pour les paramètres de type de chaîne a plus d'une option de " format de temps " qui permet de définir le format de sélection du contrôle: 1, date: le " format de temps " est réglé sur le bouton de date de la souris, le contrôle est un contrôle de sélection de l'année, du mois, du jour, de l'heure, des minutes et des secondes, avec une prise en charge pour sélectionner l'heure actuelle. 2 ̊ Temps: Lorsque le "Format de temps" est défini comme une barre de temps, le contrôleur est un contrôleur de sélection de temps en fractions, heures et secondes. 3 ̊ mois d'année: Lorsque le "Format de temps" est réglé sur le calendrier lunaire de l'année, le contrôle est un contrôle de sélection de l'année, du mois et de l'heure. 4 ̊ année: le "Time Format" est réglé sur l'année de l'année de l'année, le contrôle est un contrôle de sélection de l'année de l'année sélectionnée. La valeur de la variable du paramètre d'interface est: string (formaté comme temps correspondant).
Choix de couleur Dans "Type de composant", sélectionnez le paramètre de sélection de couleur. Le contrôle de la zone d'entrée correspondant au paramètre actuel de l'interface de stratégie devient le contrôle de sélection de couleur. Paramètres généralement utilisés pour concevoir des paramètres de couleur. La valeur de la variable du paramètre d'interface est la valeur de la couleur correspondant à la chaîne (par exemple: #7e1717).
Le contrôle par défaut correspondant au paramètre de type de la barre d'étirement est la barre d'étirement, mais il y a beaucoup de mises à niveau par rapport à la barre d'étirement simple précédente:
En plus de la barre de défilement par défaut, la plateforme a ajouté:
Les paramètres du type de chaîne de chiffrement sont également particuliers, car il n'y a qu'un seul contrôle correspondant; c'est-à-dire le contrôle de la case de chiffrement par défaut.
Les contrôles de type chaîne de chiffrement sont généralement utilisés pour définir des informations sensibles, telles que les clés secrètes, les mots de passe, etc. Les paramètres de ces entrées sont transmis après avoir été cryptés localement.
La valeur des variables des paramètres de l'interface est la suivante: string.
Pour tous les types de paramètres d'interface de stratégie ci-dessus, cette mise à niveau intègre les fonctionnalités précédentes de " Paramètres de regroupement " et de " Paramètres dépendants " dans la " Configuration des composants "; tous les paramètres d'interface ont des paramètres de " Paramètres de regroupement " et de " Filtres " dans la configuration des composants.
过滤器格式: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
Ici, a, b représentent toutes les variables des paramètres de l'interface stratégique.Si l'explication ci-dessus ne vous semble pas intuitive, la meilleure façon de le comprendre est de l'utiliser concrètement et de tester les fonctionnalités de ces paramètres:
Les stratégies de la langue JavaScript sont les suivantes:
function main() {
Log("---------------------------开始测试数字类型参数---------------------------")
Log("变量pNum1:", pNum1, ", 变量值类型:", typeof(pNum1))
Log("变量pNum2:", pNum2, ", 变量值类型:", typeof(pNum2))
Log("变量pNum3:", pNum3, ", 变量值类型:", typeof(pNum3))
Log("变量pNum4:", pNum4, ", 变量值类型:", typeof(pNum4))
Log("---------------------------开始测试布尔类型参数---------------------------")
Log("变量pBool1:", pBool1, ", 变量值类型:", typeof(pBool1))
Log("变量pBool2:", pBool2, ", 变量值类型:", typeof(pBool2))
Log("---------------------------开始测试字符串类型参数---------------------------")
Log("变量pStr1:", pStr1, ", 变量值类型:", typeof(pStr1))
Log("变量pStr2:", pStr2, ", 变量值类型:", typeof(pStr2))
Log("变量pStr3:", pStr3, ", 变量值类型:", typeof(pStr3))
Log("变量pStr4:", pStr4, ", 变量值类型:", typeof(pStr4))
Log("---------------------------开始测试下拉框类型参数---------------------------")
Log("变量pCombox1:", pCombox1, ", 变量值类型:", typeof(pCombox1))
Log("变量pCombox2:", pCombox2, ", 变量值类型:", typeof(pCombox2))
Log("变量pCombox3:", pCombox3, ", 变量值类型:", typeof(pCombox3))
Log("---------------------------开始测试加密串类型参数---------------------------")
Log("变量pSecretStr1:", pSecretStr1, ", 变量值类型:", typeof(pSecretStr1))
}
La stratégie complète de test des paramètres:https://www.fmz.com/strategy/455212
Il existe de nombreuses stratégies qui nécessitent d'ouvrir une série de paramètres basés sur un paramètre et qui peuvent être réalisées avec des dépendances similaires.
Il existe également cinq contrôles d'interaction stratégiques pour la plate-forme de négociation quantitative de l'inventeur, qui ont également été optimisés et mis à niveau.
Les contrôles interactifs sont en grande partie conformes aux paramètres de l'interface de stratégie "Configuration des composants" et les types de composants sont pris en charge en plus des contrôles de zone d'entrée par défaut:
La façon dont elle est utilisée correspond aux différents types de composants des paramètres de l'interface de stratégie, qui ne seront pas décrits ici.
Les contrôles interactifs sont en grande partie conformes à la "configuration des composants" des paramètres de l'interface stratégique.
Les types de composants suivants sont pris en charge en plus du contrôleur de zone d'entrée par défaut:
Le boîtier de défilement des commandes interactives a également été amélioré: "Support multi-choix", "Valeur par défaut personnalisée", options pour lier des données spécifiques, etc.
En plus de l'élément de la barre d'attraction par défaut, il est ajouté:
Les contrôles interactifs de type bouton n'ont aucune entrée, et les commandes d'interaction envoyées au déclenchement ne contiennent que le nom du contrôleur de bouton.
Le meilleur moyen de comprendre est de tester manuellement, une stratégie de test est également préparée ici.
Il est important de noter que les commandes interactives ne peuvent pas être testées dans le système de retouche, mais seulement pour créer des tests sur le disque.
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // 接收交互控件产生的消息
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
Entrez des informations au hasard, définissez des options, puis cliquez sur le bouton de contrôle interactif pour générer un message interactif que la stratégie capture et imprime.
Les stratégies de test des contrôles interactifs sont terminées:https://www.fmz.com/strategy/455231
La plateforme a mis à jour les paramètres de l'interface et le type de chaîne des contrôles interactifs, le type de flèche déroulante, et a ajouté la prise en charge de deux nouveaux contrôles:
2, Test des paramètres dans les paramètres de l'interface stratégique en utilisant les contrôles de monnaie, de code de transaction et de paire de transactions
function main() {
Log("参数test1使用币种控件选择后,test1的值为:", test1)
Log("参数test2使用交易代码控件选择后,test2的值为:", test2)
}
1, monnaie
参数test1使用币种控件选择后,test1的值为: BTC
2, code de transaction (partie de transactions)
参数test2使用交易代码控件选择后,test2的值为: ETH_USDT.next_quarter
3° Configurer des tests d'interaction avec des contrôles de monnaie, de code de transaction (partie de transaction) dans les contrôles d'interaction stratégiques:
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
1, monnaie
test1:SOL
2, code de transaction (partie de transactions)
test2:XRP_USDT.swap