avatar of 发明者量化-小小梦 发明者量化-小小梦
tập trung vào tin nhắn riêng tư
4
tập trung vào
1271
Người theo dõi

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

Được tạo ra trong: 2021-05-24 09:55:03, cập nhật trên: 2024-12-04 21:26:28
comments   6
hits   2321

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

Trong các bài viết trước, chúng ta đã tìm hiểu rất nhiều khái niệm cơ bản về tiền điện tử, giao dịch theo chương trình và giao dịch định lượng. Cuối cùng, chúng ta có thể bắt tay vào công việc và nói về chính chiến lược. Trong bài viết này, chúng ta sẽ học cách triển khai một chiến lược đơn giản. Đối với [Grid Strategy], tất cả mọi người giao dịch đều phải nghe nói đến, không nghe nói đến cũng không sao.Trao đổiTất cả họ đều đã tung ra các chức năng giao dịch định lượng và theo chương trình của riêng mình. Chiến lược phổ biến nhất và dễ sử dụng nhất làChiến lược lưới. Tuy nhiên, các chức năng và chi tiết về chiến lược lưới do mỗi sàn giao dịch cung cấp là khác nhau. Vì bạn đang có kế hoạch tham gia vào vòng tròn tiền điện tử định lượng. Tại sao chúng ta không tự triển khai chiến lược lưới điện?

Lúc này, một số học sinh có thể nói: “Tôi không thể viết code!” “Nhìn đầu mã lớn quá!”

Điều đó chắc chắn là đúng. Thật sự rất khó khăn cho những sinh viên không chuyên về phần mềm máy tính và không có kinh nghiệm lập trình để tự mình phát triển một chiến lược giao dịch hoàn chỉnh. Bởi vì bạn phải thực hiện một loạt công việc chuẩn bị bắt đầu từ việc kết nối đến giao diện sàn giao dịch (có thể chương trình logic giao dịch của bạn chỉ có 100 dòng, nhưng có rất nhiều công việc lập trình khác phải làm và nó khó hơn việc viết logic giao dịch). )

Lúc này, nếu bạn có một công cụ tiện dụng thì mọi việc sẽ khá đơn giản, ít nhất độ khó sẽ giảm đi 70%. Bạn có thể tưởng tượng nó sẽ tiện lợi và nhanh chóng như thế nào nếu bạn chỉ viết logic giao dịch và các chức năng khác như kết nối giao diện trao đổi, 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 và viết tương tác đều đã sẵn sàng. .

Bạn không tin ư? Hãy thử xem nhé!

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

Công cụ chúng tôi sử dụng là: Nền tảng giao dịch định lượng Inventor (FMZ.COM). Cốt lõi của thiết kế chiến lược lưới điện thực chất là logic mua và bán lưới điện, vì vậy đây là điều cần phải làm rõ trước khi thiết kế chiến lược. Mục tiêu của chúng tôi là thiết kế chiến lược sao cho đơn giản và dễ hiểu, do đó, càng ít tham số và logic càng đơn giản thì càng tốt.

Sau đây là quy trình cơ bản để thiết kế một chiến lược:

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

Nói một cách đơn giản, đây là những gì chiến lược của bạn sẽ thực hiện, cách thực hiện, chức năng của nó, v.v. Thông tin này có thể được viết trong một tài liệu (chẳng hạn như sổ tay) trước khi bạn thực sự viết. mã chiến lược. 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 những nhu cầu này cho bạn và tôi không phải viết những nhu cầu này vào sổ tay (điều này không tiện để quản lý). Tôi ghi trực tiếp các yêu cầu về chiến lược vào ghi chú chiến lược.

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

Chỉ cần nhớ lưu chiến lược sau khi viết. 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 cố định và có thể được ghi lại trong khi phát triển).

  • Chiến lược này được thiết kế như một chiến lược giao dịch giao ngay và cặp giao dịch làXXX_USDT,Ví dụ:BTC_USDT

  • Lưới được thiết kế cách đều nhau, nghĩa là khoảng cách giữa hai điểm liền kề trên lưới là một khoảng cố định.

  • Lưới được thiết kế như một lưới vô hạn có thể mở rộng vô hạn.

  • Phương pháp đặt lệnh sử dụng lệnh thị trường.

    1. Xây dựng cấu trúc dữ liệu lưới:

Đối với những ý tưởng chưa rõ ràng, chúng ta có thể bắt đầu bằng cách vẽ hình để phân tích.

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

