Tài nguyên đang được tải lên... tải...

Điều khiển tương tác

JavaScript, Python, C++Các điều khiển tương tác của một chiến lược được sử dụng để gửi các lệnh tương tác đến chương trình chiến lược đang chạy khi chiến lược đang chạy trong giao dịch trực tiếp. Đối vớiJavaScript, Python, vàC++sử dụng các phương phápGetCommand()chức năng trong mã chiến lược để nhận thông điệp được tạo ra bởi điều khiển tương tác.

Interactive Control

Với mã được thiết kế trong chiến lược để xử lý tin nhắn từ các điều khiển tương tác, việc sử dụng các điều khiển tương tác trong giao dịch trực tiếp có thể cho phép (không giới hạn) các chức năng, chẳng hạn như:

  • Đóng vị trí chiến lược bằng tay.
  • Thay đổi các tham số chiến lược một cách năng động để tránh khởi động lại chiến lược giao dịch trực tiếp.
  • Thay đổi chiến lược logic.
  • Khởi động việc in thông tin gỡ lỗi nhất định, dữ liệu, và được sử dụng để kiểm tra các chức năng nhất định.

Các loại điều khiển tương tác

Chất biến (ví dụ tên) Mô tả Loại Giá trị mặc định (định nghĩa) Cấu hình của thành phần (viết tả) Nhận xét
cmdNum Mô tả điều khiển tương tác cmdNum số Giá trị mặc định là tùy chọn và có thể được để trống Sử dụng để thiết lập các điều khiển giao diện gắn liền với mục tương tác hiện tại: loại thành phần, giá trị tối thiểu, giá trị tối đa, nhóm, v.v. Lưu ý về điều khiển tương tác cmdNum
cmdBool Mô tả của điều khiển tương tác cmdBool Boolean (true/false) Giá trị mặc định bắt buộc, bật hoặc tắt Tương tự như trên. Lưu ý về điều khiển tương tác cmdBool
cmdStr Mô tả của bộ điều khiển tương tác cmdStr chuỗi Giá trị mặc định là tùy chọn và có thể được để trống Tương tự như trên. Lưu ý về cmdStr điều khiển tương tác
cmdCombox Mô tả của bộ điều khiển tương tác cmdCombox được chọn Giá trị mặc định là tùy chọn và có thể được để trống Tương tự như trên. Lưu ý về bộ điều khiển tương tác cmdCombox
cmdBtn Mô tả điều khiển tương tác cmdBtn nút Điều khiển nút không bị ràng buộc với mục đầu vào Tương tự như trên. Lưu ý về điều khiển tương tác cmdBtn

Thông báo được gửi đến chiến lược sau khi điều khiển tương tác được kích hoạt (dòng chữ): Sau khi nhập dữ liệu tương tác 123 vào hộp nhập cmdNum điều khiển tương tác, bấm nút cmdNum điều khiển tương tác. Chức năng GetCommand() trong chương trình chiến lược sẽ nhận được thông báo cmdNum:123. Thiết lập điều khiển chuyển đổi của điều khiển tương tác cmdBool để bật, và nhấp vào nút của điều khiển tương tác cmdBool.GetCommand()chức năng trong chương trình chiến lược sẽ nhận được thông báo:cmdBool:true. Sau khi nhập dữ liệu tương tác:abctrong hộp đầu vào cmdStr điều khiển tương tác, bấm nút cmdStr điều khiển tương tác.GetCommand()chức năng trong chương trình chiến lược sẽ nhận được thông báo:cmdStr:abc. Sau khi chọn tùy chọn thứ hai trong hộp thả xuống của điều khiển tương tác cmdCombox, bấm nút của điều khiển tương tác cmdCombox.GetCommand()chức năng trong chương trình chiến lược sẽ nhận được thông báo:cmdCombox:1, trong đó 1 đại diện cho chỉ số của tùy chọn được chọn, tùy chọn đầu tiên có chỉ số 0 và tùy chọn thứ hai có chỉ số 1. Nhấp vào nút của cmdBtn điều khiển tương tác.GetCommand()chức năng trong chương trình chiến lược sẽ nhận được thông báo:cmdBtn.

