Thực hiện nhanh chóng một công cụ giao dịch định lượng bán tự động
Trong giao dịch hợp đồng tương lai hàng hóa, sự điều chỉnh giữa thời gian là một phương pháp giao dịch phổ biến. Loại điều chỉnh này không phải là không có rủi ro. Khi hướng đơn phương của chênh lệch tiếp tục mở rộng, vị trí điều chỉnh sẽ ở trong trạng thái mất nổi. Tuy nhiên, miễn là vị trí điều chỉnh được kiểm soát đúng cách, nó vẫn rất hoạt động và khả thi.
Trong bài viết này, chúng tôi cố gắng chuyển sang một chiến lược giao dịch khác, thay vì xây dựng một chiến lược giao dịch hoàn toàn tự động, chúng tôi đã nhận ra một công cụ giao dịch định lượng tương tác bán tự động để làm cho nó dễ dàng hơn để điều chỉnh giữa thời gian trong giao dịch tương lai hàng hóa.
Nền tảng phát triển chúng tôi sẽ sử dụng nền tảng FMZ Quant.
Điều tra giữa thời gian là một khái niệm rất đơn giản.
# Strategy Design
The strategy framework is as follows:
Chức năng chính
Trong khi (đúng)
If(exchange.IO(
If the CTP protocol is connected properly, then we need to set up the trading contract and then get the market quote. After obtaining the quotes, we can use the FMZ Quant platform build-in "line drawing" library to draw the difference.
Chức năng chính
Trong khi (đúng)
If(exchange.IO(
LogStatus(_D(),
Get the market data, calculate the difference, and draw the graph to record. let it simply reflects the recent fluctuations in the price difference.
Use the function of "line drawing" library ```$.PlotLine```
![Quickly implement a semi-automatic quantitative trading tool](/upload/asset/6e286fea238b8266dd13.png)
# Interactive part
On the strategy editing page, you can add interactive controls directly to the strategy:
![Quickly implement a semi-automatic quantitative trading tool](/upload/asset/6e9b91112616d444b964.png)
Use the function ```GetCommand``` in the strategy code to capture the command that was sent to the robot after the above strategy control was triggered.
After the command is captured, different commands can be processed differently.
The trading part of the code can be packaged using the "Commodity Futures Trading Class Library" function. First, use ```var q = $.NewTaskQueue()``` to generate the transaction control object ```q``` (declared as a global variable).
var cmd = GetCommand()
if (cmd) {
if (cmd ==