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

Mô-đun trực quan để xây dựng các chiến lược giao dịch - chuyên sâu

Tác giả:Những nhà phát minh định lượng - những giấc mơ nhỏ, Tạo: 2022-07-12 17:19:16, Cập nhật: 2023-09-25 19:48:58

img

Mô-đun trực quan để xây dựng các chiến lược giao dịch - chuyên sâu

  • Loại mô-đun logic

    • 1. Mô-đun điều kiện

      Mô-đun này được sử dụng để kết hợp phán đoán có điều kiện, và mô-đun có thể thêm nhiều nhánh có điều kiện. Nhấp vào biểu tượng nhỏ gear để thêm các nhánh có điều kiện.

      img

      Ví dụ sử dụng các mô-đun có điều kiện được thử nghiệm kết hợp với mô-đun tiếp theo.

    • 2. Mô-đun so sánh số

      Mô-đun này được sử dụng để so sánh hai giá trị số (bạn cũng có thể nghĩ về mô-đun này và mô-đun số kết hợp thành một mô-đun biểu thức), và trả về một giá trị boolean. Mô-đun này có thể xác định xem giá trị ở cả hai bên là lớn hơn , nhỏ hơn , lớn hơn hoặc bằng , nhỏ hơn hoặc bằng , không bằng , hoặc bằng . Các vị trí tenon (đôn) ở cả hai bên của tùy chọn hộp thả xuống có thể được nhúng vào các mô-đun số và biến (miễn là các mô-đun trả về các giá trị số có thể được nhúng).

      img

      Một ví dụ về việc sử dụng phần điều kiệnphần so sánh giá trị để tạo ra một giá trị đánh giá:

      imgCó thể thấy rằng ví dụ này có tổng cộng 3 nhánh khi đánh giá các điều kiện.

      Giống như việc sử dụng if trong các chiến lược JavaScript.

      function main () {
          var a = 1
          var b = 2
          if (a > b) {
              Log("a > b")
          } else if (a < b) {
              Log("a < b")
          } else {
              Log("a == b")
          }
      }
      
    • 3. logic OR, logic AND module

      Mô-đun này được sử dụng để thực hiện hoạt động OR hoặc hoạt động AND. Các vị trí tenon (đôn) ở cả hai bên của hộp thả xuống ở giữa mô-đun được nhúng vào mô-đun tham gia tính toán (nó có thể là một mô-đun trả về một giá trị boolean hoặc giá trị số).

      img

      Trước khi kiểm tra mô-đun này cụ thể, hãy học mô-đun đại diện cho giá trị boolean true/false (được đặt bằng hộp thả xuống), mô-đun đại diện cho giá trị boolean not, và mô-đun đại diện cho giá trị null đầu tiên.

      img

      • Các mô-đun không, đại diện chonullgiá trị trong mã, được sử dụng để so sánh xem một số biến là không.
      • Các mô-đun với các giá trị boolean của true/false đại diện chotrue / falseCác giá trị trong mã, được sử dụng để xác định các giá trị boolean được trả về bởi một số mô-đun hoặc sự kết hợp của các mô-đun.
      • NO mô-đun của giá trị boolean đại diện cho!trong mã, được sử dụng cho các tính toán không theo Boolean.

      Ví dụ thử nghiệm:

      img

      Chúng ta có thể thấy rằng logic OR, logic AND module cũng có thể được lồng nhau.

      Ví dụ về ghép mô-đun lồng nhau:

      img

      Mã chiến lược JavaScript tương đương:

      function main () {
          var a = 1 
          var b = 2
          Log((true && !false) || (a==b))
          Log(null)
      }
      

      !false không phải là false, nghĩa là giá trị thực, biểu thức logic: (true &&!false): hai giá trị thực được thực hiện và tính toán, kết quả là true. a == b rõ ràng là không bằng, vì vậy nó là sai. Một giá trị đúng và một giá trị sai thực hiện một logic hoặc tính toán, và kết quả là đúng.

      Kết quả hoạt động:img

    • 4. Mô-đun hoạt động bên kia

      Mô-đun này cũng được gọi là mô-đun khẳng định, và chức năng của nó tương tự như toán tử ba trong một số ngôn ngữ lập trình.

      img

      Bản chất của mô-đun hoạt động ba cũng là logic phán đoán có điều kiện, và chức năng của nó tương tự như mô-đun có điều kiện.

      Sử dụng mô-đun hoạt động ba để tái tạo ví dụ giảng dạy của mô-đun có điều kiện ở trên. Ví dụ sau:

      img

      Như mã chiến lược được viết bằng JavaScript:

      function main () {
          var a = 1
          var b = 2
          Log(a < b ? b : (a > b ? a : "equal"))
      }
      

      Nếu bạn quan tâm, bạn có thể điều chỉnh giá trị của a và b và chạy backtest.

  • Loại mô-đun toán

    Trong nhiều ví dụ trước đây, chúng tôi đã sử dụng một số mô-đun toán học ở mức độ lớn hơn hoặc nhỏ hơn. Tiếp theo chúng tôi giải thích một số mô-đun toán học chưa được nghiên cứu.

    • 1. Mô-đun trigonometric

      Lưu ý rằng tham số được điền vào vị trí tenon (đôn) của mô-đun này là giá trị góc, không phải giá trị radian.

      img

    • 2. Mô-đun số bao quanh

      img

      Dấu vân tay kiểm tra lại:img

    • 3. Nhận một số ngẫu nhiên mô-đun trong một phạm vi giá trị

      Mô-đun này lấy một số ngẫu nhiên trong một phạm vi giá trị được thiết lập, và vị trí mô-đun tenon (đôn) có thể trực tiếp điền vào giá trị, hoặc sử dụng một biến là giá trị bắt đầu và kết thúc của phạm vi ngẫu nhiên.

      img

      Như mã chiến lược được viết bằng JavaScript:

      function main () {
          var a = 1
          var b = 9
          Log(_N(a + Math.random() * (b - a), 0))
      }
      
    • 4. Mô-đun phạm vi giá trị hạn chế

      Mô-đun này sẽ giới hạn biến được điền vào vị trí tenon đầu tiên (đôn) và lấy giá trị theo phạm vi được đặt bởi vị trí tenon thứ hai và thứ ba (đôn). Nếu nó lớn hơn giá trị tối đa của phạm vi này, mô-đun quay trở lại giá trị tối đa của phạm vi này, và nếu nó nhỏ hơn giá trị tối thiểu của phạm vi này, mô-đun quay trở lại giá trị tối thiểu. Nếu nó nằm trong phạm vi này, giá trị của biến chính nó lấy vị trí tenon đầu tiên (đôn) được trả về.

      img

      Như mã chiến lược được viết bằng JavaScript:

      function main () {
          var a = 9
          Log(Math.min(Math.max(2, a), 5))
      }
      
    • 5. Mô-đun còn lại

      Mô-đun này thực hiện hoạt động số dư trên mô-đun số được đặt ở vị trí tenon (đôn).

      img

      Chia 64 cho 10 để có 6 và số còn lại là 4.img

    • 6. Mô-đun tính toán danh sách

      Mô-đun này thực hiện các tính toán trên một mô-đun danh sách nhất định (các chức năng như tính tổng các phần tử trong danh sách).

      img

      img

      Như mã chiến lược được viết bằng JavaScript:

      function sum (arr) {
          var ret = 0
          for (var i in arr) {
              ret += arr[i]
          }
          return ret 
      }
      
      function main () {
          var b = 2
          var a = 1
          Log(sum([b,a,b,a,a]))
      }
      

Ví dụ về chiến lược hiển thị:

Các chiến lược khác có sẵn tại:https://www.fmz.cn/square

Các sản phẩm khác trong loạt này

Lập trình nhàm chán có thể dễ dàng được thực hiện bằng các khối xây dựng, thử nó, nó rất thú vị!


Có liên quan

Thêm nữa