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

2.3 Giải thích API chung

Tác giả:Tốt, Tạo: 2019-04-16 15:39:35, Cập nhật: 2019-04-17 10:55:33

Tóm lại

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.

API là gì?

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ó.

API trong giao dịch định lượng là gì?

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ó.

API ngôn ngữ M chung

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.

  • := là ý nghĩa của việc gán, nghĩa là giá trị ở bên phải của := được đưa ra cho biến ở bên trái.

  • OPENMA là API của ngôn ngữ M. Lưu ý rằng OPEN trong dòng đầu tiên là API để có giá đóng. Nó có thể được sử dụng trực tiếp. MA trong dòng thứ hai là API để có được đường trung bình động. Nó cần phải được thông qua 2 tham số, có nghĩa là bạn cần phải cho công cụ giao dịch FMZ Quant biết, bạn cần loại đường trung bình động nào: Nếu bạn muốn có đường trung bình động 50 giai đoạn được tính ở giá mở, bạn có thể viết: MA (OPEN, 50); vui lòng đảm bảo có dấu phẩy giữa các tham số.

  • Chữ màu vàng // là một ký tự bình luận, và tiếng Anh đằng sau nó là nội dung bình luận. Tất cả đều được các lập trình viên xem để chỉ ra ý nghĩa của dòng mã. Các bình luận sẽ không được xử lý trong khi chương trình bắt đầu chạy. Lưu ý rằng trước khi ký tự bình luận, mỗi dòng mã phải có dấu chấm là cuối dò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.

  • OPEN - Nhận giá mở cửa của dòng K mới nhất

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

  • cao - nhận được giá cao nhất của dòng K mới nhất

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

  • LOW - nhận được giá thấp nhất của dòng K mới nhất

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

  • CLOSE - Nhận giá đóng của dòng K mới nhất. Khi dòng k chưa hoàn thành, lấy giá mới nhất.

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

  • VOL - Nhận âm lượng của dòng K mới nhất

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

  • REF ((X,N) - đề cập đến giá trị của X trước N chu kỳ.

Ví dụ: REF(CLOSE,1); Nhận giá mở của đường K thông qua

  • MA(X,N) - tìm trung bình di chuyển đơn giản của X trong các chu kỳ N

Ví dụ: MA ((CLOSE, 10); // Nhận trung bình động 10 chu kỳ của K-đường gần đây nhất

  • CROSSUP ((A,B) Hiển thị rằng khi A đi qua B từ dưới, nó trả về 1 (Vâng), nếu không nó trả về 0 (Không)

Ví dụ: CROSSUP (CLOSE, MA (C, 10)) // giá đóng tăng qua giá trung bình động chu kỳ 10

  • CROSSDOWN(A,B) Tình hiện khi A đi qua B từ trên, nó trả về 1 (Vâng), nếu không nó trả về 0 (Không)

Ví dụ: CROSSDOWN ((CLOSE, MA(C,10)) // giá đóng giảm qua giá trung bình động 10 chu kỳ

  • BK - mua vị trí mở dài

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

  • SP - bán để đóng vị trí dài

Ví dụ: CLOSE

  • SK - bán vị trí mở ngắn

Ví dụ: CLOSE

  • BP - mua để bảo hiểm để đóng vị trí ngắn

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

  • BPK - đóng vị trí ngắn và mở vị trí dài (vị trí mở ngược)

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.

  • SPK - Khóa vị trí dài và mở vị trí ngắn (định vị mở ngược)

Ví dụ: CLOSE

  • CLOSEOUT - đóng tất cả các vị trí, nó được khuyến cáo để sử dụng trong các hoạt động cộng và trừ vị trí

Ví dụ: CLOSEOUT; đóng tất cả các vị trí đang nắm giữ.

API ngôn ngữ JavaScript thường được sử dụng

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 declaration. chúng tôi sử dụng từ khóa var để tuyên bố biến, tên biến là: aa.

  • 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 = cho biến ở bên trái.

  • exchange là đối tượng trao đổi. trao đổi ở đây đề cập đến trao đổi bạn thiết lập trên trang nền tảng. Đây là một định dạng cố định, nghĩa là bạn phải chỉ định đối tượng trao đổi khi bạn gọi API của ngôn ngữ JavaScript.

  • 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.

  • SetContractType ( variety code ) - đặt cặp giao dịch, đó là các loại giao dịch mà bạn muốn giao dịch

Ví dụ: exchange.SetContractType ((this_week); //Set các cặp giao dịch hàng tuần K-line

  • GetTicker - Nhận dữ liệu Tick

Ví dụ: exchange.GetTicker(); //Get Tick dữ liệu

  • GetRecords - lấy dữ liệu dòng K

Ví dụ: exchange.GetRecords ((); //Get K dữ liệu dòng

  • Mua - mua dài

Ví dụ: trao đổi.Buy ((5000, 1); //Buy một đơn vị tại 5,000

  • Bán - bán ngắn

Ví dụ: trao đổi.Bán (5000, 1); // Bán một đơn vị với 5.000

  • GetAccount - nhận thông tin tài khoản

Ví dụ: exchange.GetAccount ((); //Get thông tin tài khoản

  • GetPosition - Nhận thông tin vị trí

Ví dụ: exchange.GetPosition(); //Get thông tin vị trí

  • SetDirection - được thiết lập để thực hiện kiểu lệnh dài hoặc ngắn

ví dụ:

exchange.SetDirection ((buy); //Set loại lệnh để mở các vị trí dài

exchange.SetDirection ((closebuy); //Set the order type to sell to close long positions Đặt kiểu lệnh bán để đóng các vị trí dài

exchange.SetDirection ((sell); //Set loại lệnh để mở các vị trí ngắn

exchange.SetDirection ((closesell); //Set order type to buy to cover to close short position

  • Log - xuất một thông báo trong log

Ví dụ: Log (( hello, World ); //output " hello world " trong log

  • Ngủ - tạm dừng chương trình trong một thời gian

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.

Tóm lại

Đ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.

Các bài tập sau giờ học

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 GetAccount để lấy thông tin tài khoản của bạn, và sử dụng Log để in nó vào nhật ký.

Thông báo phần tiếp theo

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.


Thêm nữa