Khi phát triển các chiến lược trên nền tảng giao dịch lượng tử FMZ, cần thiết phải thiết kế các tham số chiến lược và tương tác chiến lược. Nền tảng giao dịch lượng tử FMZ cam kết cung cấp các công cụ giao dịch định lượng dễ sử dụng và mạnh mẽ, và liên tục lặp lại thiết kế và chức năng sản phẩm. Bằng cách nâng cấp các tham số chiến lược và các điều khiển tương tác, tính linh hoạt thiết kế các tham số và tương tác trong thiết kế chiến lược đã được tăng thêm. Các chức năng của các tham số chiến lược và các điều khiển tương tác đã được nâng cao, giúp một số yêu cầu thiết kế dễ dàng hơn để đạt được.
Các loại tham số chiến lược trong FMZ Quant không tăng lên, và chúng vẫn là năm loại tham số mà chúng tôi quen thuộc:
Sau đó bạn chắc chắn sẽ hỏi tôi, những nội dung đã được thêm vào và tối ưu hóa trong bản cập nhật nền tảng này?
Nâng cấp này thêm
Chúng tôi đã nói ngắn gọn về các chức năng
Thiết lập các thuộc tính, loại và quy tắc khác nhau của điều khiển mà tham số tương ứng (được ràng buộc). Điều khiển mặc định gắn với tham số số (loại số) là hộp đầu vào. Bạn có thể thiết lập các quy tắc cho dữ liệu được nhận bởi hộp đầu vào, nghĩa là sử dụng các điều khiển
minimum value và maximum value trong hình để thiết lập.
Ngoài điều khiển hộp đầu vào mặc định, nền tảng đã thêm:
Các tham số Boolean đặc biệt bởi vì chúng chỉ có một điều khiển tương ứng, đó là điều khiển chuyển đổi mặc định.
Bởi vì các giá trị Boolean là true hoặc false, chúng là các tùy chọn nhị phân.
Nói chung, các tham số loại Boolean được sử dụng để kiểm soát xem các chức năng chiến lược nhất định có được bật trên nền tảng hay không.
Ngoài điều khiển hộp đầu vào mặc định, nền tảng đã thêm:
Văn bản
Trong
Lựa chọn thời gian
Trong
Chức năng điều khiển mặc định tương ứng của tham số hộp thả xuống là hộp thả xuống, nhưng lần này rất nhiều nâng cấp đã được thực hiện cho hộp thả xuống đơn giản trước đó:
Ngoài điều khiển hộp thả xuống mặc định, lần này nền tảng thêm:
Các tham số chuỗi được mã hóa cũng khá đặc biệt, và nó chỉ có một điều khiển tương ứng, đó là điều khiển hộp đầu vào được mã hóa mặc định.
Trên nền tảng, các điều khiển kiểu chuỗi được mã hóa thường được sử dụng để thiết lập thông tin nhạy cảm, chẳng hạn như khóa bí mật, mật khẩu, v.v. Các giá trị tham số đầu vào này sẽ được mã hóa cục bộ trước khi truyền.
Giá trị biến của tham số giao diện là: string.
Đối với tất cả các loại tham số giao diện chiến lược trên, nâng cấp này tích hợp các hàm
Filter format: a>b , a==1 , a , !a , a>=1&&a<=10 , a>b
Ở đây, cả a và b đều đại diện cho các biến của các thông số giao diện chiến lược.
Nếu những lời giải thích trên hơi không trực quan, cách tốt nhất để hiểu chúng là thực sự sử dụng và kiểm tra các hàm tham số này:
Hãy lấy chiến lược ngôn ngữ JavaScript làm ví dụ:
function main() {
Log("---------------------------Start testing numeric type parameters---------------------------")
Log("Variable pNum1:", pNum1, ", Variable value type:", typeof(pNum1))
Log("Variable pNum2:", pNum2, ", Variable value type:", typeof(pNum2))
Log("Variable pNum3:", pNum3, ", Variable value type:", typeof(pNum3))
Log("Variable pNum4:", pNum4, ", Variable value type:", typeof(pNum4))
Log("---------------------------Start testing Boolean type parameters---------------------------")
Log("Variable pBool1:", pBool1, ", Variable value type:", typeof(pBool1))
Log("Variable pBool2:", pBool2, ", Variable value type:", typeof(pBool2))
Log("---------------------------Start testing string type parameters---------------------------")
Log("Variable pStr1:", pStr1, ", Variable value type:", typeof(pStr1))
Log("Variable pStr2:", pStr2, ", Variable value type:", typeof(pStr2))
Log("Variable pStr3:", pStr3, ", Variable value type:", typeof(pStr3))
Log("Variable pStr4:", pStr4, ", Variable value type:", typeof(pStr4))
Log("---------------------------Start testing the drop-down box type parameters---------------------------")
Log("Variable pCombox1:", pCombox1, ", Variable value type:", typeof(pCombox1))
Log("Variable pCombox2:", pCombox2, ", Variable value type:", typeof(pCombox2))
Log("Variable pCombox3:", pCombox3, ", Variable value type:", typeof(pCombox3))
Log("---------------------------Start testing encryption string type parameters---------------------------")
Log("Variable pSecretStr1:", pSecretStr1, ", Variable value type:", typeof(pSecretStr1))
}
Chiến lược thử nghiệm tham số hoàn chỉnh:https://www.fmz.com/strategy/455212
Có một thiết kế phụ thuộc tham số ẩn trong các tham số trên. Nhiều chiến lược có yêu cầu cho phép một loạt các cài đặt dựa trên một tham số nhất định, có thể đạt được với các phụ thuộc tham số như thế này.
Nền tảng giao dịch lượng tử FMZ cũng có năm loại điều khiển tương tác chiến lược, được tối ưu hóa và nâng cấp lần này.
Các điều khiển tương tác về cơ bản giống như cấu hình thành phần của các tham số giao diện chiến lược.
Việc sử dụng giống như các loại thành phần khác nhau của các tham số giao diện chiến lược, vì vậy nó sẽ không được lặp lại ở đây.
Các điều khiển tương tác về cơ bản giống như cấu hình thành phần của các tham số giao diện chiến lược.
Ngoài điều khiển hộp đầu vào mặc định, loại thành phần cũng hỗ trợ:
Hộp thả xuống của điều khiển tương tác cũng đã được nâng cấp:
Ngoài thành phần hộp thả xuống mặc định, những điều sau đây được thêm vào:
Bộ điều khiển phân đoạn Lệnh tương tác được gửi chứa chỉ mục hoặc dữ liệu bị ràng buộc của thanh trượt được chọn.
Kiểm soát tương tác loại nút không có bất kỳ mục đầu vào nào. Khi được kích hoạt, lệnh tương tác được gửi chỉ chứa tên điều khiển nút.
Cách tốt nhất để hiểu nó là kiểm tra nó bằng tay.
Cần lưu ý rằng các điều khiển tương tác không thể được thử nghiệm trong hệ thống backtesting và chỉ có thể tạo thử nghiệm trực tiếp.
function main() {
var lastCmd = ""
while (true) {
var cmd = GetCommand() // Receive messages generated by interactive controls
if (cmd) {
Log(cmd)
lastCmd = cmd
}
LogStatus(_D(), lastCmd)
Sleep(500)
}
}
Nhập một số thông tin ngẫu nhiên, đặt một số tùy chọn, và sau đó nhấp vào nút điều khiển tương tác để tạo các thông điệp tương tác.
Chiến lược thử nghiệm điều khiển tương tác hoàn thành:https://www.fmz.com/strategy/455231
function main() {
Log("After parameter test1 is selected using currency controls, the value of test1 is:", test1)
Log("After parameter test2 is selected using trading pair controls, the value of test2 is:", test2)
}
After parameter test1 is selected using currency controls, the value of test1 is: BTC
After parameter test2 is selected using trading pair controls, the value of test2 is: ETH_USDT.next_quarter
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
test1:SOL
test2:XRP_USDT.swap