Giao dịch số lượng tiền điện tử cho người mới bắt đầu - đưa bạn đến gần số lượng tiền điện tử (4)

Tác giả:Lydia., Tạo: 2022-07-29 16:32:47, Cập nhật: 2023-09-21 21:05:29

img

Giao dịch số lượng tiền điện tử cho người mới bắt đầu - đưa bạn đến gần số lượng tiền điện tử (4)

Trong các bài viết trước, chúng tôi đã học được các khái niệm cơ bản của rất nhiều tiền điện tử, lập trình và giao dịch định lượng. Cuối cùng, chúng tôi có thể chuyển sang chủ đề và nói về chính chiến lược. Trong bài viết này, chúng tôi sẽ học cách thực hiện một chiến lược đơn giản cùng nhau. Đối với Grid Strategy, ai đó đã thực hiện giao dịch định lượng nên đã nghe về nó, nhưng nó không quan trọng nếu bạn chưa.giao dịchđã khởi động các chức năng giao dịch theo chương trình và định lượng của riêng họ, và chiến lược dễ sử dụng nhất làChiến lược lưới điệnTuy nhiên, các chức năng chiến lược lưới và chi tiết được cung cấp bởi mỗi sàn giao dịch là khác nhau, vì chúng tôi có kế hoạch chuyển sang giao dịch định lượng tiền điện tử, tại sao chúng tôi không thực hiện một chiến lược lưới của chính mình?

Vào thời điểm này, có thể ai đó đã nói: Tôi không biết viết mã! Tôi sẽ bị đau đầu khi nhìn thấy mã!

Đó là sự thật. Nó thực sự khá khó khăn cho một người không chuyên về phần mềm máy tính hoặc không tham gia vào công việc lập trình để tự phát triển một chiến lược giao dịch hoàn chỉnh. Bởi vì bạn phải làm một loạt các công việc trước từ đầu khi kết nối giao diện trao đổi (có thể chương trình logic giao dịch của bạn chỉ có 100 dòng, nhưng công việc mã hóa khác phải làm là khá nhiều, và nó khó hơn so với việc viết logic giao dịch.)

Vào thời điểm này, nếu bạn có một công cụ tiện dụng, nó khá đơn giản, ít nhất khó khăn được giảm 70%. Bạn có thể tưởng tượng nó thuận tiện và nhanh như thế nào nếu bạn chỉ viết chính logic giao dịch, và tất cả các kết nối giao diện trao đổi khác, xác minh chữ ký, tệp cấu hình, xây dựng môi trường hoạt động, viết giao diện UI, viết tương tác và vân vân đều đã sẵn sàng.

Không tin sao? Hãy thử đi!

Thực hiện một chiến lược lưới điểm đơn giản