Cấu hình thành phần

Tùy chọn Component Configuration của điều khiển tương tác chiến lược được sử dụng để thiết lập các điều khiển tương ứng với 5 loại điều khiển tương tác trên nền tảng, tăng cường chức năng và đơn giản hóa thiết kế.

5 loại thành phần được hỗ trợ bởi các điều khiển tương tác:

  • Điều khiển tương tác số Các loại thành phần được hỗ trợ: điều khiển hộp đầu vào (bên mặc định), điều khiển bộ chọn thời gian và điều khiển thanh đầu vào trượt.
  • Các điều khiển tương tác boolean (true/false) Chỉ hỗ trợ điều khiển chuyển đổi (bên mặc định).
  • Điều khiển tương tác chuỗi Các loại thành phần được hỗ trợ: kiểm soát hộp đầu vào (bên mặc định), kiểm soát hộp văn bản, kiểm soát bộ chọn thời gian, kiểm soát bộ chọn màu sắc, tiền tệ và mã giao dịch.
  • Chọn điều khiển tương tác Các loại thành phần được hỗ trợ: điều khiển hộp thả xuống (bên mặc định), điều khiển bộ điều khiển phân đoạn, tiền tệ và mã giao dịch.
  • Điều khiển tương tác bằng nút Chỉ có một nút điều khiển (bên mặc định) và không có điều khiển đầu vào.

Các điều khiển tương tác cũng có thể được nhóm, giống như cài đặt tham số giao diện.

  • Nhóm Trong hộp nhập Group của cấu hình thành phần, bạn có thể nhập tên cho một nhãn để nhóm một số điều khiển tương tác chiến lược vào một nhãn nhóm (thay thế chức năng cũ của nền tảng Interaction Control Grouping).

Điều khiển tương tác trong thanh trạng thái