Bạn có thể sử dụng giá khởi điểm làm điểm cơ sở để xây dựng lưới theo cả hướng trên và hướng dưới. Cái gọi là lưới là một lớp các đường mua và đường bán. Từ biểu đồ, chúng ta có thể thấy rằng mỗi dòng có hai khả năng: 1. Giá cả tăng lên. 2. Giá cả giảm. Đường giá giao nhau hướng lên cho thấy giá đang tăng cao hơn và bạn cần bán, sau đó chờ giá giảm trở lại và mua lại để kiếm lời. Sự thâm nhập giá theo hướng đi xuống cho thấy giá đang giảm và bạn cần mua, sau đó chờ giá tăng và bán để kiếm lời. Do đó, mỗi đường lưới có hai phương pháp giao dịch: mua và bán. Và mỗi đường lưới đều có một đặc tính riêng, đó là mức giá được đánh dấu bởi đường lưới đó. Ví dụ, cách biểu diễn A/B/C/D trong hình. Khi thiết kế chiến lược, trước tiên chúng ta cần hiểu mình muốn làm gì.Cái gìvà sau đó sẽ thuận tiện để thực hiện.

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

  function createNet(begin, diff) {   // begin,diff是参数,begin是初始价格,diff是网格间距(等差网格的间距是价格)
      var oneSideNums = 10            // 网格向上、向下一边生成10条线,上图是一边生成2条(AB一边,CD一边),生成10条的自行脑补画面
      var up = []                     // 用来储存向上的“网格线”数据结构
      var down = []                   // 用来储存向下的“网格线”数据结构
      for (var i = 0 ; i < oneSideNums ; i++) {    // 根据oneSideNums的大小确定次数,循环构造“网格线”数据结构
          var upObj = {                            // 构造一条向上的“网格线”数据结构
              buy : false,                         // 买入标记,初始标记为false ,意思为没有买入
              sell : false,                        // 卖出标记....
              price : begin + diff / 2 + i * diff, // 这条“网格线”表示的价格位,可以观察根据循环进行,价格位是依次升高的
          }
          up.push(upObj)                           // 构造好的“网格线”数据结构放入up数组

          var j = (oneSideNums - 1) - i            // 循环时 j 的变动是:9 ~ 0
          var downObj = {
              buy : false,
              sell : false,
              price : begin - diff / 2 - j * diff,
          }
          if (downObj.price <= 0) {                // 价格不能小于等于0 
              continue
          }
          down.push(downObj)                       // 构造好的“网格线”数据结构放入down
      }    

      return down.concat(up)                       // 把up加在down之后,形成一个网格线价格从小到大的网格数组结构
  }

Bạn có thể chạy riêng chức năng này để xem hiệu ứng. [Công cụ gỡ lỗi] hoặc [hệ thống kiểm tra ngược] trên FMZ rất tiện lợi để gỡ lỗi các mã nhỏ như vậy.

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

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是起始价格,从105开始向上第一条线,间距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}
  ]
  • 3. 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 mua và bán cụ thể của chiến lược lưới. Trên thực tế, logic mua và bán cũng rất đơn giản. Chúng tôi đã vẽ nó trong hình trên. Mua có nghĩa là vượt qua dưới một đường nhất định và bán có nghĩa là vượt qua trên một đường nhất định. Vậy bạn thể hiện việc mặc áo và quần như thế nào? Nó cũng rất đơn giản. Chúng ta chỉ cần so sánh vị trí giá tại hai thời điểm để đưa ra phán đoán.

Chúng ta hãy sử dụng hình ảnh trước.

Những người mới tham gia giao dịch định lượng trong giới tiền điện tử, vui lòng xem qua phần này - Đưa bạn đến gần hơn với giao dịch định lượng trong giới tiền điện tử (Phần 4)

t1 là thời điểm, t2 là thời điểm sau t1, để phán đoán thời điểm giao nhau của đường thẳng C, ta chỉ cần phán đoánP1 < CP2 > C。 Tương tự như vậy, để đánh giá sự giao nhau của đường thẳng B, chúng ta chỉ cần đánh giáP1 > BP3 < B。 Vào thời điểm đó, chúng ta chỉ cần đi qua (đi qua được biết đến rộng rãi như làHãy nhìn vào chúng từng cái một) Đối với mỗi dòng trong mảng lưới, chỉ cần xác định xem nó cắt lên trên hay cắt xuống dưới. Có phải đơn giản không?

Nếu chúng ta bắt gặp giá tăng hoặc giảm, chúng ta có thể đặt lệnh khi những hành động này được kích hoạt không? Rõ ràng là điều này chắc chắn là không thể. Nếu giá tăng và giảm liên tục trên một đường thẳng, thì điều đó có nghĩa là bạn đang đốt phí giao dịch bằng cách giao dịch liên tục ở cùng một mức giá không? Do đó, vẫn còn một loạt các điều kiện phán đoán để kích hoạt giao cắt lên và xuống, đòi hỏi phải sử dụng các thẻ mua/bán trong cấu trúc dữ liệu đường lưới mà chúng ta vừa xây dựng (ví dụ: {“buy”:false,“sell “:false,“giá”:5}).

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