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

LogStatus-btnTypeTwo est le numéro de connexion

Cette structure JSON est utilisée pour configurer le bouton de contrôle dans la barre d'état. Exemple de construction d'un bouton de contrôle de la barre d'état (après avoir déclenché et cliqué sur le bouton, la fenêtre contextuelle contient plusieurs commandes d'entrée, qui sont construites à travers le champ de groupe):

{
    "type": "button",
    "cmd": "open",
    "name": "Open a position and place an order",
    "group": [{
        "type": "selected",
        "name": "tradeType",
        "label": "order type",
        "description": "market order, limit order",
        "default": 0,
        "group": "trading setup",
        "settings": {
            "options": ["market order", "limit order"],
            "required": true,
        }
    }, {
        "type": "selected",
        "name": "direction",
        "label": "trading direction",
        "description": "buy, sell",
        "default": "buy",
        "group": "trading setup",
        "settings": {
            "render": "segment",
            "required": true,
            "options": [{"name": "buy", "value": "buy"}, {"name": "sell", "value": "sell"}],
        }
    }, {
        "type": "number",
        "name": "price",
        "label": "price",
        "description": "order price",
        "group": "trading setup",
        "filter": "tradeType==1",
        "settings": {
            "required": true,
        }
    }, {
        "type": "number",
        "name": "amount",
        "label": "order quantity",
        "description": "order quantity",
        "group": "trading setup",
        "settings": {
            "required": true,
        }
    }],
}

Les commandes dans la fenêtre contextuelle déclenchées en cliquant sur le bouton de la barre d'état sont réglées parinputougroup.

Pour les commandes de boutons, le réglage fixe est le suivant:buttonJe suis désolée. type chaîne Le texte sur le bouton de commande, c'est à dire le nom du bouton. Nom chaîne Le contenu de la commande interactive envoyé à la stratégie lorsque le bouton de commande déclenche une opération de clic. CMD chaîne Lors de la construction d'un bouton de barre d'état pour l'interaction, la saisie de données est également prise en charge.GetCommand()La fonctioninputélément à la structure de données JSON de la commande de bouton dans la barre d'état pour configurer la commande d'entrée dans la fenêtre contextuelle affichée lorsque le bouton est déclenché. Comparée à l'ancienne version de la structure d'entrée, la nouvelle version comporte quelques nouveaux champs et changements:

{
    "type": "selected",
    "name": "test",         
    "label": "topic",       
    "description": "desc",  
    "default": 1,
    "filter": "a>1",
    "group": "group1",
    "settings": { ... },    // Component configuration
}

