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

Obtenez le commandement

Il reçoit la commande d'interaction stratégique.

Le format de la commande retournée estControlName:Data. ControlNameest le nom du contrôle, etDataest les données entrées dans la commande. Si la commande interactive n'a pas de boîtes d'entrée, de boîtes déroulantes et d'autres composants (par exemple, une commande de bouton sans boîtes d'entrée), le format de commande retourné estControlName, qui renvoie uniquement le nom du contrôle. chaîne

Vous avez le commandement?

function main(){
    while(true) { 
        var cmd = GetCommand()
        if (cmd) { 
            Log(cmd)
        }
        Sleep(1000) 
    }
}
def main():
    while True:
        cmd = GetCommand()
        if cmd:
            Log(cmd)
        Sleep(1000)
void main() {
    while(true) {
        auto cmd = GetCommand();
        if(cmd != "") {
            Log(cmd);
        }
        Sleep(1000);
    }
}

Détecte la commande d'interaction et utilise leLogfonction de sortie de la commande d'interaction lorsqu'elle est détectée.

function main() {
    while (true) {
        LogStatus(_D())
        var cmd = GetCommand()
        if (cmd) {
            Log("cmd:", cmd)    
            var arr = cmd.split(":")
            if (arr[0] == "buy") {
                Log("Buy, the control without number")
            } else if (arr[0] == "sell") {
                Log("Sell, the control with the number of:", arr[1])
            } else {
                Log("Other controls trigger:", arr)
            }
        }
        Sleep(1000)
    } 
}
def main():
    while True:
        LogStatus(_D())
        cmd = GetCommand()
        if cmd:
            Log("cmd:", cmd)
            arr = cmd.split(":")
            if arr[0] == "buy":
                Log("Buy, the control without number")
            elif arr[0] == "sell":
                Log("Sell, the control with the number of:", arr[1])
            else:
                Log("Other controls trigger:", arr)
        Sleep(1000)
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
void split(const string& s,vector<string>& sv,const char flag = ' ') {
    sv.clear();
    istringstream iss(s);
    string temp;            

    while (getline(iss, temp, flag)) {
        sv.push_back(temp);
    }
    return;
}            

void main() {
    while(true) {
        LogStatus(_D());
        auto cmd = GetCommand();
        if (cmd != "") {
            vector<string> arr;
            split(cmd, arr, ':');
            if(arr[0] == "buy") {
                Log("Buy, the control without number");
            } else if (arr[0] == "sell") {
                Log("Sell, the control with the number of:", arr[1]);
            } else {
                Log("Other controls trigger:", arr);
            }
        }
        Sleep(1000);
    }
}

Par exemple, le contrôle interactif de stratégie ajoute un contrôle sans boîte d'entrée, le contrôle interactif est nommé:buy, les informations relatives à la description du contrôle sont les suivantes:buy, qui est une commande de bouton. Continuez en ajoutant une commande avec une boîte d'entrée. La commande interactive est nommée:sellet le message de description du contrôle est le suivant:sellLe code d'interaction est conçu dans la stratégie pour répondre aux différents contrôles d'interaction:

Il ne fonctionne pas dans le système de backtesting.

Obtenez la dernière erreur Obtenez Meta