Chiến lược Mylanguage để đạt được việc đẩy thời gian thực của các thay đổi vị trí đến ứng dụng di động & WeChat

Tác giả:Ninabadass, Tạo: 2022-04-12 16:30:25, Cập nhật:

1. Tóm tắt

Với sự cải tiến liên tục của các chiến lược giao dịch định lượng, người dùng có yêu cầu ngày càng cao hơn cho việc đẩy thời gian thực của các thay đổi vị trí. Ví dụ: Lưu trữ trực tuyến trên web, ứng dụng di động và WeChat, vv tất cả đều cần thay đổi vị trí tài khoản trong thời gian thực, đòi hỏi phải đẩy tự động các thay đổi được gửi đến trình duyệt và điện thoại di động, vv. Vì lý do này, bài viết này nhằm vào FMZ Quant (FMZ.COM) Mylanguage chiến lược để đạt được thời gian thực đẩy các vị trí đến ứng dụng di động và WeChat.

Để xem mã nguồn đầy đủ trong bài viết, vui lòng nhấp vào liên kết:https://www.fmz.com/strategy/305785, và tôi đề nghị bạn viết mã để thực hành, vì chỉ học từ đọc mã là không đủ.

2. Hiển thị chiến lược giao dịch

Để dễ dàng chứng minh, bài viết này sẽ tham chiếu đến chiến lược giao dịch %R của Williams trước đây.https://www.fmz.com/strategy/283024. Logic chiến lược bao gồm giá trị Williams và đường trung bình động. Để xem toàn bộ chiến lược và cấu hình backtest, bạn có thể nhấp vào liên kết này để có được nó. Mã của chiến lược này được hiển thị như sau:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

3. Cải thiện ngôn ngữ

The Mylanguage trên FMZ Quant (FMZ.COMMylanguage có một cú pháp đơn giản, có thể xử lý logic của một số chiến lược đơn giản; khi xử lý một số chiến lược phức tạp, ngôn ngữ sẽ hiển thị một số vấn đề. Do đó, FMZ Quant đã thúc đẩy chức năng nâng cao ngôn ngữ dựa trên Mylanguage. Ví dụ như ví dụ mã sau:

%%
// here we can call any API of FMZ Quant  
scope.TEST = function(obj) {
    return obj.val * 100;
}
%% 
close price:C;
Zoom 100 times of close price:TEST(C);
Zoom 100 times of last close price:TEST(REF(C, 1)); // move the mouse to the backtested K-line, and the variable value will prompt 

Như được hiển thị trong mã trên, chức năng nâng cao ngôn ngữ cho phép lập trình của Mylanguage và JavaScript được trộn lẫn.https://www.fmz.com/doc/2569#语�%A8%80%E5%A2%9E%E5%BC%BA

Bao gồm:

1.Object scopescope object; có thể thêm các thuộc tính vào nó, và gán các hàm ẩn danh cho các thuộc tính.

2.scope.get_locals ((name)Chức năng có thể lấy các biến của Mylanguage, để nhận ra sự tương tác giữa Mylanguage và JavaScript.

4. Đẩy thay đổi vị trí

Trong một chiến lược Mylanguage, hàm BKVOL có thể lấy tín hiệu mua Lot, tức là vị trí mua hiện tại. Chức năng SKVOL có thể lấy tín hiệu bán Lot, tức là vị trí mua hiện tại. Sau đó, chúng ta có thể tính trạng thái thay đổi vị trí hiện tại bằng cách trừ SKVOL từ BKVOL. Như được hiển thị trong mã dưới đây:

HC := HHV(HIGH, 14) - CLOSE;
HL := HHV(HIGH, 14) - LLV(LOW, 14);
WR := -100 * HC / HL;
MA20 : EMA2(C, 14);
C1 := WR < -60 && C > MA20;
C2 := WR > -15 && C < MA20;
C1, BPK;
C2, SPK;

%%
// adding the following code in any Mylanguage strategy can realize the push of position changes to mobile phone App and WeChat
if (typeof(scope._tmp) !== 'number') {
    scope._tmp = 0;
}
var pos = scope.get_locals('BKVOL') - scope.get_locals('SKVOL');
if (pos != scope._tmp) {
   scope._tmp = pos;
   Log('Push position changes:', scope.symbol, pos, '@');
}
%%

Trong mã trên, chúng tôi đặt chiến lược giao dịch của William W%R và chức năng đẩy thay đổi vị trí cùng nhau, để nhận ra việc đồng bộ hóa thời gian thực của lệnh chiến lược giao dịch và thay đổi vị trí, và đẩy chúng vào Ứng dụng di động và WeChat.

5. Kiểm tra bot

Tiếp theo, chúng ta chạy một bot để xác minh chức năng này; tạo một bot, chọn OKEX spot, và đặt cặp tiền tệ thành LTC_USDT (tiền tương lai hàng hóa và tiền điện tử tương lai cũng có thể sử dụng chức năng này, và hoạt động là tương tự).

1. tín hiệu được kích hoạt, đẩy đến nhật ký web img 2. tín hiệu kích hoạt, nhấn vào ứng dụng điện thoại di động img 3. tín hiệu kích hoạt, đẩy đến WeChat thông điệp đẩy img

6. Kết luận

Ở trên, chúng tôi sử dụng một chiến lược giao dịch đơn giản của Mylanguage William W%R và mô-đun đẩy tin nhắn được phát triển bởi mô-đun nâng cao ngôn ngữ trong Mylanguage, để thực hiện chiến lược đẩy thay đổi vị trí vào ứng dụng di động và WeChat trong thời gian thực. Mã mô-đun có thể được gắn vào bất kỳ chiến lược Mylanguage nào để đẩy thay đổi vị trí vào ứng dụng di động và WeChat, và khởi động các loại đẩy khác nhau cho các kịch bản khác nhau để đáp ứng nhu cầu đẩy cá nhân của bạn.


Thêm nữa