戦略インタラクションのコマンドを受け取る
返したコマンドの形式はControlName:Data
. ControlName
コントロールの名前で,Data
インタラクティブなコントロールに入力ボックス,ドロップダウンボックス,その他のコンポーネントがない場合 (例えば入力ボックスのないボタンのコントロール),返されるコマンドフォーマットはControlName
コントロールの名前だけ返します.
文字列
コマンドを取得する
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);
}
}
インタラクションコマンドを検出し,Log
インタラクションコマンドが検出されたときにそれを出力する機能です.
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);
}
}
例えば,戦略インタラクティブコントロールは入力ボックスなしでコントロールを追加します.インタラクティブコントロールは以下のように命名されます.buy
制御説明の情報は:buy
インタラクティブなコントロールの名前は:sell
制御説明メッセージは次のとおりです.sell
インタラクションコードは,異なるインタラクションコントロールに対応するように戦略に設計されています.
バックテストシステムでは機能しません
GetLastError を取得する GetMeta を取得する