Người phát minh mô tả cơ chế kiểm tra lại ở mức độ tương tự

Tác giả:Giấc mơ nhỏ, Tạo: 2017-02-07 13:04:57, Cập nhật: 2023-09-07 17:49:15

Người phát minh mô tả cơ chế kiểm tra lại ở mức độ tương tự


  • Một, cấu trúc kiểm tra lại

    Các quy trình trong chiến lược kiểm tra được định lượng bởi các nhà phát minh là một quy trình kiểm soát hoàn chỉnh, các quy trình được kiểm tra liên tục theo tần số nhất định. Các thị trường, giao dịch API trả về dữ liệu cũng theo thời điểm gọi, mô phỏng tình hình thực tế khi chạy. thuộc cấp onTick, chứ không phải là cấp onBar của các hệ thống kiểm tra khác.

  • 2, Sự khác biệt giữa kiểm tra ở mức độ tương tự và kiểm tra ở mức độ thực

    • Kiểm tra lại ở mức độ tương tự

      Kiểm tra lại ở cấp độ tương tự là theo dữ liệu đường K dưới cùng của hệ thống kiểm tra lại, theo một thuật toán nhất định trong khuôn khổ bao gồm các giá trị giá cao nhất, giá thấp nhất, giá mở, giá đóng của đường K dưới cùng Bar.

    • Kiểm tra lại ở mức đĩa thực

      Quá trình kiểm tra cấp thực là dữ liệu cấp ticker thực trong chuỗi thời gian của Bar. Sử dụng kiểm tra cấp thực là gần như thực hơn cho các chiến lược dựa trên dữ liệu cấp ticker. Kiểm tra lại ở mức độ đĩa thực, ticker là dữ liệu được ghi lại thực, chứ không phải là tạo ra giả lập.

  • 3, cơ chế tái đo cấp độ tương tự của đường K bên dưới

    Không có tùy chọn đường K dưới cùng (vì dữ liệu ticker là thực, không sử dụng đường K dưới cùng để tạo mô phỏng). Trong kiểm tra cấp độ tương tự, ticker được tạo ra dựa trên dữ liệu đường K. Dữ liệu đường K này là đường K dưới cùng. Trong việc sử dụng kiểm tra cấp độ tương tự thực tế, chu kỳ đường K dưới cùng phải nhỏ hơn chu kỳ của API để lấy đường K khi chiến lược chạy. Nếu không, do chu kỳ đường K dưới cùng lớn, số lượng ticker được tạo không đủ, dữ liệu sẽ bị mất thực sự.

  • 4, Làm thế nào để tạo dữ liệu ticker trên đường K dưới cùng

    Cơ chế tạo ticker tương tự của đường K dưới cùng cũng giống như MT4.

    img img img img

  • 5, mã thuật toán để tạo dữ liệu ticker

    Các thuật toán cụ thể để mô phỏng dữ liệu đường K bên dưới:

function recordsToTicks(period, num_digits, records) {
    if (records.length == 0) {
        return []
    }
    var ticks = []
    var steps = [0, 2, 4, 6, 10, 12, 16, 18, 23, 25, 27, 29]
    var pown = Math.pow(10, num_digits)

    function pushTick(t, price, vol) {
        ticks.push([Math.floor(t), Math.floor(price * pown) / pown, vol])
    }

    for (var i = 0; i < records.length; i++) {
        var T = records[i][0]
        var O = records[i][1]
        var H = records[i][2]
        var L = records[i][3]
        var C = records[i][4]
        var V = records[i][5]
        if (V > 1) {
            V = V - 1
        }
        if ((O == H) && (L == C) && (H == L)) {
            pushTick(T, O, V)
        } else if (((O == H) && (L == C)) || ((O == L) && (H == C))) {
            pushTick(T, O, V)
        } else if ((O == C) && ((O == L) || (O == H))) {
            pushTick(T, O, V / 2)
            pushTick(T + (period / 2), (O == L ? H : L), V / 2)
        } else if ((C == H) || (C == L)) {
            pushTick(T, O, V / 2)
            pushTick(T + (period * 0.382), (C == L ? H : L), V / 2)
        } else if ((O == H) || (O == L)) {
            pushTick(T, O, V / 2)
            pushTick(T + (period * 0.618), (O == L ? H : L), V / 2)
        } else {
            var dots = []
            var amount = V / 11
            pushTick(T, O, amount)
            if (C > O) {
                dots = [
                    O - (O - L) * 0.75,
                    O - (O - L) * 0.5,
                    L,
                    L + (H - L) / 3.0,
                    L + (H - L) * (4 / 15.0),
                    H - (H - L) / 3.0,
                    H - (H - L) * (6 / 15.0),
                    H,
                    H - (H - C) * 0.75,
                    H - (H - C) * 0.5,
                ]
            } else {
                dots = [
                    O + (H - O) * 0.75,
                    O + (H - O) * 0.5,
                    H,
                    H - (H - L) / 3.0,
                    H - (H - L) * (4 / 15.0),
                    H - (H - L) * (2 / 3.0),
                    H - (H - L) * (9 / 15.0),
                    L,
                    L + (C - L) * 0.75,
                    L + (C - L) * 0.5,
                ]
            }
            for (var j = 0; j < dots.length; j++) {
                pushTick(T + period * (steps[j + 1] / 30.0), dots[j], amount)
            }
        }
        pushTick(T + (period * 0.98), C, 1)
    }
    return ticks
}

Do đó, khi sử dụng phép đo ngược ở cấp độ tương tự, sẽ có sự nhảy vọt giá trên chuỗi thời gian.


Thêm nữa

Anh trai tôiTại sao các đường K trên đường bóng tối lại được mô phỏng thành 12 dấu chấm?

Sparta chơi theo định lượngCó thể tùy chỉnh thêm điểm mốc giả định, điểm mốc được tạo ra ở cấp độ giả định hiện tại rất khác với thực tế?

Không gian vô hạn dưới mặt trăngCó phải việc thử lại hợp đồng có thể bắt chước sự bùng nổ?

FangBeiTại sao không có chu kỳ 2 giờ, 4 giờ, 6 giờ, 12 giờ, những chu kỳ thường được sử dụng?

Giấc mơ nhỏCác chu kỳ đường K dưới cùng sử dụng một phút và hạt dữ liệu rất nhỏ. Bạn có thể kiểm tra lại ở mức đĩa thực hoặc cung cấp dữ liệu thu thập của riêng bạn bằng nguồn dữ liệu tùy chỉnh.

Giấc mơ nhỏHệ thống kiểm tra lại không có cơ chế bùng nổ, nhưng có thể thêm kiểm tra bùng nổ trong chiến lược của mình.

Giấc mơ nhỏHệ thống kiểm tra đặt ra một số chu kỳ tương đối phổ biến, nếu bạn cần bất kỳ chu kỳ nào, các đường K có thể được xem.