Description et explication de chaque champ dans la structure JSON ci-dessus:

  • type Type de commande (champ obligatoire), prend en charge les paramètres suivants:"number"boîte de saisie numérique,"string"boîte d'entrée de chaîne,"selected"boîte déroulante,"boolean"Commutez le contrôle.

  • Nom Si la structure JSON actuelle est la valeur du champ du champ d'entrée, lorsque le champ d'étiquette n'est pas défini, le nom est le titre du contrôle dans la fenêtre contextuelle qui apparaît après avoir cliqué sur le bouton de la barre d'état. Si la structure JSON actuelle est un élément de la valeur de champ (structure de tableau) du champ de groupe, le nom n'est pas utilisé comme titre de contrôle. Le champ de nom est utilisé pour indiquer le nom de champ du contenu d'entrée de contrôle. Par exemple, un extrait du champ de groupe est utilisé comme illustration:

    var testBtn3 = {
        type: "button",                     
        name: "testBtn3",
        cmd: "cmdTestBtn3", 
        group: [
            {name: "comboBox1", label: "labelComboBox1", description: "Drop-down box 1", type: "selected", defValue: 1, options: ["A", "B"]}, 
            {name: "comboBox2", label: "labelComboBox2", description: "Drop-down box 2", type: "selected", defValue: "A|B"}, 
            {name: "comboBox3", label: "labelComboBox3", description: "Drop-down box 3", type: "selected", defValue: [0, 2], multiple: true, options: ["A", "B", "C"]}, 
            {
                name: "comboBox4", 
                label: "labelComboBox4", 
                description: "Drop-down box 4", 
                type: "selected", 
                defValue: ["A", "C"], 
                multiple: true, 
                options: [{text: "Option A", value: "A"}, {text: "Option B", value: "B"}, {text: "Option C", value: "C"}, {text: "Option D", value: "D"}]
            }
        ]
    }
    

    Selon cet extrait, si le bouton de la barre d'état déclenche une interaction, une boîte contextuelle apparaîtra avec 4 commandes, qui sont toutes des commandes de boîte déroulante. Après avoir défini les options pour chaque contrôle et cliqué sur OK pour envoyer le message d'interaction, la fonction GetCommand dans la stratégie recevracmdTestBtn3:{"comboBox1":1,"comboBox2":0,"comboBox3":[0,2],"comboBox4":["A","C"]}Je suis désolée. La valeur de nom dans la structure JSON est utilisée comme nom de champ de l'information interactive renvoyée, par exemple: comboBox1, comboBox2, etc.

  • étiquette Utilisé pour définir le titre du contrôle.

  • Définition Description de la commande. Si la structure JSON actuelle est un élément de la valeur de champ (structure de tableau) du champ de groupe, et que le champ d'étiquette n'est pas défini, la description est le titre du contrôle dans la boîte contextuelle qui s'affiche après avoir cliqué sur le bouton de la barre d'état.

  • par défaut La valeur par défaut du contrôle.

  • filtre Sélecteur, utilisé pour masquer les commandes. Ne pas définir ce champ signifie pas de filtrage (affichage des commandes); lorsque ce champ est défini, aucun filtrage (affichage des commandes) ne se produit lorsque l'expression est vraie. Lorsque l'expression est fausse, le filtrage se produit (pas d'affichage des commandes)

  • groupe Utilisé pour contrôler le regroupement des contrôles, qui peuvent être pliés.

  • réglages Configuration des composants, le contrôle a une variété d'options d'interface utilisateur, utilisez cette option pour effectuer des réglages spécifiques.

    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
    

    paramètres: paramètres.obligatoire: si elle est requise. paramètres.disabled: Désactiver ou non. paramètres.min: valide lorsque type=numéro, indiquant la valeur minimale ou la longueur minimale d'une chaîne. paramètres.max: valide lorsque type=numéro, indiquant la valeur maximale ou la longueur maximale d'une chaîne. paramètres.step: valide lorsque type=numéro et rendu=slider, indiquant la longueur de l'étape. paramètres.multiple: valide lorsque type= est sélectionné, indiquant que des sélections multiples sont prises en charge. settings.customizable: Il est valide lorsque type= est sélectionné, indiquant que la personnalisation est prise en charge; les utilisateurs peuvent directement modifier et ajouter de nouvelles options dans le contrôle de la fenêtre déroulante. Si l'option nouvellement éditée est sélectionnée, le nom de l'option est utilisé à la place de la valeur représentée par l'option lorsque l'interaction est déclenchée. paramètres.options: valide lorsque type= est sélectionné, indiquant le format de données de l'option sélecteur: [option 1, option 2], [{name:xxx,value:0}, {name:xxx,value:1}]. paramètres.render: type de composant de rendu. Lorsque type=numéro, settings.render n'est pas défini (boîte de saisie de numéro par défaut), optionnel: curseur (barre de curseur), date (le sélecteur d'heure renvoie l'horodatage). Lorsque type=string, settings.render n'est pas défini (boîte d'entrée par défaut à une ligne), optionnel: textarea (entrée à plusieurs lignes), date (le sélecteur d'heure renvoie yyyy-MM-dd hh:mm:ss), couleur (le sélecteur de couleur renvoie #FF00FF). Lorsque type= est sélectionné, les paramètres.render ne sont pas définis (boîte déroulante par défaut), optionnel: segment (sélecteur de segment). Lorsque type=boolean, il n'y a actuellement qu'une case à cocher par défaut.

l'entrée JSON Leinputle champ configure un contrôle dans la boîte pop-up qui apparaît après le bouton de la barre d'état est déclenché en cliquant.groupetinputLes éléments de la fonction de commande sont les suivants:groupont la même structure de données que leinputVeuillez vous référer à la description ci-dessus du champinput field.

groupe séquence

Prise en charge des paramètres bilingues:

{
    type:'selected',
    name:'test',
    label:'选项|options',
    description:'描述|description',
    default:0,                            // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
    filter:'a>1&&a<10',
    group:'分组|group',
    settings:{
        multiple:true,
        customizable:true,
        options:[{name:'xxx|yyy',value:0}]
    }
}

Je ne sais pas si je peux le faire.

Les données de l'enquête Options de graphique