Khi nói đến lập trình, nó phải không thể tách rời khỏi API. Đối với nhiều người không lập trình, API là gì? Trong phần này chúng tôi sẽ sử dụng ngôn ngữ dễ nhất để giải thích API là gì và giới thiệu các API thường được sử dụng trong các công cụ FMZ Quant.
Nếu bạn google nó, bạn sẽ nhận được kết quả sau: API (Application Programming Interface) là một chức năng được xác định trước để cung cấp cho các ứng dụng và nhà phát triển khả năng truy cập một tập hợp các thủ tục dựa trên một phần mềm hoặc phần cứng.
Trong thực tế, trong cuộc sống hàng ngày, chúng ta có rất nhiều kịch bản API tương tự, chẳng hạn như: bạn đi đến một nhà hàng để ăn, chỉ cần nhìn vào thực đơn để đặt hàng, bạn không cần phải biết làm thế nào để làm cho nó.
Ví dụ, nếu bạn cần để có được giá mở của các loại hiện tại ngày hôm nay, bạn không cần phải biết chính xác làm thế nào để có được nó.
Trước khi chúng ta nói về API ngôn ngữ M, trước tiên hãy xem cấu trúc mã thông thường và các tính năng của nó. Điều này sẽ giúp bạn hiểu rõ hơn về API. Xin xem ví dụ sau:
AA:=OPEN; //Get the opening price of the latest k line and assign the result to the variable AA
BB:=MA(ClOSE,10); //Get the 10-cycle moving average of the latest K line and assign the result to the variable BB
Mã được hiển thị ở trên:
AA là một biến, và biến là một phần tử có thể thay đổi, giống như đại số của trường trung học cơ sở của chúng tôi. Nếu giá mở được gán cho AA, thì AA là giá mở; nếu giá cao nhất được gán cho AA, thì AA là giá cao nhất. AA chỉ là một tên tùy chỉnh, bạn cũng có thể xác định nó là BB hoặc một cái gì đó khác.
Chữ màu vàng
Với sự nhận thức cơ bản về cấu trúc mã, chúng tôi sẽ mang đến cho bạn một số ngữ pháp chung của các ngôn ngữ M dưới đây, và chúng tôi sẽ sử dụng chúng trong tương lai.
Ví dụ: AA:=OPEN; Nhận giá mở của dòng K mới nhất và gán kết quả cho AA
Ví dụ: AA:=HIGH; Nhận giá cao nhất của dòng K mới nhất và gán kết quả cho AA
Ví dụ: AA:=LOW; Nhận giá thấp nhất của dòng K mới nhất và gán kết quả cho AA
Ví dụ: AA:=CLOSE; Nhận giá đóng cửa của dòng K mới nhất và gán kết quả cho AA
Ví dụ: AA:=VOL; Nhận khối lượng của dòng K mới nhất và gán kết quả cho AA
Ví dụ: REF(CLOSE,1); Nhận giá mở của đường K thông qua
Ví dụ: MA ((CLOSE, 10); // Nhận trung bình động 10 chu kỳ của K-đường gần đây nhất
Ví dụ: CROSSUP (CLOSE, MA (C, 10)) // giá đóng tăng qua giá trung bình động chu kỳ 10
Ví dụ: CROSSDOWN ((CLOSE, MA(C,10)) // giá đóng giảm qua giá trung bình động 10 chu kỳ
Ví dụ: CLOSE>MA(CLOSE,5), BK; // Giá đóng lớn hơn trung bình động 5 chu kỳ, mở vị trí dài
Ví dụ: CLOSE
Ví dụ: CLOSE
Ví dụ: CLOSE>MA(CLOSE,5), BP; // Giá đóng lớn hơn trung bình động 5 chu kỳ, đóng vị trí ngắn
Ví dụ: CLOSE>MA(CLOSE,5), BPK; // khi giá đóng lớn hơn mức trung bình động 5 giai đoạn, đóng vị trí ngắn và mở vị trí dài.
Ví dụ: CLOSE
Ví dụ: CLOSEOUT; đóng tất cả các vị trí đang nắm giữ.
Trước khi giải thích về API ngôn ngữ JavaScript, hãy xem cấu trúc mã thông thường là gì và nó có những tính năng nào. Điều này sẽ giúp bạn hiểu rõ hơn về API. Vui lòng xem ví dụ sau:
var aa = exchange.GetRecords(); // get the K-line data
var bb = exchange.SetContractType("This_week") // set the trading pair to weekly K-line
Mã được hiển thị ở trên:
Tạo biến trong ngôn ngữ JavaScript thường được gọi là biến
Trong ngôn ngữ JavaScript, gán một dấu bằng, nghĩa là, đưa giá trị ở bên phải của
Mã
Mã màu xanh lá cây là API của ngôn ngữ JavaScript. Khi chúng ta gọi nó, nó thực sự gọi hàm trong đối tượng trao đổi. Lưu ý rằng điểm đằng sau mã cũng là một định dạng cố định. Chức năng ở đây là cùng nghĩa với hàm chúng ta đã học ở trường trung học. Nếu hàm không cần phải chỉ định một tham số, nó được đại diện bằng một ngoặc trống; nếu hàm phải đi qua một tham số, tham số được viết trong ngoặc.
Sau khi sử dụng trường hợp để hiểu cấu trúc cơ bản của mã, hãy xem xét một vài API ngôn ngữ JavaScript mà bạn sẽ sử dụng trong tương lai.
Ví dụ: exchange.SetContractType ((
Ví dụ: exchange.GetTicker(); //Get Tick dữ liệu
Ví dụ: exchange.GetRecords ((); //Get K dữ liệu dòng
Ví dụ: trao đổi.Buy ((5000, 1); //Buy một đơn vị tại 5,000
Ví dụ: trao đổi.Bán (5000, 1); // Bán một đơn vị với 5.000
Ví dụ: exchange.GetAccount ((); //Get thông tin tài khoản
Ví dụ: exchange.GetPosition(); //Get thông tin vị trí
ví dụ:
exchange.SetDirection ((
exchange.SetDirection ((
exchange.SetDirection ((
exchange.SetDirection ((
Ví dụ: Log ((
Ví dụ: ngủ (1000); / / làm cho chương trình tạm dừng trong 1 giây (1000 mili giây bằng 1 giây)
Một số người có thể nghi ngờ, có rất nhiều API ở trên, làm thế nào tôi có thể ghi nhớ tất cả? thực sự, bạn không cần phải nhớ bất kỳ một trong số đó, trang web chính thức FMZ Quant có tài liệu API chi tiết. Cũng giống như tìm kiếm một từ điển, bất cứ khi nào bạn sử dụng nó, bạn chỉ cần kiểm tra thông qua tài liệu của chúng tôi. Đừng sợ phần mã hóa. Những gì chúng tôi muốn là tổ chức các chiến lược của riêng mình thông qua các ngôn ngữ này. Xin nhớ rằng công nghệ không bao giờ là ngưỡng cho giao dịch định lượng. Chiến lược giao dịch tuyệt vời là quan trọng nhất.
Điều trên là API được sử dụng phổ biến nhất trong giao dịch định lượng, về cơ bản bao gồm: thu thập dữ liệu, tính toán dữ liệu, đặt lệnh. Những bước này nên đủ để xử lý một chiến lược giao dịch định lượng đơn giản.
1, cố gắng viết một ngôn ngữ M 5 chu kỳ trung bình dòng lên qua 10 chu kỳ di chuyển trung bình dòng câu.
2, hãy thử sử dụng ngôn ngữ JavaScript
Lập trình giống như lắp ráp các viên gạch LEGO. API giống như các bộ phận khác nhau của một khối xây dựng. Quá trình lập trình là làm cho mỗi bộ phận Lego trở thành một đồ chơi hoàn chỉnh. Trong phần tiếp theo, tôi sẽ dẫn bạn lắp ráp một chiến lược giao dịch định lượng hoàn chỉnh bằng cách sử dụng API ngôn ngữ M.