Ngoài việc thiết kế các điều khiển tương tác trong cột Strategy Interaction, bạn cũng có thể thiết kế các điều khiển tương tác trong cột Status Strategy.LogStatusphần chức năng của Hướng dẫn cú pháp. Các điều khiển nút trong thanh trạng thái có thể được phân loại như sau:

  • Điều khiển nút chung Một ví dụ về cấu trúc dữ liệu là:

    {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    
  • Điều khiển nút với đầu vào dữ liệu Sử dụnginputthuộc tính để thiết lập các tùy chọn điều khiển đầu vào, với một cấu trúc dữ liệu ví dụ:

    {"type": "button", "name": "button2", "cmd": "button2", "description": "This is the second button.", "input": {"name": "number of open positions", "type": "number", "defValue": 1}}
    
    {
        "type": "button",
        "cmd": "test1",
        "name": "test1",
        "input": {
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 100,
            "settings": {
                "multiple": true,
                "customizable": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        },
    }
    
  • Điều khiển nút với một bộ dữ liệu đầu vào Sử dụnggroupthuộc tính để thiết lập các tùy chọn cho một nhóm điều khiển đầu vào, với một cấu trúc dữ liệu ví dụ:

    {
        "type": "button",
        "cmd": "open",
        "name": "open positions",
        "group": [
            {"name": "orderType", "description": "下单方式|order type", "type": "selected", "defValue": "market order|pending order"},
            {"name": "tradePrice@orderType==1", "description": "交易价格|trade price", "type": "number", "defValue": 100},
            {"name": "orderAmount", "description": "委托数量|order amount", "type": "string", "defValue": 100},
            {"name": "boolean", "description": "yes/no|boolean", "type": "boolean", "defValue": True}
        ]
    }
    
    {
        "type": "button",
        "cmd": "test2",
        "name": "test2",
        "group": [{
            "type": "selected",
            "name": "selected",
            "label": "drop-down box",
            "description": "description",
            "default": 200,
            "group": "group1",
            "settings": {
                "multiple": true,
                "options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
            }
        }, {
            "type": "string",
            "name": "string",
            "label": "input box",
            "description": "description",
            "default": "ABC",
            "group": "group1"
        }],
    }
    

Mã hóa các dữ liệu JSON kiểm soát nút này vào một chuỗi JSON, sau đó bọc nó với`lấy ngôn ngữ JavaScript làm ví dụ:

function main() {
    var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
    LogStatus("`" + JSON.stringify(btn) + "`")
}

Các điều khiển nút này cũng có thể được viết vào biểu mẫu thanh trạng thái, vui lòng tham khảoHướng dẫn cú phápcho các ví dụ chi tiết.

Cấu trúc củainputtrường là phù hợp với cấu trúc của một kiểm soát duy nhất tronggroupSau đây là mô tả chi tiết:

{
    "type": "selected",     // Control type (required field), supports the following settings: number, string, selected, boolean
    "name": "test",         // Name (required when used in group)
    "label": "topic",       // Title (required field)
    "description": "desc",  // Component tips
    "default": 1,           // Default value; if the settings field is not set in the current JSON structure, defValue is compatible and can be used instead of default
    "filter": "a>1",        // Selector. If this field is not set, no filtering (controls are displayed). If this field is set, no filtering (controls are displayed) occurs when the expression is true. Filtering occurs when the expression is false (controls are not displayed)
                            // For the selector, take the expression a>1 in the current example as an example, a refers to the value of the control with name a under the group field in the structure of type=button. This value is used to determine whether to filter.
    "group": "group1",      // Grouping
    "settings": { ... },    // Component configuration
}

Cấu hình thành phầnsettingsmỗi trường được mô tả chi tiết:

  • settings.required: Liệu tùy chọn này có cần thiết hay không.
  • settings.disabled: Có nên vô hiệu hóa hay không.
  • settings.min: Có hiệu lực khitype=number, chỉ ra giá trị tối thiểu hoặc chiều dài chuỗi tối thiểu.
  • settings.max: Có hiệu lực khitype=number, chỉ ra giá trị tối đa hoặc chiều dài chuỗi tối đa.
  • settings.step: type=number, có hiệu lực khirender=slider, cho thấy chiều dài bước.
  • settings.multiple: type=selectedlà hợp lệ, cho thấy hỗ trợ nhiều lựa chọn.
  • settings.customizable: type=selectedlà hợp lệ, chỉ ra rằng tùy chỉnh được hỗ trợ; người dùng có thể trực tiếp chỉnh sửa và thêm các tùy chọn mới trong điều khiển hộp thả xuống. Nếu tùy chọn mới được chỉnh sửa được chọn, tên của tùy chọn được sử dụng thay vì giá trị đại diện cho tùy chọn khi tương tác được kích hoạt.
  • settings.options: Có hiệu lực khitype=selected, chỉ định định dạng dữ liệu tùy chọn chọn:["option 1", "option 2"], [{'name':'xxx','value':0}, {'name':'xxx','value':1}].
  • settings.render: Loại thành phần hiển thị. Khi nàotype=number, settings.renderkhông được thiết lập (hộp nhập số mặc định), tùy chọn:slider(bảng trượt),date(chọn thời gian trả về dấu thời gian). Khi nàotype=string, settings.renderkhông được thiết lập (hộp nhập một dòng mặc định).textarea(sản nhập nhiều dòng),date(chọn thời gian trả về yyyy-MM-dd hh:mm:ss),color(điểm chọn màu trả về #FF00FF). Khi nàotype=selected, settings.renderkhông được thiết lập (bộ thả xuống mặc định), tùy chọn:segment(chọn phân đoạn).type=booleanhiện chỉ có hộp kiểm mặc định.

Hỗ trợ cài đặt song ngữ, ví dụ: nội dung văn bản của'选项 | options'sẽ được điều chỉnh theo môi trường ngôn ngữ hiện tại;grouptrường như một ví dụ, ví dụ đầy đủ là:

{
    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}]
    }
}
Các thông số chiến lược Giao dịch quyền chọn