Trong bài viết trước, chúng tôi đã tìm hiểu về các tham số mẫu của
Các thông số chiến lược cho MyLanguage được thiết lập trên trang chỉnh sửa chiến lược, giống như các ngôn ngữ khác trên nền tảng giao dịch FMZ Quant, ví dụ, chúng tôi lấy cácDual Thrust
chiến lược của phiên bản MyLanguage như một ví dụ.
Địa chỉ chiến lược:https://www.fmz.com/strategy/128884 。
Các tham số được đặt cho chiến lược trong trang chỉnh sửa chiến lược có sẵn trực tiếp trong mã chiến lược. Nói chung, các tham số chiến lược trong MyLanguage chỉ áp dụng các loại số, các loại khác, chẳng hạn như boolean, hộp thả xuống, chuỗi, vv không thường được sử dụng.
Ví dụ, trong ví dụ trên, giá trị mặc định của N là 4. Nếu tham số này không được sửa đổi khi tạo robot, thì sau khi robot chạy, giá trị của N trong chiến lược là 4.
Chúng ta đã hiểu được nội dung của mức chiến lược MyLanguage (các tham số chiến lược MyLanguage, các tham số mẫu của thư viện lớp giao dịch MyLanguage).
Kiểm tra ngược
Mylanguage cũng hỗ trợ nhiều dữ liệu giai đoạn K-line trong chiến lược. Nhưng giai đoạn K-line được đặt ở đây là giai đoạn K-line mặc định, và K-line được đặt ở đây là K-line hàng ngày, vì vậy biểu đồ được tạo tự động sau khi chiến lược chạy là K-line hàng ngày. Chế độ backtest được chia thành
Các thông số liên quan đến thị trường và sàn giao dịch, chẳng hạn như giá trị quỹ mô phỏng backtesting, tỷ lệ giao dịch backtesting, độ chính xác giá backtesting, độ chính xác số lượng giao dịch và nguồn dữ liệu backtesting, tất cả những điều này không có hiệu lực sau khi được sửa đổi trên trang backtesting. Các thị trường và sàn giao dịch đã được thêm trước đó cần phải được xóa, và sau đó chúng tôi thêm chúng lại, đó là những thứ mới.
Robot thực sự
Các thiết lập bot thực tế đơn giản hơn nhiều. Chúng ta chỉ cần chỉ định docker cho cấu hình robot được tạo (tức là docker nào để chạy robot). Đặt khoảng K-line và đối tượng trao đổi được vận hành (tức là đối tượng tài khoản trao đổi được cấu hình).
Khi chiến lược đang chạy, có rất ít sự khác biệt giữa bot thực sự và backtesting, nhưng backtest có nhiều dữ liệu thống kê được tạo ra tự động bởi hệ thống backtesting.
Thông tin thanh trạng thái
Thông tin thanh trạng thái chủ yếu được chia thành
Thông tin thị trường chủ yếu ghi lại thời gian bắt đầu giai đoạn, loại giao dịch (mã hợp đồng), số lượng vị trí, giá vị trí và các dữ liệu khác của giai đoạn K-line mặc định hiện đang được thiết lập. Cần lưu ý rằng các bản cập nhật thị trường ở đây khác nhau khi thiết lập mô hình
Thông tin quỹ chủ yếu ghi lại giá trị của robot từ đầu hoạt động đến quỹ hiện tại.
Bất kỳ dữ liệu nào trong chiến lược cũng có thể được hiển thị ở dưới cùng của thanh trạng thái, ví dụ, trong ví dụ: UPTRACK, DOWNTRACK, được hiển thị theo yêu cầu.
Các ký hiệu sau đây được sử dụng để gán giá trị cho một biến (được trích từ tài liệu API MyLanguage)
Biểu tượng:
Các dấu hai chấm đại diện cho việc phân bổ và nó được xuất ra biểu đồ (phần biểu đồ) và hiển thị trong bảng thanh trạng thái.
Biểu tượng:=
Các dấu hai chấm đại diện cho việc phân bổ, nhưng nó không được xuất ra biểu đồ (bản đồ chính, biểu đồ phụ...), cũng không hiển thị trong bảng thanh trạng thái.
Biểu tượng^^
Hai ký hiệu ^ đại diện cho việc gán, gán giá trị cho các biến và xuất ra biểu đồ (bảng chính), được hiển thị trong bảng thanh trạng thái.
Biểu tượng..
Hai biểu tượng đại diện cho việc gán, gán giá trị cho các biến và hiển thị trong bảng thanh trạng thái, nhưng chúng không xuất ra biểu đồ (bản đồ chính, biểu đồ phụ...).
Có thể thấy rằng các biểu tượng này đều là các hoạt động gán, nhưng sự khác biệt nằm ở việc liệu các biến có được hiển thị trong thanh trạng thái hay không, và liệu các biến có được vẽ trên biểu đồ chính và biểu đồ phụ (được hiển thị sau).^^
, :
, ..
tất cả có thể hiển thị các giá trị biến ở cuối bảng thanh trạng thái.
Biểu đồ đường K Theo thời gian K-line mặc định được đặt trên các trang backtesting chiến lược và bot thực tế, chiến lược sẽ tạo ra một biểu đồ K-line và hiển thị đường cong giá trị biến trên biểu đồ K-line theo nội dung của chiến lược. Ví dụ, biểu đồ trong ví dụ:
Biểu đồ chính:
Nói một cách đơn giản, biểu đồ chính chia sẻ cùng trục Y với đường K, vì vậy khi nào bạn cần hiển thị dữ liệu trong biểu đồ chính?
Khi giá trị của dữ liệu và đường chỉ số được hiển thị tương tự như giá của chủ đề (tức là tương tự như giá trị giá trên K-line BAR), nó có thể được hiển thị trên biểu đồ chính, chẳng hạn như đường trung bình được tính toán bởi chiến lược, chẳng hạn như tăng và giảm (UPTRACK
vàDOWNTRACK
) của giá được tính trong ví dụ này.
Biểu đồ:
Loại dữ liệu nào phù hợp để hiển thị trên biểu đồ phụ?
Khi sự khác biệt giữa đường được vẽ (dữ liệu được hiển thị) và giá trị giá trên BAR của đường K là lớn (cao hơn hoặc nhỏ hơn giá trên đường K), nó có thể được hiển thị trên biểu đồ phụ, bởi vì nếu nó được hiển thị trên biểu đồ chính vào thời điểm này, nó sẽ dẫn đến nén hình ảnh, rất khó quan sát. Ví dụ, khi các chỉ số MACD được tính toán và hiển thị trên biểu đồ.
Ví dụ, thêm một câu vào chiến lược ví dụ,AA ^ ^ (O-C) * 100000
;
Biểu đồ đường K đã bị nén và không thể tìm thấy.
Một sự khác biệt khác là biểu đồ chiến lược MyLanguage là HighCharts cho bot thực và tradingView biểu đồ cho backtesting.
Biểu đồ cho robot thực sự:
Các chiến lược MyLanguage, khi tín hiệu giao dịch được kích hoạt (BK
, SK
, BP
, SP
, BPK
, SPK
), một nhật ký sẽ được in để hiển thị vị trí (số dòng) của tín hiệu kích hoạt trong mã và số lần kích hoạt tín hiệu.
Sau khi đặt một lệnh giá nhật ký, số lượng, nhật ký cũng sẽ xuất giá cấp đầu tiên của đối tác hiện tại. Ví dụ, khi bạn mua một lệnh vị trí dài, giá và số lượng của yêu cầu (tức là mức bán một) lệnh sẽ được hiển thị.