Nó thực sự đơn giản để viết các chiến lược xu hướng trong MyLanguage. Nhờ vào encapsulation, chúng ta có thể viết một chiến lược chỉ với một vài dòng mã.https://www.fmz.com/bbs-topic/9480), có một số bài viết hướng dẫn thiếu. Do đó, trong bài viết này, chúng ta sẽ học cách làm quen với MyLanguage trên FMZ. MyLanguage trên FMZ có thể được chia thành ba lĩnh vực: tương lai hàng hóa, giao dịch tiền tệ kỹ thuật số và tương lai tiền tệ kỹ thuật số. Chúng ta hãy sắp xếp sự khác biệt trong việc sử dụng các thị trường khác nhau cùng nhau. Hãy xem xét một nội dung quan trọng trước.
Thư viện lớp giao dịch MyLanguage là một thư viện lớp framework tích hợp và gói gọn một số giá trị, tham số và chế độ cần được thiết lập bởi người dùng, nó tách khỏi cấp code chiến lược, và nó được thiết lập và cấu hình bởi người dùng khi tạo robot.
Hiểu được các thông số và cài đặt này là rất cần thiết để làm chủ chiến lược sử dụng MyLanguage trên FMZ. Hãy cùng nhau tìm hiểu khái niệm và mục đích của mỗi thông số.
Bar model
vàTick model
.
Nói một cách đơn giản, khi thanh K-line cuối cùng được hoàn thành và thanh K-line mới xuất hiện, chương trình robot thực hiện logic chiến lược đã thiết lập (mã chiến lược giao dịch được viết) một lần. Ưu điểm của mô hình này là tránh sự can thiệp gây ra bởi sự thay đổi giá thời gian thực trong giai đoạn, và chỉ xem dữ liệu thị trường khi thanh K-line cuối cùng được hoàn tất, làm cơ sở cho giao dịch chiến lược và mở và đóng các vị trí.
- Tick model
Tick model refers to the continuous implementation of the established strategic logic according to the real-time market. Once the trading conditions in the strategy are triggered, it will execute the trading instructions immediately. The advantage of this model is to monitor the market in real-time and execute trading instructions immediately without waiting for confirmation. The disadvantage is that it is easy to be disturbed frequently by the market. As shown in the following figure, the update time changes in real-time, and the chart also shows the last K-line bar (the current K-line bar, and the K-line bar on the chart also changes in real-time).
MA5^^MA(C,5);
MA10^^MA(C,10);
CROSSUP(MA5,MA10),BK;
Tại thời điểm này, nếu CROSSUP (MA5, MA10)
được kích hoạt, số lượng các vị trí mở là 2 (số lượng cụ thể các vị trí mở là 2, 2 loại tiền tệ hoặc 2 hợp đồng, tùy thuộc vào sàn giao dịch nào được thêm vào, cho dù đó là hợp đồng tương lai hàng hóa, hợp đồng giao dịch trực tiếp tiền kỹ thuật số hoặc hợp đồng tương lai tiền kỹ thuật số).
Lấy hệ thống backtest làm ví dụ:
Số lượng đặt hàng tối đa của một giao dịch duy nhất Số lượng tối đa cho phép cho một đơn đặt hàng. Nếu tập tín hiệu kích hoạt một số lượng đơn đặt hàng lớn (được đặt bởi tham số lệnh trong chiến lược hoặc số lượng mặc định của các vị trí mở), đơn đặt hàng sẽ được chia thành các đơn đặt hàng nhỏ để đặt đơn đặt hàng.
Điểm trượt (tổng số)
Các thông số liên quan đếnpricing currency accuracy
tham số trong nhóm
Trong giao dịch tương lai hàng hóa, các loại khác nhau có giá khác nhauTick (tức là giá mỗi bước nhảy), và điều tương tự cũng đúng trong giao dịch tiền kỹ thuật số.i2009
hợp đồng quặng sắt 2009, giá mỗi bước nhảy là 0.5. Nếu tôi đặt một lệnh 760.1, nó không đáp ứng các yêu cầu của priceTick. Một lệnh như vậy không thể được đặt thành công, và sàn giao dịch sẽ từ chối lệnh. Nếu lệnh là 760.5, nó là OK. Do đó, vấn đề này cần phải được xem xét khi thiết lập giá trượt.
Đối với hợp đồng tương lai hàng hóa, hệ thống sẽ lấy giáTick của các loại hiện tại tự động (đối tượng chính xác giá tiền tệ không hiệu quả).sliding point
đặt là một số nhiều của giáTick, ví dụ:
Nó cho thấy rằng giá quặng sắt mỗi lần nhảy là 0,5 khi chúng ta đặt điểm trượt lên 5.
Bởi vì tiền kỹ thuật số cung cấp thông tin như giá mỗi bước nhảy không đồng đều, và một số cung cấp nó, và một số không. Do đó, tham số
Parameter này chủ yếu được sử dụng để thiết lập mã hợp đồng củacommodity futures
vàdigital currency futures
Xin tham khảo tài liệu MyLanguage để biết chi tiết:https://www.fmz.com/bbs-topic/9480
-Tương lai tiền tệ kỹ thuật số Xem tài liệu API:https://www.fmz.com/api#exchange.setcontracttype..Mô tả mã hợp đồng.
Nếu đối tượng trao đổi được thêm vào bởi chiến lược là đồng tiền kỹ thuật số tại chỗ, cài đặt tham số này không hợp lệ.
Kiểm tra tham số này và khởi động lại sau khi chiến lược dừng lại. Vị trí trước sẽ tiếp tục và tín hiệu sẽ tiếp tục chạy, thay vì chạy bằng cách sử dụng trạng thái ban đầu. Nếu chúng ta cần chạy chiến lược trong trạng thái ban đầu, chúng ta có thể để tham số này không được kiểm tra.
Nếu không có giao dịch khi đặt lệnh (ví dụ, nếu thị trường thay đổi nhanh chóng và giá trượt không được đặt thành một số lớn, vị trí mở có thể đã di chuyển khi đặt lệnh). hủy lệnh và thay thế lệnh. Parameter này kiểm soát số lần thay thế lệnh. Hơn số lần, không có lệnh nữa, việc thực hiện tín hiệu hoàn tất.
- Khoảng thời gian xoay mạng (milliseconds)
Nó chỉ có giá trị cho hợp đồng tương lai và tiền mặt tiền kỹ thuật số và kiểm soát tần suất xoay của chương trình.
Khoảng thời gian đọc dữ liệu tài khoản.
Nó chủ yếu được sử dụng cho trao đổi tương lai tiền kỹ thuật số. Đôi khi giao diện của trao đổi tương lai tiền kỹ thuật số sẽ quay lại dữ liệu cũ, dẫn đến lỗi đánh giá vị trí, do đó làm cho chiến lược đặt lệnh lặp đi lặp lại. Vấn đề này có thể được giảm bớt bằng cách tăng cài đặt tham số. Hãy để chiến lược chờ một thời gian nhất định để đồng bộ hóa vị trí sau khi đặt lệnh.
Điều kiện này chỉ được sử dụng cho hợp đồng tương lai tiền kỹ thuật số. Đặt đòn bẩy của hợp đồng tương lai tiền kỹ thuật số. Phạm vi và giá trị đòn bẩy được hỗ trợ bởi mỗi sàn giao dịch tương lai tiền kỹ thuật số có thể khác nhau, vì vậy nó nên được đặt cụ thể. Các hợp đồng tương lai hàng hóa là tỷ lệ ký quỹ cố định và chúng không thể được thiết lập độc lập.
Số lượng mỗi lô Thông số này chỉ có giá trị cho các giao dịch giao ngay tiền kỹ thuật số, tức là đặt số lượng lệnh mặc định
Khối lượng giao dịch tối thiểu Nó được sử dụng cho đồng tiền kỹ thuật số tại chỗ, khác với khái niệm chính xác, người mới đến luôn luôn bị nhầm lẫn ở đây, chính xác đề cập đến vị trí thập phân chính xác, chứ không phải là giá trị số. Khối lượng giao dịch tối thiểu đề cập đến giá trị tối thiểu của mỗi lệnh, nếu số lượng lệnh tính toán thấp hơn giá trị này, nó sẽ không được giao dịch (như không đủ quỹ, giao dịch không hoàn chỉnh và số lượng nhỏ còn lại của các giao dịch được lên kế hoạch trong một giao dịch duy nhất). Nói đơn giản, một hoạt động đơn đặt hàng, số lượng đơn đặt hàng tối thiểu để đáp ứng giá trị này. Nếu nó thấp hơn giá trị này, sẽ không đặt lệnh.
Định giá chính xác tiền tệ Các cặp giao dịch có giá trị rất nhỏ và có số lượng lớn các chữ số thập phân giá. Cần chú ý đến việc thiết lập độ chính xác giá này.
Độ chính xác giao dịch đa dạng Biểu đồ này đề cập đến độ chính xác số lượng đơn đặt hàng trong quá trình giao dịch và nó điều khiển các vị trí thập phân của số lượng đơn đặt hàng. Ví dụ, kế hoạch số lượng đơn vị là 0.1234 tiền tệ. Nếu tham số này được đặt thành 2, số lượng đơn đặt hàng sẽ được điều chỉnh thành 0.12.
Ủy ban Thông số này được sử dụng cho tiền tệ kỹ thuật số tại chỗ, và thông số hoa hồng được sử dụng để tính số lượng đơn đặt hàng khi đặt đơn đặt hàng (khi đặt đơn đặt hàng mua), để tránh số lượng đơn đặt hàng được tính toán vượt quá số lượng tài sản thực sự cần thiết. Nếu tỷ lệ hoa hồng của sàn giao dịch không chắc chắn, thông số này có thể được đặt lớn hơn một chút.
Khoảng thời gian thống kê lợi nhuận và lỗ Thống kê lợi nhuận MyLanguage được tính toán theo khoảng thời gian thường xuyên và in lợi nhuận và lỗ lưu động hiện tại, do đó, cho dù vị trí được giữ hay không (không có vị trí thực sự trong tiền kỹ thuật số, đó là một vị trí hợp lý), nó có thể được tính toán.
Thất bại và thử lại (milliseconds) Thông số này được sử dụng để xác định khoảng thời gian giữa các lần thử lại khi cuộc gọi giao diện thất bại.
Sử dụng proxy Thông thường, các giao dịch này được sử dụng cho các giao dịch tương lai tiền kỹ thuật số và giao dịch tiền mặt kỹ thuật số.
Địa chỉ cơ sở chuyển đổi Điều kiện này chủ yếu được sử dụng cho hợp đồng tương lai tiền kỹ thuật số và tiền kỹ thuật số. Nó được sử dụng để chuyển địa chỉ cơ sở của giao diện API giao thức nghỉ, chẳng hạn như:https://www.okex.com. Nó chỉ có thể được truy cập bởi các máy chủ ở nước ngoài. Bạn có thể sử dụng tham số này để chuyển sang:https://www.okex.meBằng cách này, docker chạy trên máy tính địa phương cũng có thể truy cập giao diện trao đổi OKEX.
Thông báo đẩy Sau khi tham số này được kiểm tra, nhật ký lệnh sẽ được đặt, và thông báo đẩy trong chiến lược sẽ được đẩy đến tùy chọn đẩy được đặt bởi tài khoản hiện tại.
Chúng ta hãy làm quen với các tham số mẫu của MyLanguage ở đây. Trong phần tiếp theo, chúng ta có thể làm quen với giao diện thời gian chạy MyLanguage, biểu đồ, v.v. trên nền tảng FMZ.