Công cụ chúng tôi sử dụng là: FMZ Quant Trading Platform (FMZ.COMNền tảng của thiết kế chiến lược lưới điện thực sự là logic của việc mua và bán lưới điện, vì vậy đây là điều phải được làm rõ trước khi thiết kế chiến lược. Mục tiêu của chúng tôi là làm cho thiết kế chiến lược đơn giản và dễ hiểu, vì vậy càng ít tham số và logic đơn giản, càng tốt.

Sau đây là dòng chảy cơ bản của việc thiết kế một chiến lược:

    1. Tóm tắt các nhu cầu chiến lược

    Nói một cách đơn giản, đó là những gì, làm thế nào, và các chức năng chiến lược của bạn sẽ làm. Thông tin này có thể được viết trong một tài liệu (bảng ghi chép hoặc một cái gì đó) trước khi bạn viết mã chiến lược. Nó rất đơn giản để phát triển các chiến lược trên FMZ, Nền tảng đã chuẩn bị các giải pháp cho các yêu cầu này cho bạn, và tôi không cần phải viết các yêu cầu này vào một sổ ghi chép (không phải là rất thuận tiện để quản lý). Tôi viết các yêu cầu chiến lược trong các ghi chú chiến lược trực tiếp.

    img

    Chỉ cần nhớ để lưu chiến lược sau khi hoàn thành, và sau đó chúng tôi sẽ viết các yêu cầu chiến lược (các yêu cầu chiến lược không phải là tĩnh, và nó cũng có thể ghi lại trong khi phát triển).

    • Chiến lược được thiết kế như một chiến lược giao dịch tại chỗ với cặp giao dịchXXX_USDT, nhưBTC_USDT.
    • Mạng lưới được thiết kế để có khoảng cách bằng nhau, điều đó chỉ đơn giản có nghĩa là khoảng cách giữa hai điểm liền kề trên lưới là một sự phân bố cố định.
    • Mạng lưới được thiết kế như một mạng lưới vô hạn có thể mở rộng vô hạn.
    • Sử dụng lệnh thị trường để đặt lệnh.
    1. Xây dựng cấu trúc dữ liệu lưới:

    Đối với những ý tưởng không rõ ràng, chúng ta có thể vẽ và phân tích ngay từ đầu.

    img

    Một lưới có thể được xây dựng theo cả hai hướng lên và xuống từ giá khởi điểm như một điểm cơ sở. lưới là một đường mua và bán từng lớp. Nhìn vào biểu đồ, chúng ta có thể thấy rằng mỗi đường có hai khả năng:

    1. Giá đã vượt qua SMA.
    2. Giá đã vượt qua dưới đường SMA. Khi giá vượt trên SMA, điều đó có nghĩa là giá đang tăng và cần phải được bán, và sau đó chờ giá giảm và mua để kiếm lợi nhuận. Khi giá vượt qua dưới SMA, điều đó có nghĩa là giá đang giảm, bạn cần mua nó, và sau đó chờ giá tăng và bán nó để kiếm lợi nhuận. Vì vậy, mỗi đường lưới có hai cách để giao dịch: mua và bán. và mỗi đường lưới có một thuộc tính vốn có, đó là giá được đánh dấu bởi đường này. một ví dụ là đại diện của A / B / C / D trên biểu đồ. Khi thiết kế một chiến lược, tìm raCái gì?chúng ta muốn làm đầu tiên, và sau đó nó là dễ dàng để làm điều đó.

    Viết một hàm xây dựng cấu trúc dữ liệu lưới:

    function createNet(begin, diff) {   // begin, diff are parameters, begin is the initial price, diff is the grid spacing (the spacing of the equal difference grid is the price)
        var oneSideNums = 10            // The grid generates 10 bars on the upward and downward sides. The above chart is a side of the generation of 2 bars (AB side, CD side) and the generation of 10 bars, you can imagine them by yourself.
        var up = []                     // Used to store the upward "grid line" data structure
        var down = []                   // Used to store the downward "grid line" data structure
        for (var i = 0 ; i < oneSideNums ; i++) {    // Determine the number of times according to the size of oneSideNums, and construct the "grid line" data structure cyclically
            var upObj = {                            // Construct an upward "gridline" data structure
                buy : false,                         // Buy marker, initial marker is false, meaning no buy
                sell : false,                        // Sell marker ...
                price : begin + diff / 2 + i * diff, // The price level represented by this "grid line" can be observed according to the cycle, and the price level is rising in turn.
            }
            up.push(upObj)                           // The constructed "gridline" data structure is placed into the up array
    
            var j = (oneSideNums - 1) - i            // The change in j during the loop is: 9 ~ 0
            var downObj = {
                buy : false,
                sell : false,
                price : begin - diff / 2 - j * diff,
            }
            if (downObj.price <= 0) {                // The price cannot be less than or equal to 0 
                continue
            }
            down.push(downObj)                       // The constructed "gridline" data structure is placed in down array
        }    
    
        return down.concat(up)                       // Add up after down to form a grid array structure with grid line prices from small to large
    }
    

    Bạn có thể chạy chức năng này một cách riêng biệt để xem hiệu ứng. [Debugging Tools] hoặc [Backtesting System] trên FMZ rất thuận tiện để gỡ lỗi các mã nhỏ như vậy.

    img

    Dữ liệu được xây dựng có thể được quan sát.

    [
        {"buy":false,"sell":false,"price":5},
        {"buy":false,"sell":false,"price":15},
        {"buy":false,"sell":false,"price":25},
        {"buy":false,"sell":false,"price":35},
        {"buy":false,"sell":false,"price":45},
        {"buy":false,"sell":false,"price":55},
        {"buy":false,"sell":false,"price":65},
        {"buy":false,"sell":false,"price":75},
        {"buy":false,"sell":false,"price":85},
        {"buy":false,"sell":false,"price":95},
        {"buy":false,"sell":false,"price":105},  // 100 is the starting price, starting from 105 and going up the first line, with an interval of 10
        {"buy":false,"sell":false,"price":115},  // ... 
        {"buy":false,"sell":false,"price":125},
        {"buy":false,"sell":false,"price":135},
        {"buy":false,"sell":false,"price":145},
        {"buy":false,"sell":false,"price":155},
        {"buy":false,"sell":false,"price":165},
        {"buy":false,"sell":false,"price":175},
        {"buy":false,"sell":false,"price":185},
        {"buy":false,"sell":false,"price":195}
    ]
    
    1. Phân tích logic giao dịch

    Sau khi phân tích cấu trúc dữ liệu của lưới, chúng ta cần xem xét logic giao dịch cụ thể của chiến lược lưới. Trên thực tế, logic mua và bán rất đơn giản. Chúng ta đã vẽ nó trong biểu đồ trên, mua có nghĩa là vượt qua một đường nhất định bên dưới, và bán có nghĩa là vượt qua một đường nhất định bên trên. Vậy làm thế nào để bạn hiển thị sự vượt qua trên và dưới? Nó cũng rất đơn giản, chúng ta chỉ có thể đánh giá bằng cách so sánh các vị trí giá của hai khoảnh khắc.

    Vẫn sử dụng biểu đồ trước.

    img

T1 là một khoảnh khắc, t2 là một khoảnh khắc sau khi t1, để đánh giá các đường chéo trên C, chúng ta chỉ cần đánh giáP1 < CP2 > C. Tương tự như vậy, để đánh giá đường B bên dưới, chúng ta chỉ cần xác địnhP1 > BP3 < B. Tại thời điểm đó, chúng ta chỉ cần đi qua (đi qua thường được gọi làNhìn từng cái một.) mỗi đường thẳng trong mảng lưới, và quyết định liệu phải vượt qua nó trên hoặc dưới.

Sau khi bắt được giá vượt qua trên và dưới, có thể đặt lệnh khi các hành động này được kích hoạt không? Rõ ràng là không thể. Nếu giá vượt qua trên và dưới nhiều lần trên một đường, nó sẽ không lãng phí phí cho việc giao dịch lặp đi lặp lại ở cùng một mức giá? Do đó, vẫn còn một loạt các điều kiện phán đoán để kích hoạt giá vượt qua trên và dưới, đòi hỏi phải sử dụng các dấu hiệu mua / bán trong cấu trúc dữ liệu đường lưới mà chúng tôi vừa xây dựng (ví dụ: {buy:false,"sell ":false,price:5}).

Cảm ơn bạn đã đọc, chúng tôi sẽ tiếp tục giải thích và học hỏi trong số tiếp theo.


Có liên quan

Thêm nữa