Tài nguyên đang được tải lên... tải...

Truy cập vào các nội dung trên trang web của chúng tôi.

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2020-10-17 11:27:43, Cập nhật: 2024-12-06 22:23:25

img

Truy cập vào các nội dung trên trang web của chúng tôi.

Làm thế nào để mở rộng thư viện lớp tùy chỉnh mà bạn cần cho các chiến lược trực quan hóa? Ví dụ: Tôi muốn tính các chỉ số MA, nhưng hệ thống chỉ cung cấp:imgNhững chỉ số này, làm thế nào để thêm một số mã tùy chỉnh? Chúng tôi đã giải thích cách mở rộng mô-đun trực quan bằng cách thêm mô-đun tính toán chỉ số MA tùy chỉnh.

Các thư viện giao dịch tiền kỹ thuật số

Trước tiên, hãy nói về mẫu thư mục giao dịch hiện tại của đồng tiền kỹ thuật số, được đặt tại:https://www.fmz.com/strategy/10989Mặc dù mẫu này là mẫu ngôn ngữ JavaScript của nền tảng FMZ, nhưng những người không hiểu khái niệm mẫu có thể truy vấn tài liệu API FMZ:https://www.fmz.com/api#模板类库:) Tuy nhiên, có một đoạn chú thích ở phần đầu của mẫu có định nghĩa mã của mô-đun trực quan hóa, và mã được định nghĩa có thể tham khảo mã của mẫu JavaScript này. Điều này rất thuận tiện khi chúng ta tự mở rộng (đưa ra một ví dụ tốt, chúng ta hãy bắt chước).

Các thư viện giao dịch hiện tại tiền kỹ thuật số, định nghĩa trực quan ở phần đầu:

/*blockly
    {
        "type": "ext_Trade",
        "message0": "%1 币数 %2|%1 Coins %2",
        "args0": [{
            "type": "field_dropdown",
            "options": [
                ["买入|Buy", "Buy"],
                ["卖出|Sell", "Sell"]
            ]
        }, {
            "type": "input_value",
            "check": "Number"
        }],
        "template": "(function(){var r = $.%1(%2); return r ? r.amount : 0; })()",
        "order": "ORDER_ATOMIC",
        "output": "Number",
        "colour": 85
    }, {
        "type": "ext_CancelPendingOrders",
        "message0": "取消 %1 订单|Cancel %1 Orders",
        "args0": [{
            "type": "field_dropdown",
            "name": "TYPE",
            "options": [
                ["所有|All", " "],
                ["买单|Buy", "ORDER_TYPE_BUY"],
                ["卖单|Sell", "ORDER_TYPE_SELL"]
            ]
        }],
        "previousStatement": null,
        "nextStatement": null,
        "template": "$.CancelPendingOrders(%1);",
        "colour": 85
    }, {
        "type": "ext_Cross",
        "message0": "计算交叉 周期 %1 与 %2|Cross Period %1 and %2",
        "inputsInline": true,
        "args0": [{
            "type": "input_value"
        }, {
            "type": "input_value"
        }],
        "template": "$.Cross(%1,%2)",
        "order": "ORDER_ATOMIC",
        "output": "Number"
    }, {
        "type": "ext_GetAccount",
        "message0": "获取资产信息|GetAccount",
        "template": "$.GetAccount()",
        "order": "ORDER_ATOMIC",
        "output": null
    }
*/

Các mô-đun trong trang chỉnh sửa trực quan tương ứng:img

Xây dựng một mô-đun tự xác định các chỉ số MA tính toán

Với những ví dụ sẵn có, việc tự mình xây dựng rất đơn giản, thậm chí còn dễ dàng hơn so với vẽ tranh.

Đầu tiên, tạo một mẫu mới cho ngôn ngữ JavaScript.img

Bạn có thể làm điều này bằng cách sử dụng các mô hình trên trang web của bạn.

/*blockly
    {
        "type": "ext_testA",
        "message0": "testA|testA",
        "template": "function(){return 99;}()",
        "order": "ORDER_ATOMIC",
        "output": "Number"
    },{
        "type": "ext_MA",
        "message0": "MA 周期 %1| MA Period %1",
        "args0": [{
            "type": "input_value",
            "check": "Number"
        }],
        "template": "(function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()",
        "order": "ORDER_ATOMIC",
        "output": null,
        "colour": 85
    }
*/
  • type: thuộc tính xác định loại module, có thể tự đặt tên.
  • message0: văn bản hiển thị trên module.
  • template: mã được thực hiện bởi mô-đun.
  • Output: Loại đầu ra của module.
  • args0: một tham số đầu vào của một module, trong mã định nghĩa module, %1 là tham số đầu vào đầu tiên và %2 là tham số thứ hai.

Sau khi chỉnh sửa mẫu mới này, hãy lưu. Trong chính sách mà chúng ta cần sử dụng mẫu này, hãy chọn mẫu này.img

Bạn có thể thấy thêm hai mô-đun:

  • img

    Một mô-đun được gọi là testA, và chúng ta hãy xem mã thực thi của nó:img

    function(){return 99;}()
    

    Đây là một hàm JavaScript rất đơn giản, thực hiện và trả về một số 99.

  • img

    Chúng ta hãy nhìn vào mã thực thi của nó:

    img

    (function(){var r = exchange.GetRecords(); return (!r || r.length < %1) ? false : TA.MA(r, %1); })()
    

    Mã là một cuộc gọi chức năng ẩn danh, trong đó chức năng ẩn danh được thực hiện trước tiên để lấy dữ liệu đường K, dữ liệu đường K.r│ Sau đó dựa trên r được lấy là chonullHoặcrChiều dài là không nhỏ hơn các tham số đầu vào của module%1Trở lạifalseHoặc quay lại.TA.MA(r, %1)Kết quả của các chỉ số được tính toán

Bạn có thể sử dụng nó sau này.

Kiểm tra tính toán chỉ số MA

Những người tham gia vào cuộc họp này là những người đã tham gia.img

Khởi hành:img

Bạn có thể thấy dữ liệu được tính toán cho chỉ số MA nếu bạn muốn.

Trên đây chỉ là một bảng xếp hạng, thiết kế mô-đun trực quan có thể tự mở rộng với chức năng mẫu.


Có liên quan

Thêm nữa