Những nhà phát minh giới thiệu về giao dịch định lượng - từ cơ bản đến thực tế

Tác giả:Tốt, Tạo: 2019-06-25 15:48:58, Cập nhật: 2023-10-31 21:01:08

Ý nghĩa của lời nói của con người. Sau một thời gian dài luyện tập và tự học, chúng ta đã học được cách nói trong vô thức và cũng có thể nghe được ý nghĩa của những đứa trẻ khác. Có rất nhiều ngôn ngữ, bao gồm tiếng Trung, tiếng Anh, tiếng Pháp, v.v. Tiếng Trung Quốc: Hello world Tiếng Anh: Hello World Tiếng Pháp: Bonjour tout le monde

Nếu sử dụng ngôn ngữ lập trình, bạn sẽ thấy "Hello World" trên màn hình máy tính của bạn: Ngôn ngữ C: puts (tạm dịch: Một người đàn ông người Việt Nam có thể viết một bài viết trên trang web của mình để giúp bạn tìm hiểu về các vấn đề liên quan đến công nghệ. Ngôn ngữ Python: print ((Hi, thế giới, hi, hi)) Bạn có thể thấy ngôn ngữ máy tính có những quy tắc cụ thể của riêng nó, và có rất nhiều ngôn ngữ khác, và những quy tắc ngôn ngữ đó là các loại ngôn ngữ lập trình mà chúng ta cần giải thích cho mọi người hôm nay, trong mỗi loại, chúng ta chỉ cần ghi nhớ những quy tắc phổ biến cơ bản nhất để có thể sử dụng các ngôn ngữ lập trình và giao tiếp máy tính để máy tính chạy theo các chiến lược tương ứng theo chỉ thị của chúng tôi.

Phân loại ngôn ngữ lập trình

Để giúp bạn dễ dàng so sánh và chọn ngôn ngữ lập trình giao dịch định lượng phù hợp với bạn, chúng tôi sẽ phân loại sáu ngôn ngữ lập trình phổ biến nhất: Python, Matlab/R, C++, Java/C#, EasyLanguage và ngôn ngữ trực quan (được mô tả dưới đây).imgHình 3-1 Đánh giá ngôn ngữ lập trình

Chúng tôi đánh giá chúng theo phạm vi chức năng, tốc độ chạy, khả năng mở rộng, khó học. Điểm số từ 1 đến 5, ví dụ như 5 điểm trong phạm vi chức năng, có nghĩa là chức năng mạnh mẽ, 1 điểm có nghĩa là ít chức năng.

Nhưng đánh giá cho mỗi ngôn ngữ lập trình chủ yếu là đối với các ứng dụng trong lĩnh vực giao dịch định lượng và có các thành phần chủ quan cá nhân. Bạn cũng được chào đón để vỗ tay hoặc đưa ra ý kiến của bạn sau đó trong khu vực bình luận.

Ngôn ngữ trực quan

Chương trình hình ảnh có nguồn gốc từ lâu và không phải là một điều mới. Ý tưởng lập trình này được phát triển từ những cái nhìn như vậy, với các mô-đun điều khiển khác nhau, chỉ cần kéo theo, bạn có thể xây dựng logic mã, hoàn thành thiết kế chiến lược giao dịch, quá trình giống như khối.imgHình 3 - 2 Tạo ra các giao diện ngôn ngữ lập trình

Như hình trên, cùng một chương trình, chỉ cần một vài dòng mã để thực hiện trong lập trình hình dung nền tảng giao dịch định lượng của nhà phát minh. Điều này làm giảm rất nhiều ngưỡng lập trình, đặc biệt là đối với các nhà giao dịch không biết lập trình, đó là một trải nghiệm hoạt động tuyệt vời.

Vì nền tảng thực hiện chính sách của ngôn ngữ trực quan này được chuyển sang C++, nó không ảnh hưởng nhiều đến tốc độ chạy của chương trình. Tuy nhiên, tính năng và khả năng mở rộng yếu và không thể phát triển các chính sách giao dịch quá phức tạp, quá chi tiết.

EasyLanguage

EasyLanguage là một ngôn ngữ lập trình độc đáo dành cho một số phần mềm giao dịch định lượng thương mại. Mặc dù các ngôn ngữ này cũng có một số tính năng hướng đối tượng, nhưng phần lớn các ứng dụng vẫn sử dụng dạng kịch bản. Về ngữ pháp, nó cũng rất gần với ngôn ngữ tự nhiên của chúng ta, và cho những người mới bắt đầu giao dịch định lượng, việc sử dụng EasyLanguage là một lựa chọn tốt hơn.

Ngôn ngữ kịch bản này không có vấn đề trong việc kiểm tra chính sách và ổ đĩa thực trong phần mềm cụ thể của nó, nhưng thường bị hạn chế về khả năng mở rộng, ví dụ như các nhà phát triển chính sách không thể gọi API bên ngoài. Và về tốc độ chạy, ngôn ngữ kịch bản này chạy trên máy ảo của riêng nó, tối ưu hóa hiệu suất không như Java / C #, chậm hơn.

Python

Trong Stackoverflow, truy cập ngôn ngữ lập trình chính thống gần như không thay đổi nhiều trong những năm gần đây, chỉ có Python đang có xu hướng tăng lên. Python có thể được sử dụng cho phát triển trang web, học máy, học sâu, phân tích dữ liệu, v.v. vì tính linh hoạt và cởi mở của nó đã trở thành ngôn ngữ phổ biến nhất.

Danh sách cấu trúc dữ liệu cơ bản và từ điển của Python, tính năng rất mạnh mẽ và có thể đáp ứng các nhu cầu về biểu diễn dữ liệu. Nếu cần cấu trúc dữ liệu nhanh hơn, đầy đủ chức năng hơn, chúng tôi khuyên bạn nên sử dụng NumPy và SciPy, hai thư viện được gọi là thư viện tiêu chuẩn tính toán khoa học Python.

Đối với kỹ thuật tài chính, một thư viện được nhắm mục tiêu hơn là Pandas, với hai cấu trúc dữ liệu Series và DataFrame, rất phù hợp với việc xử lý chuỗi thời gian.

Về tốc độ, Python nằm ở vị trí trung lưu, chậm hơn C++ và nhanh hơn ngôn ngữ EasyLanguage, chủ yếu là vì Python là một ngôn ngữ động, tốc độ thông thường khi chạy trong ngôn ngữ Python thuần túy.

Là một ngôn ngữ ngọt ngào, Python là thứ nhất về khả năng mở rộng, ngoài việc có thể kết nối rộng rãi với các ngôn ngữ khác và thiết kế API mở rộng rất dễ sử dụng. Về độ khó học, ngữ pháp Python đơn giản, mã dễ đọc và dễ bắt đầu.

Matlab/R

Tiếp theo là ngôn ngữ Matlab và R, hai ngôn ngữ chủ yếu nằm ở phân tích dữ liệu, và các tác giả ngôn ngữ đã thiết kế rất nhiều cho các phép tính khoa học về ngữ pháp, đặc biệt là hỗ trợ hoạt động giao dịch định lượng. Tuy nhiên, phạm vi ứng dụng tương đối hạn chế, thường được sử dụng nhiều hơn cho phân tích dữ liệu và kiểm tra chiến lược. Đối với việc phát triển hệ thống giao dịch và thuật toán chiến lược, tính dễ sử dụng và ổn định của nó kém hơn.

Ngoài ra, tốc độ và khả năng mở rộng của chúng cũng tương đối kém, vì ngôn ngữ Matlab và R chạy trên máy ảo ngôn ngữ độc đáo. Về hiệu suất, máy ảo của chúng kém hơn nhiều so với Java và C #. Nhưng vì ngữ pháp của chúng gần hơn với công thức biểu thức toán học, chúng cũng tương đối dễ học.

C++

C++ là một ngôn ngữ lập trình phổ biến, hỗ trợ nhiều mô hình lập trình, chẳng hạn như lập trình quy trình, trừu tượng dữ liệu, lập trình hướng đối tượng, lập trình tổng quát và mô hình thiết kế. Ngôn ngữ C++ có thể thực hiện tất cả các chức năng bạn muốn thực hiện, nhưng ngôn ngữ mạnh mẽ như vậy có một nhược điểm lớn là khó học rất cao, chẳng hạn như mẫu, chỉ số, rò rỉ bộ nhớ, vv.

Hiện nay, C++ vẫn là ngôn ngữ lập trình được ưa thích cho giao dịch dung lượng lớn, tần số cao, vì một lý do đơn giản là vì các đặc điểm của ngôn ngữ C++ dễ dàng tiếp cận hơn với tầng dưới máy tính và là công cụ hiệu quả nhất để phát triển các hệ thống truy xuất và thực thi hiệu suất cao để xử lý một lượng lớn dữ liệu.

Java/C#

Java/C# đều là ngôn ngữ tĩnh chạy trên máy ảo, không có ranh giới, không có coredump, không đưa ra vị trí chính xác đặc biệt cho các vị trí của mã sai, không cần phải lo lắng về rò rỉ bộ nhớ, v.v.

Tuy nhiên, về chức năng, không thể thực hiện như C ++, tối ưu hóa nền tảng của hệ thống giao dịch. Về tính năng mở rộng, nó sẽ yếu hơn so với C ++, vì chúng cần được mở rộng qua cầu C, và cả hai ngôn ngữ này tự chạy trên máy ảo, vì vậy khi mở rộng các mô-đun chức năng, bạn sẽ cần phải vượt qua một bức tường để thực hiện.

Tóm lại

Tuy nhiên, nói lại, ngôn ngữ lập trình định lượng không quan trọng, quan trọng là ý tưởng. Các nhà phát minh ngôn ngữ định lượng và ngôn ngữ trực quan hóa như là một ngưỡng gõ vào định lượng là hoàn toàn không có vấn đề, nâng cao sau khi nhập là cần phải liên tục kết hợp các điều kiện thị trường khác nhau để thử khám phá, có thể nói ý tưởng quyết định lối ra, mắt quyết định giới hạn.

Bạn thiết kế chiến lược của bạn, giao dịch ý tưởng của bạn. Từ góc độ này, giao dịch định lượng vẫn nằm ở trung tâm của ý tưởng giao dịch. Là một nhà giao dịch định lượng, bạn không chỉ cần nắm vững ngữ pháp và chức năng cơ bản của nền tảng viết chiến lược mà còn cần thực hiện ý tưởng giao dịch trong cuộc chiến thực.

Bài học sau giờ học

Một, ngôn ngữ Python có những lợi thế như thế nào đối với giao dịch định lượng? 2/ Hãy thử viết một vài API phổ biến bằng ngôn ngữ của nhà phát minh của bạn.

Phần tiếp theo

Tin rằng với những lời giới thiệu về ngôn ngữ lập trình trên, bạn chắc chắn biết cách chọn, vì vậy trong vài chương tiếp theo, chúng tôi sẽ phát triển các chiến lược giao dịch định lượng học tập có mục tiêu theo phân loại ngôn ngữ lập trình.

3.2 Tiếng Việt

Tóm tắt

Ngôn ngữ Mac là gì? Ngôn ngữ Mac được gọi là một bộ thư viện các chức năng lập trình được mở rộng từ các chỉ số kỹ thuật cổ phiếu ban đầu.

Nó sử dụng mô hình xây dựng "từ ngữ pháp nhỏ, hàm lớn", cải thiện đáng kể hiệu quả viết, chiến lược hơn 100 câu trong các ngôn ngữ khác, nói chung chỉ có thể viết 10 câu trong tiếng Anh. Với cơ sở tài chính thống kê và cấu trúc dữ liệu với công cụ định lượng của người phát minh, cũng có thể hỗ trợ logic giao dịch phức tạp.

Chiến lược hoàn chỉnh

Để giúp mọi người nhanh chóng hiểu được những kiến thức chính của phần này, trước khi giới thiệu một phần giới thiệu nhanh về ngôn ngữ định lượng của nhà phát minh, hãy có một sự hiểu biết ban đầu về khái niệm danh từ trong phần này. Chúng tôi vẫn sử dụng đường trung bình 50 ngày dài và đường trung bình 10 ngày ngắn như là trường hợp cơ bản, hãy xem lại các trường hợp chiến lược hoàn chỉnh được đề cập trong phần trước:

Mở nhiều đầu: Nếu hiện tại không có vị trí, và giá đóng cửa lớn hơn đường trung bình ngắn hạn, và giá đóng cửa lớn hơn đường trung bình dài hạn, và đường trung bình ngắn hạn lớn hơn đường trung bình dài hạn, và đường trung bình dài hạn tăng.

Mở cửa trống: Nếu hiện tại không có vị trí, và giá đóng cửa thấp hơn đường trung bình ngắn hạn, và giá đóng cửa thấp hơn đường trung bình dài hạn, và đường trung bình ngắn hạn thấp hơn đường trung bình dài hạn, và đường trung bình dài hạn giảm.

Đặt nhiều đầu: Nếu hiện đang giữ nhiều đơn đặt hàng và giá đóng cửa thấp hơn đường trung bình dài hạn, hoặc đường trung bình ngắn hạn thấp hơn đường trung bình dài hạn, hoặc đường trung bình dài hạn giảm.

Bàn chân trống: Nếu hiện đang có đơn hàng trống và giá đóng cửa lớn hơn đường trung bình dài hạn, hoặc đường trung bình ngắn hạn lớn hơn đường trung bình dài hạn, hoặc đường trung bình dài hạn tăng.

Nếu viết bằng mã tiếng Việt, nó sẽ như thế này:imgHình 3 - 3 Mô hình ngôn ngữ Ma hoàn chỉnh

Để viết một chiến lược giao dịch định lượng đầy đủ, thường cần: thu thập dữ liệu, tính toán dữ liệu, tính toán logic, mua bán đơn đặt hàng. Như hình trên cho thấy, trong toàn bộ mã chỉ sử dụng một API để thu thập dữ liệu cơ bản, đó là nút CLOSE ở hàng đầu và hàng thứ hai; sau đó hàng đầu đến hàng thứ 9 là phần tính toán dữ liệu; cuối cùng hàng thứ 11 đến hàng thứ 14 là phần tính toán logic và đơn đặt hàng.

Lưu ý, mã màu tím là biến; từ hàng đầu đến hàng thứ chín, dấu hiệu màu xanh lá cây: = dấu hiệu mã hóa, mã hóa dữ liệu bên phải được tính toán và được tính toán cho các biến bên trái của mã hóa; mã màu cam là API, ví dụ như trong dòng đầu tiên, gọi MA ((thường xuyên) yêu cầu truyền hai tham số, tham số truyền mà bạn có thể hiểu là cài đặt, nghĩa là bạn cần thiết lập kiểu MA khi gọi MA; dấu hiệu màu đỏ AND, OR, và các toán tử logic, chủ yếu được sử dụng để kết nối nhiều tính toán logic.

Dữ liệu cơ bản

Dữ liệu cơ bản (tạm dịch: giá mở, giá cao nhất, giá thấp nhất, giá đóng, khối lượng giao dịch) là một phần không thể thiếu trong giao dịch định lượng, trong chiến lược, để có được dữ liệu cơ bản mới nhất, chỉ cần gọi API của công cụ định lượng của nhà phát minh. Nếu muốn có được dữ liệu cơ bản trong lịch sử, bạn có thể sử dụng hàm REF, ví dụ: REF (tạm dịch: CLOSE, 1) là lấy giá đóng hôm qua.

Các biến

Các tên biến là số có thể thay đổi, tên biến có thể được hiểu là mã, tên của nó hỗ trợ đặt tên theo định dạng chữ cái, chữ cái, số, dấu gạch xích, nhưng cần kiểm soát chiều dài trong vòng 31 ký tự. Tên biến không thể lặp lại với nhau, không thể lặp lại với tên tham số, không thể lặp lại với tên hàm (API), mỗi câu phải kết thúc bằng dấu chấm.imgHình 3-4 Các kiểu dữ liệu tiếng Việt

Đặt giá trị biến

Đặt giá trị biến là đưa giá trị bên phải của ký hiệu cho các biến bên trái, có tổng cộng 4 ký hiệu, có thể kiểm soát xem số liệu có hiển thị trên biểu đồ hay không, và xác định vị trí hiển thị. Dưới đây là các phông chữ màu xanh lá cây là ký hiệu, lần lượt là :, :=, ^^, ... , phần chú thích mã trong biểu đồ, giải thích chi tiết ý nghĩa của chúng.imgHình 3-5 Đặt giá trị của các biến trong ngôn ngữ Mac

Loại dữ liệu

Trong tiếng Anh, có nhiều kiểu dữ liệu, trong đó phổ biến nhất là kiểu số, kiểu chuỗi, kiểu boolean. Các kiểu số là số, bao gồm cả số nguyên, số nhỏ, số âm dương, v.v., chẳng hạn như: 1, 2, 3, 1, 1234, 2, 23456...; các kiểu chuỗi bạn có thể hiểu là chữ, số tiếng Trung, số tiếng Anh, và cả hai đều là các chuỗi, chẳng hạn như: nhà phát minh định lượng, CLOSEPRICE, 6000, 6000, kiểu chuỗi phải được bọc bằng phân số tiếng Anh; kiểu boolean là đơn giản nhất, nó chỉ có 2 ngưỡng là không, ví dụ: bằng 1true cho biết , 0 cho biết không là .

Các toán tử quan hệ

Các toán tử quan hệ, theo nghĩa của tên, là các toán tử được sử dụng để so sánh hai giá trị của mối quan hệ; tương đương, lớn hơn, nhỏ hơn, lớn hơn, bằng, nhỏ hơn, bằng, không bằng, như hình dưới:imgHình 3-6. Các toán tử tiếng Việt

Các toán tử logic

Các phép tính logic có thể kết nối các câu nói kiểu Boole riêng lẻ thành một tổng thể, thường được sử dụng là AND (và) và OR (và) ≠. Giả sử có hai giá trị kiểu Boole, đó là giá đóng cửa của lớn hơn giá mở và giá đóng cửa của lớn hơn giá mở, chúng ta có thể tạo thành một giá trị Boole, ví dụ: giá đóng cửa của lớn hơn giá mở và giá đóng cửa của lớn hơn giá mở, giá đóng cửa của lớn hơn giá mở hoặc OR lớn hơn giá đóng cửa của .imgHình 3-7 Các phép toán logic của ngôn ngữ Mac

Hãy chú ý: AND là khi tất cả các điều kiện cho , thì điều kiện cuối cùng cho ; OR trong tất cả các điều kiện, miễn là có bất kỳ điều kiện nào cho , thì điều kiện cuối cùng là . AND có thể được viết là??&&,OR có thể được viết là含量.

Các toán tử số

Các biểu tượng toán học phổ biến của tiếng Việt (+,-,*,/) không có bất kỳ sự khác biệt nào với toán học học tiểu học, như hình dưới:imgHình 3-8 Xử lý toán học tiếng Việt

Ưu tiên

Nếu có một biểu thức 100* ((10-1) / ((10+5), chương trình sẽ tính trước bước nào? Toán học trung học cho chúng ta biết: Nếu là một phép tính cùng cấp độ, chúng ta thường đếm từ trái sang phải. Nếu có phép cộng và phép nhân, thì hãy nhân trước. Nếu có phép cộng và phép cộng, thì hãy cộng lại.imgHình 3-9 Ưu tiên hoạt động toán học tiếng Anh

Phương thức thực hiện

Trong ngôn ngữ Mac của công cụ định lượng của nhà phát minh, các chiến lược chương trình thực hiện tổng cộng hai chế độ, đó là: chế độ giá đóng cửa và chế độ giá thực tế.

Chiến lược nội bộ

Nếu là chính sách trong ngày, thì khi trạm cuối cần được cân bằng, bạn cần sử dụng hàm thời gian cân bằng của TIME. Chức năng này được hiển thị dưới dạng bốn chữ số trên chu kỳ giây, dưới chu kỳ ngày, tức là: HHMM ((145014:50). Lưu ý: sử dụng hàm TIME như là điều kiện cho trạm cuối cân bằng, điều kiện mở giao dịch cũng được đề nghị làm hạn chế thời gian tương ứng. Như hình dưới:imgHình 3-10 Phương thức thời gian tiếng Anh

Mô hình phân loại

imgHình 3-11 Mô hình phân loại ngôn ngữ Ma

Mô hình trong ngôn ngữ Mac có hai loại, đó là: mô hình không lọc và mô hình lọc. Điều này thực sự rất dễ hiểu: mô hình không lọc cho phép các tín hiệu mở hoặc bình thường liên tục xuất hiện, có thể thực hiện các chức năng tăng và giảm. Mô hình lọc không cho phép các tín hiệu mở hoặc bình thường liên tục xuất hiện, tức là khi tín hiệu mở xuất hiện, tín hiệu mở sau đó sẽ được lọc cho đến khi có tín hiệu bình thường xuất hiện.

Tóm lại

Đây là một phần giới thiệu nhanh về ngôn ngữ Ma, sau khi học, bạn có thể lập trình chiến lược giao dịch định lượng. Nếu cần viết các chiến lược phức tạp hơn, bạn có thể tham khảo tài liệu API của công cụ định lượng của người phát minh, hoặc trực tiếp tham khảo chính thức dịch vụ khách hàng đại diện viết chiến lược giao dịch định lượng.

Phần tiếp theo

Giao dịch trong ngày cũng là một mô hình giao dịch, cách này không giữ cổ phiếu qua đêm, do đó rủi ro biến động thị trường thấp hơn, nếu có một thị trường bất lợi, bạn có thể điều chỉnh kịp thời.

Bài học sau giờ học

Một, cố gắng viết một API để lấy dữ liệu cơ bản bằng ngôn ngữ Mac với công cụ định lượng của nhà phát minh. 2, các định nghĩa biến có thể được hiển thị trong biểu đồ như thế nào?

3.3 Làm thế nào để thực hiện chiến lược bằng tiếng Ma

Tóm tắt

Trong bài viết trước, chúng tôi đã giải thích cho bạn những điều cần thiết để thực hiện chiến lược giao dịch từ các phần giới thiệu về ngôn ngữ Ma, ngữ pháp cơ bản, cách thực hiện mô hình, phân loại mô hình, v.v.

Các mô-đun chiến lược

Hãy nghĩ về cách bạn ghép một robot với những mảnh Lego. Bạn không bao giờ có thể ghép nó lại từ trên xuống hoặc từ dưới xuống, một phần. Những người có chút thông thường biết rằng bạn nên ghép đầu, cánh tay, chân, cánh, v.v. và sau đó xây dựng một robot hoàn chỉnh.

Sự gia tăng giai đoạn

Sự gia tăng giai đoạn là tỷ lệ phần trăm chênh lệch giữa giá đóng cửa của đường gốc K với giá đóng cửa của N chu kỳ trước đó. Ví dụ: tính toán mức tăng của 10 giai đoạn K gần đây, bạn có thể viết bằng mã:imgHình 3-12 Sự gia tăng của giai đoạn ngôn ngữ Ma

Tăng công nghệ

Tỷ lệ cao đổi mới là tính toán giá cao nhất từ N chu kỳ khi các đường gốc K lớn hơn. Ví dụ: tính toán giá cao nhất trong 10 đường gốc K gần đây nhất khi các đường gốc K lớn hơn, bạn có thể viết bằng mã:imgHình 3 - 13 Ngôn ngữ Ma lại sáng tạo cao

Tăng lượng tấn công

Lưu lượng tấn công có thể được hiểu là giá tăng lên, khối lượng giao dịch tăng mạnh. Ví dụ: nếu giá đóng cửa của đường K gốc là 1,5 lần giá đóng cửa của đường K gốc 10 trước đó, tức là tăng 50% trong 10 ngày; khối lượng giao dịch lớn hơn 5 lần so với mức trung bình của đường K gốc 10 gần đây.imgHình 3-14 Ngôn ngữ Ma tăng lên

Phân loại hẹp

Phân loại chật hẹp là chỉ thị giá duy trì trong một mức độ nhất định trong một khoảng thời gian gần. Ví dụ: nếu giá cao nhất trong 10 chu kỳ khác với giá thấp nhất trong 10 chu kỳ, ngoại trừ giá đóng cửa của đường gốc K, nhỏ hơn khoảng 0.05.imgHình 3-15 Ngôn ngữ Mây sắp xếp chặt chẽ

Định dạng đa đầu đồng tuyến

Định dạng đường đa đầu được chia thành nhiều đầu và không đầu, đường K ở 510203060 đường đa đầu hỗ trợ xếp hàng lên nhiều đầu, nhiều đầu xếp hàng là xu hướng thị trường là tăng mạnh.imgHình 3-16 Ngôn ngữ Ma có nhiều đầu thẳng

Điểm cao trước đó và vị trí của nó

Để có được điểm cao trước đó, và vị trí của điểm cao này, bạn có thể truy cập trực tiếp qua API của công cụ định lượng của nhà phát minh.imgHình 3-17 Điểm cao trước đó của tiếng Ma

Nhảy vào lỗ trống

Một lỗ hổng nhảy là một tình huống mà giá thấp nhất của hai đường K xuất hiện không nối liền, bao gồm hai đường K, lỗ hổng nhảy là giá tham khảo của điểm hỗ trợ và áp lực sau đó. Khi lỗ hổng nhảy xuất hiện, giả sử rằng một sự gia tăng của xu hướng theo hướng nhảy ban đầu đã bắt đầu.imgHình 3-18 Ngôn ngữ Ma nhảy trống

Các chỉ số kỹ thuật thường sử dụng

Đường trung bình di chuyển

imgHình 3-19 Biểu đồ đường trung bình di chuyển

Từ quan điểm thống kê, đường trung bình là trung bình toán học của giá hàng ngày, nó là một đường dẫn giá có xu hướng. Hệ thống đường trung bình là một công cụ kỹ thuật thường được sử dụng bởi hầu hết các nhà phân tích, từ quan điểm kỹ thuật ảnh hưởng đến các yếu tố giá tâm lý của nhà phân tích kỹ thuật, các yếu tố quyết định mua bán tư duy, là một công cụ tham khảo tốt cho các nhà phân tích kỹ thuật, các công cụ định lượng của nhà phát minh hỗ trợ nhiều loại đường trung bình khác nhau, như hình dưới:imgHình 3-20 Ngôn ngữ Ma tính toán các chỉ số khác nhau

BOLL

imgHình 3-21 BOLL

BOLL cũng được gọi là chỉ số dây chuyền Boll, cũng sử dụng các nguyên tắc thống kê, đầu tiên tính đường trung bình dựa trên đường trung bình chuyển động ngày N, sau đó tính đường lên và xuống theo đường lệch chuẩn. Khi kênh BOLL trở nên hẹp, báo hiệu giá dần trở lại mức trung bình. Khi kênh BOLL trở nên hẹp, có nghĩa là thị trường bắt đầu thay đổi, nếu giá đi trên đường, cho thấy sức mua tăng, nếu giá đi xuống đường, cho thấy sức bán tăng.

Trong tất cả các chỉ số kỹ thuật, phương pháp tính toán của BOLL là một trong những phương pháp phức tạp nhất, trong đó giới thiệu khái niệm sai số chuẩn trong thống kê, liên quan đến việc tính toán đường giữa (MB), đường trên (UP) và đường dưới (DN); phương pháp tính toán của nó là như sau:imgHình 3 - 22 Ngôn ngữ Ma Brinh tính toán

Chỉ số MACD

imgHình 3-23 Chỉ số MACD

Chỉ số MACD sử dụng các đường trung bình di chuyển nhanh (thời gian ngắn) và chậm (thời gian dài) và các dấu hiệu tích hợp và tách biệt của chúng để thực hiện các hoạt động trơn tru hai lần. Trong khi đó, MACD được phát triển theo nguyên tắc đường trung bình di chuyển, một loại bỏ những khiếm khuyết của đường trung bình di chuyển thường xuyên phát ra tín hiệu sai, và thứ hai giữ lại hiệu quả của đường trung bình di chuyển, do đó, chỉ số MACD có các đặc điểm như xu hướng đồng tuyến, độ ổn định, ổn định, được sử dụng để đánh giá thời gian mua bán cổ phiếu, dự đoán giá cổ phiếu giảm.

imgHình 3-24 Chỉ số MACD của ngôn ngữ Ma

Đây là các mô-đun chiến lược thường được sử dụng trong việc phát triển chiến lược giao dịch định lượng, nhưng thực sự còn nhiều hơn thế nữa, thông qua các ví dụ mô-đun trên, bạn cũng có thể tự thực hiện một số mô-đun giao dịch thường được sử dụng nhất trong giao dịch chủ quan, phương pháp này là phổ biến. Tiếp theo, chúng tôi bắt đầu viết một chiến lược giao dịch định lượng trong ngày có thể thực hiện được.

Chiến lược viết

Trong thị trường ngoại hối hiện tại, một chiến lược giao dịch đột phá đã được phổ biến rộng rãi, đó là chiến lược HANS123, nó phá vỡ điểm cao và thấp của đường NGK sau khi mở ngắn gọn, như là tiêu chuẩn đánh giá được kích hoạt tín hiệu giao dịch. Đây cũng là một mô hình giao dịch đầu vào.

Logic chiến lược

Trong khi đó, người dân địa phương cũng có thể tham gia vào cuộc biểu tình. Trên đường = đỉnh 30 phút sau khi bắt đầu; Đường dưới = điểm thấp 30 phút sau khi bắt đầu; Khi giá vượt qua đường dẫn, mua và mở; Khi giá giảm xuống đường, bán và mở lệnh. Chiến lược giao dịch trong ngày, đóng cửa trước khi đóng cửa;

Mã chiến lược

imgHình 3-25 Mã chiến lược ngôn ngữ Ma

Tóm lại

Trên đây, chúng ta đã học được khái niệm của các mô-đun chiến lược, và thông qua một vài trường hợp mô-đun chiến lược thường được sử dụng, quen thuộc với phương pháp lập trình của các công cụ định lượng nhà phát minh, có thể nói rằng học cách viết các mô-đun chiến lược tốt, nâng cao tư duy logic lập trình, là một bước quan trọng để tiến hành định lượng giao dịch. Cuối cùng, chúng ta thực hiện các công cụ định lượng nhà phát minh, chiến lược giao dịch thường được sử dụng trong giao dịch ngoại hối ngay lập tức.

Phần tiếp theo

Có lẽ bạn bè sẽ thấy bối rối, mã mật mã khó hiểu. Đừng vội vàng, chúng tôi đã nghĩ về tất cả những điều này cho bạn, trong các công cụ định lượng của nhà phát minh, có một ngôn ngữ lập trình, phù hợp hơn cho người dùng nhỏ bé, đó là lập trình trực quan hóa, theo tên gọi là cái nhìn ngay lập tức, hãy cùng chờ đợi!

Bài học sau giờ học

Một, hãy thử thực hiện một vài mô-đun giao dịch mà bạn thường sử dụng trong giao dịch chủ quan. 2, thử thực hiện thuật toán chỉ số KDJ bằng ngôn ngữ Mac trong công cụ định lượng của nhà phát minh.

3.4 Khởi đầu nhanh về lập trình trực quan

Tóm tắt

Nhiều nhà giao dịch chủ quan quan tâm đến giao dịch định lượng và bắt đầu tự tin, cho đến khi học các ngữ pháp cơ bản của ngôn ngữ lập trình truyền thống, tính toán dữ liệu, cấu trúc dữ liệu, kiểm soát logic, v.v.

Chiến lược hoàn chỉnh

Để giúp mọi người nhanh chóng hiểu được những kiến thức chính của phần này, trước khi giới thiệu các phát minh viên về ngôn ngữ lập trình trực quan hóa định lượng, hãy xem chiến lược được viết bằng ngôn ngữ trực quan hóa như thế nào? và có một sự hiểu biết ban đầu về khái niệm danh từ của phần này. Chúng tôi làm ví dụ không với giá đóng cửa đơn giản nhất lớn hơn đường trung bình 50 chu kỳ, ngược lại, giá đóng cửa nhỏ hơn đường trung bình 50 chu kỳ:

Mở nhiều đầu: Nếu hiện tại không có vị trí và giá đóng cửa lớn hơn đường trung bình 50 chu kỳ.Mở cửa trống: Nếu hiện tại không có vị trí và giá đóng cửa thấp hơn đường trung bình 50 chu kỳ.Đặt nhiều đầu: Nếu hiện đang nắm giữ nhiều đơn đặt hàng và giá đóng cửa thấp hơn đường trung bình 50 chu kỳ.Bàn chân trống: Nếu hiện đang giữ đơn hàng trống và giá đóng cửa lớn hơn đường trung bình 50 chu kỳ.

Nếu bạn viết các chiến lược trên bằng ngôn ngữ trực quan, nó sẽ như thế này:imgHình 3-26: Giao diện ngôn ngữ trực quan

Như hình trên cho thấy, toàn bộ quá trình thiết kế chiến lược là: thiết lập loại thị trường, lấy matrix K, lấy trung bình 50 chu kỳ trên đường K gốc, lấy giá đóng cửa trên đường K gốc, lấy matrix nắm giữ, xác định trạng thái nắm giữ, xác định giá đóng cửa lớn hơn hoặc nhỏ hơn đường trung bình, thực hiện giao dịch mở hoặc đóng cửa.

Ở đây cần chú ý đến khái niệm hàm mảng mảng, một trong những cấu trúc dữ liệu quan trọng đối với mọi ngôn ngữ lập trình. Mảng giống như một thùng chứa, trong đó bạn có thể lưu trữ một loạt các giá trị. Ví dụ: gọi API để lấy mảng K-string, nó sẽ trả về kết quả như sau:imgHình 3-27 K-line array

Mã trên hình trên là một mảng K-line với 3 dữ liệu, dữ liệu của mảng K gốc trên, dữ liệu của mảng K gốc trên, dữ liệu của mảng K gốc dưới. Nếu chúng ta gán giá trị của mảng này cho một biến là một hàm arr, nếu chúng ta muốn lấy từ mảng này, dữ liệu cuối cùng (dữ liệu của mảng K gốc) có thể được viết như sau (dòng 4, 5):imgPhương pháp tham chiếu của Diagram 3-28.

Vì vậy, bạn có thể lấy chiều dài của mảng trước, arr.length nghĩa là lấy chiều dài của mảng, sau đó trừ 1, đó là dữ liệu của mảng K mới nhất. Nếu bạn muốn lấy dữ liệu của mảng K gốc, bạn trừ 2.

Nếu bạn cẩn thận, bạn có thể thấy rằng tất cả các dữ liệu này đều được bao gồm bằng các con số, bạn có thể biết được các giá tương ứng trong đó: thời gian, giá mở, giá cao nhất, giá thấp nhất, giá đóng, khối lượng giao dịch. Nếu bạn muốn có được giá đóng trên đường gốc K, hãy thêm con số ngay sau đó.imgCác tham chiếu của các tập hợp hình 3-29

Tại sao sử dụng ngôn ngữ lập trình trực quan?

Với những khái niệm trên, hãy bắt đầu bằng cách viết một chương trình xuất Hello, world, bằng ngôn ngữ Java để có cảm giác về lập trình truyền thống, như hình dưới:imgHình 3-30

Chỉ cần xuất ra một chuỗi hello world! của chương trình, bạn sẽ viết 5 dòng mã. Tôi tin rằng hầu hết những người mới bắt đầu, chỉ biết các từ tiếng Anh trong ngoặc chữ hello, world, những thứ khác là vô cùng khó khăn. Vì vậy, không thể bắt đầu, với các chương trình trực quan như là một bước đầu tiên, chắc chắn là một lựa chọn tốt hơn.

Điều gì là lập trình trực quan?

Chương trình hình ảnh có nguồn gốc từ lâu và không phải là một điều mới. Ý tưởng lập trình này được phát triển từ những cái nhìn như vậy, với các mô-đun điều khiển khác nhau, chỉ cần kéo theo, bạn có thể xây dựng logic mã, hoàn thành thiết kế chiến lược giao dịch, quá trình giống như khối.imgHình 33-31

Như hình trên, cùng một chương trình chỉ cần một dòng mã trong chương trình blockly. Điều này làm giảm rất nhiều ngưỡng lập trình, đặc biệt là đối với các nhà giao dịch không biết lập trình hoàn toàn. Đây là một trải nghiệm hoạt động tuyệt vời.

Những đặc điểm của ngôn ngữ lập trình trực quan

blockly không phải là một đồ chơi lập trình, nó là một trình soạn thảo thực sự, chứ không phải là một hệ điều hành giả làm trình soạn thảo, hỗ trợ nhiều yếu tố cơ bản của lập trình, chẳng hạn như: biến, hàm, mảng, và các khối tùy chỉnh dễ mở rộng, bạn có thể sử dụng nó để hoàn thành các nhiệm vụ lập trình phức tạp.

Chương trình hình ảnh được định lượng bởi các nhà phát minh, cũng được thực hiện bằng công cụ hình ảnh blockly của Google.imgHình 3-32

Có hàng trăm mô-đun giao dịch được sử dụng phổ biến được xây dựng trong giao diện lập trình trực quan được định lượng bởi nhà phát minh, và sẽ có nhiều mô-đun giao dịch tiếp theo để hỗ trợ các ý tưởng và ứng dụng mới của các nhà giao dịch, được phát triển và duy trì bởi các nhà phát triển.

Mặc dù ngữ pháp đơn giản, nhưng nó cũng không mất hiệu suất. Nó gần như đáp ứng hầu hết các chiến lược giao dịch định lượng đơn giản. Nó không thua kém các ngôn ngữ lập trình thông thường như Python, JavaScript và các ứng dụng tài chính phức tạp trong tương lai.

Cách sử dụng

imgHình 3 - 33

Viết một chương trình hello, world

imgHình 33-34

Chạy, in Hello, world out

imgHình 3 - 35

Tóm lại

Ở trên, chúng tôi bắt đầu với một chiến lược trực quan đầy đủ, giới thiệu và đặc điểm của ngôn ngữ trực quan, và cuối cùng là cách sử dụng ngôn ngữ trực quan trên công cụ định lượng của nhà phát minh, và với ví dụ về viết một hello world. Tuy nhiên, cần nhắc nhở mọi người rằng, như là một bước đầu vào giao dịch định lượng, lập trình trực quan là một cửa hàng tốt, nhưng hiện tại trên công cụ định lượng của nhà phát minh, chỉ mở một giao diện API hạn chế, tốt nhất là sử dụng nó như một công cụ phụ trợ để giúp bạn giải quyết logic chiến lược đối với giao dịch định lượng.

Phần tiếp theo

Việc lập trình trực quan không khác gì nền tảng của ngôn ngữ lập trình cao cấp, thậm chí là phổ biến ở một số nơi, và học lập trình trực quan cũng đi xa hơn so với học lập trình cao cấp. Trong phần sau, chúng ta sẽ học sâu về các bước tiến lập trình trực quan, bao gồm cách viết các mô-đun giao dịch định lượng thường được sử dụng với ngôn ngữ trực quan trên công cụ định lượng của nhà phát minh, và cách phát triển một chiến lược giao dịch nội bộ hoàn chỉnh.

Bài học sau giờ học

Một trong những điều quan trọng nhất là các nhà phát minh có thể định lượng các giao diện lập trình trực quan, sử dụng API và hiểu ý nghĩa của chúng. 2, Sử dụng ngôn ngữ trực quan để lấy giá khởi điểm mới nhất và xuất ra sổ đăng ký.

3.5 Làm thế nào để thực hiện chiến lược bằng ngôn ngữ trực quan

Tóm tắt

Trong bài viết trước, chúng tôi đã tìm hiểu về các phần cần thiết để thực hiện các chiến lược giao dịch, ví dụ như các ngôn ngữ lập trình trực quan, ví dụ về hello world, và viết chiến lược trong công cụ giao dịch định lượng của nhà phát minh. Trong bài viết này, chúng tôi tiếp tục bài viết tiếp theo, bắt đầu từ các mô-đun chiến lược và chỉ số kỹ thuật thường được sử dụng, đến logic chiến lược, từng bước giúp bạn thực hiện một chiến lược giao dịch trong ngày hoàn chỉnh.

Các mô-đun chiến lược

Sự gia tăng giai đoạn

Sự gia tăng giai đoạn là tỷ lệ phần trăm chênh lệch giữa giá đóng cửa của đường gốc K với giá đóng cửa của N chu kỳ trước đó. Ví dụ: tính toán mức tăng của 10 giai đoạn K gần đây, bạn có thể viết bằng mã:imgHình 3-36

Mã trên có thể thấy rằng cách mà máy tính thực hiện là cần một vòng lặp logic hoàn chỉnh, ví dụ như để tính toán sự gia tăng giai đoạn của 10 dòng K gần đây nhất, cần phải phân chia thành các bước sau: Trước tiên máy tính phải biết rõ bạn muốn giao dịch loại gì, ví dụ như methanol, sau đó đặt mã hợp đồng là: MA888.

Với dữ liệu đường K, bạn có thể lấy dữ liệu chi tiết của bất kỳ đường K nào từ dữ liệu đường K này. Để tính mức tăng trong giai đoạn thống kê, trước tiên bạn phải lấy 2 giá đóng cửa đường K, ví dụ: giá đóng cửa đường K gốc trên và giá đóng cửa đường K 11 trước đó.

Cuối cùng, tính tỷ lệ gia tăng giai đoạn dựa trên giá đóng cửa của hai đường K. Mỗi chiến lược dưới đây có các đặc điểm quy định về vòng lặp logic và thuộc tính điều kiện, hiểu logic này, lập trình trực quan cũng sẽ trở nên dễ dàng hơn.

Tăng lượng tấn công

Lưu lượng tấn công có thể được hiểu là giá tăng lên, khối lượng giao dịch tăng mạnh. Ví dụ: nếu giá đóng cửa của đường K gốc là 1,5 lần giá đóng cửa của đường K gốc 10 trước đó, tức là tăng 50% trong 10 ngày; khối lượng giao dịch lớn hơn 5 lần so với mức trung bình của đường K gốc 10 gần đây.imgHình 3-37

Nhảy vào lỗ trống

Một lỗ hổng nhảy là một tình huống mà giá thấp nhất của hai đường K xuất hiện không nối liền, bao gồm hai đường K, lỗ hổng nhảy là giá tham khảo của điểm hỗ trợ và áp lực sau đó. Khi lỗ hổng nhảy xuất hiện, giả sử rằng một sự gia tăng của xu hướng theo hướng nhảy ban đầu đã bắt đầu.imgHình 3-38

Các chỉ số kỹ thuật thường sử dụng

Đường trung bình EMA

Từ quan điểm thống kê, đường trung bình là trung bình toán học của giá hàng ngày, nó là một đường dẫn giá có xu hướng. Hệ thống đường trung bình là một công cụ kỹ thuật thường được sử dụng bởi hầu hết các nhà phân tích, từ quan điểm kỹ thuật ảnh hưởng đến các yếu tố giá tâm lý của nhà phân tích kỹ thuật, các yếu tố quyết định mua bán tư duy, là một công cụ tham khảo tốt cho các nhà phân tích kỹ thuật, các công cụ định lượng của nhà phát minh hỗ trợ nhiều loại đường trung bình khác nhau, như hình dưới:imgHình 3-39

Chỉ số MACD

Chỉ số MACD sử dụng các đường trung bình di chuyển nhanh (thời gian ngắn) và chậm (thời gian dài) và các dấu hiệu tích hợp và tách biệt của chúng để thực hiện các hoạt động trơn tru hai lần. Trong khi đó, MACD được phát triển theo nguyên tắc đường trung bình di chuyển, một loại bỏ những khiếm khuyết của đường trung bình di chuyển thường xuyên phát ra tín hiệu sai, và thứ hai giữ lại hiệu quả của đường trung bình di chuyển, do đó, chỉ số MACD có các đặc điểm như xu hướng đồng tuyến, độ ổn định, ổn định, được sử dụng để đánh giá thời gian mua bán cổ phiếu, dự đoán giá cổ phiếu giảm.imgHình 3-40

Chỉ số KDJ

Chỉ số KDJ tích hợp các ưu điểm của khái niệm động lực, chỉ số mạnh và đường trung bình chuyển động để đo mức độ biến động của giá cổ phiếu ra khỏi phạm vi giá bình thường. Nó không chỉ xem xét giá đóng cửa mà còn có giá cao nhất và giá thấp nhất gần đây, điều này tránh việc chỉ xem giá đóng cửa và bỏ qua điểm yếu của sự biến động thực sự. Phương pháp tính toán của nó là như sau:imgHình 3-41

Chiến lược viết

Benjamin Graham, người cố vấn của Warren Buffett, đã từng đề cập đến một mô hình giao dịch chứng khoán trái phiếu cân bằng động trong cuốn sách của ông về nhà đầu tư thông minh.

Một số người cho rằng, việc giao dịch này rất đơn giản: Đầu tư 50% số tiền bạn có vào quỹ cổ phiếu và 50% còn lại vào quỹ trái phiếu, nghĩa là cả cổ phiếu và trái phiếu đều chiếm một nửa.

Một lần cân bằng lại tài sản theo khoảng thời gian cố định hoặc thay đổi thị trường, tỷ lệ giữa tài sản cổ phiếu và tài sản trái phiếu trở lại mức ban đầu 1:1. Đó là toàn bộ logic của toàn bộ chiến lược, bao gồm khi mua và bao nhiêu bán. Đơn giản thôi!

Trong phương pháp này, tỷ lệ biến động của quỹ trái phiếu thực sự rất nhỏ, thấp hơn rất nhiều so với tỷ lệ biến động của cổ phiếu, vì vậy trái phiếu được coi là "cơ quan tham khảo", tức là, trái phiếu được sử dụng để đo lường liệu cổ phiếu có kiếm được nhiều hay ít.

Nếu giá cổ phiếu tăng, giá trị thị trường của cổ phiếu sẽ lớn hơn giá trị thị trường của trái phiếu, và khi tỷ lệ giá trị thị trường của cả hai vượt quá mức thềm được thiết lập, tổng vị trí sẽ được điều chỉnh lại, bán cổ phiếu và mua trái phiếu, để tỷ lệ giá trị thị trường cổ phiếu và trái phiếu trở lại mức ban đầu 1:1.

Thay vào đó, giá cổ phiếu giảm, làm cho giá trị thị trường của cổ phiếu thấp hơn giá trị thị trường của trái phiếu, và khi tỷ lệ giá trị thị trường của cả hai vượt quá mức thềm được thiết lập, tổng vị trí được điều chỉnh lại, mua cổ phiếu và bán trái phiếu, làm cho tỷ lệ giá trị thị trường trái phiếu trở lại mức ban đầu 1:1.

Như vậy, tỷ lệ giữa cổ phiếu và trái phiếu cân bằng năng động là đủ để hưởng lợi từ sự tăng trưởng của cổ phiếu và giảm biến động tài sản.

Logic chiến lược

Theo giá trị hiện tại của BTC, số dư tài khoản được giữ lại là 5000 yen tiền mặt và 0,1 BTC, tức là tỷ lệ ban đầu giữa tiền mặt và giá trị thị trường BTC là 1:1.

Nếu giá BTC tăng lên ¥6000, nghĩa là giá trị thị trường BTC lớn hơn số dư tài khoản, và sự khác biệt giữa chúng vượt quá ngưỡng đặt ra, hãy bán ((6000-5000) / 6000/2 đồng.

Nếu giá BTC giảm xuống còn ¥ 4000, nghĩa là giá trị thị trường của BTC ít hơn số dư tài khoản, và sự khác biệt giữa chúng vượt quá ngưỡng đặt, hãy mua ((5000-4000) / 4000/2 đồng.

Như vậy, bất kể BTC được tăng giá hay giảm giá, số dư tài khoản sẽ luôn được duy trì tương đương với giá trị thị trường của BTC. Nếu BTC bị giảm giá, bạn sẽ mua một số, và sau đó bán một số, giống như bình thường.

Điều kiện mua: Nếu giá trị thị trường hiện tại trừ số dư hiện tại có sẵn nhỏ hơn âm 5% số dư hiện tại có sẵn, hãy mua.Điều kiện bán: Nếu giá trị thị trường hiện tại được giữ trừ số dư hiện có lớn hơn 5% số dư hiện có, thì bán ngang.

Các điều kiện cần thiết

  • Tình hình hiện tại
  • Tài sản hiện tại
  • Tổng giá trị thị trường
  • Phân biệt tài sản

Xây dựng chiến lược

Bước 1 của chiến lược viết trực quan

Chúng tôi tính toán bốn điều kiện cần thiết cho chiến lược giao dịch và gán giá trị riêng cho các biến tương ứng. Để lập trình trực quan hóa, các khối mã như thế này.imgHình 3-42

Điều cần lưu ý là tổng giá trị thị trường đồng tiền là tổng giá trị thị trường của số tiền hiện có trong kho, được tính bằng cách tính tổng số tiền hiện có bằng giá mới nhất hiện tại. Khoản chênh lệch tài sản là tổng giá trị thị trường đồng tiền trừ số dư có sẵn hiện tại.

Bước 2 của chiến lược viết trực quan

Một khi đã hoàn thành việc gán các điều kiện cần thiết, bạn sẽ cần phải viết logic giao dịch. Điều này cũng không phức tạp như bạn tưởng tượng. Chỉ cần biểu diễn logic chiến lược trên dưới dạng khối mã.

Ví dụ, nếu tài sản ít hơn 5% số dư có thể sử dụng, bạn sẽ mua và nếu tài sản lớn hơn 5% số dư có thể sử dụng, bạn sẽ bán.imgHình 3-43

Toàn bộ chiến lược dường như đã được viết, nhưng hãy biết rằng chương trình được thực hiện từ trên xuống và dừng lại sau khi thực hiện. Nhưng chiến lược giao dịch của chúng tôi không phải là thực hiện các điều kiện giao dịch một lần, mà là thực hiện lặp đi lặp lại.

Điều này có nghĩa là chương trình cần phải liên tục kiểm tra xem các điều kiện chính sách đã được thỏa thuận hay không, và nếu không, hãy liên tục kiểm tra.imgHình 3-44

Chiến lược kiểm tra lại

Các chiến lược trực quan hóa không có sự khác biệt về bản chất so với các chiến lược được viết bằng ngôn ngữ lập trình khác, cũng hỗ trợ nhiều chu kỳ, kiểm tra dữ liệu lịch sử chính xác, và tất nhiên cũng hỗ trợ giao dịch thực tế tương lai hàng hóa trong nước và nước ngoài và tiền kỹ thuật số. Dưới đây là thông tin kiểm tra lại của chiến lược:imgHình 3-45

Cho đến nay, một chiến lược giao dịch hoàn chỉnh chưa được hoàn thành. Để chăm sóc cho các tay cầm tay, chiến lược này đã được chia sẻ trên Quảng trường Chiến lược và có thể trực tiếp sao chép nghiên cứu.

Kết thúc

Luật 10.000 giờ luôn luôn tồn tại, nhưng không thể có 10.000 giờ để bắt đầu lại với một nhà giao dịch không có cơ sở. Vì vậy, bạn phải có một cái thang, và với một nhà giao dịch không có cơ sở lập trình, lập trình hình ảnh được định lượng bởi nhà phát minh là một cái thang để có thể bắt đầu nhanh chóng.

Sử dụng lập trình trực quan, bạn không cần phải ghi nhớ các tên ngữ pháp và phương pháp, chỉ cần duyệt các mô-đun chức năng và tìm thấy những gì bạn muốn. Đây cũng là ý tưởng ban đầu của các nhà phát minh về định lượng, nhằm giúp nhiều người mới bắt đầu định lượng giảm ngưỡng đầu vào, tăng sự quan tâm định lượng, mọi người có thể trở thành nhà giao dịch định lượng!

Tuy nhiên, việc lập trình trực quan hóa là một bước đi vào định lượng hoàn toàn không có vấn đề, nhưng cũng có những hạn chế của riêng mình, chẳng hạn như không thể phát triển một chiến lược giao dịch quá phức tạp, quá chi tiết.

Phần tiếp theo

Từ góc độ chuyên môn của giao dịch định lượng, cả ngôn ngữ Mac và ngôn ngữ trực quan hóa đều chỉ là những ngôn ngữ chuyển tiếp vào thế giới giao dịch định lượng. Đặc điểm ngôn ngữ của chúng cũng quyết định sự hạn chế trong việc phát triển chiến lược giao dịch định lượng, một số chiến lược phức tạp là không thể thực hiện được. Vì vậy, phần tiếp theo chúng tôi sẽ đưa bạn học JavaScript, đó là một ngôn ngữ lập trình cao cấp chính thức và là con đường cần thiết để bạn tiến hành giao dịch định lượng cao cấp.

Bài học sau giờ học

Một, cố gắng thực hiện các chỉ số Brainstorm bằng ngôn ngữ trực quan. 2. Hãy thử thực hiện một chiến lược giao dịch bằng mô-đun giao dịch trong phần này.

Chương 4: Các ngôn ngữ chính thống thực hiện chiến lược giao dịch

4.1 Tiến trình nhanh về ngôn ngữ JavaScript

Tóm tắt

Là một ngôi sao mới của giao dịch định lượng trong tương lai, bạn không thể chỉ học một ngôn ngữ đơn giản là đủ. Ngôn ngữ Mac và ngôn ngữ trực quan của những người phát minh các công cụ định lượng, mặc dù có thể đưa bạn vào, nhưng do tính chất ngôn ngữ của chúng, có nhiều hạn chế trong phát triển chiến lược. Vì vậy, để có một vị trí trong giao dịch định lượng, bạn phải học một ngôn ngữ lập trình chính thức.

Tại sao nên học ngôn ngữ JavaScript

JavaScript có hiệu suất thực hiện và hiệu suất hơn so với ngôn ngữ trực quan. Và trong việc phát triển chính sách, ngôn ngữ JavaScript linh hoạt hơn nhiều so với ngôn ngữ trực quan. Ví dụ: nếu bạn muốn phát triển một chính sách tập hợp, thì ngôn ngữ trực quan không thể làm được vì nó có các mô-đun hạn chế, không hỗ trợ các chính sách tập hợp tương tự, trong khi ngôn ngữ JavaScript sẽ dễ dàng giành chiến thắng.

Ngoài ra, ngôn ngữ JavaScript còn đơn giản và thanh lịch hơn ngôn ngữ trực quan, ví dụ: ngôn ngữ trực quan có 10 dòng mã, có thể được viết bằng 5 dòng JavaScript. Trong một số khía cạnh, ngôn ngữ trực quan chỉ là phiên bản văn bản của JavaScript, mã của nó thực hiện và logic gần giống như JavaScript. Nếu bạn học ngôn ngữ trực quan, việc học JavaScript sẽ rất dễ dàng.

Thông tin về ngôn ngữ JavaScript

JavaScript là một ngôn ngữ lập trình cao cấp chính thức. Nó là một ngôn ngữ giới thiệu cho việc học lập trình và cũng là một ngôn ngữ làm việc cho phát triển hàng ngày. Nó là một trong những ngôn ngữ máy tính đầy hứa hẹn nhất và có tương lai tươi sáng nhất hiện nay, với vị trí thống trị vững chắc ở phía trình duyệt. Mặc dù nó nổi tiếng với việc phát triển các trang web, nhưng nó cũng được sử dụng trong nhiều môi trường ngoài trình duyệt, ví dụ: máy chủ, PC, thiết bị di động, và tất nhiên nó cũng có thể thực hiện giao dịch định lượng!

Chiến lược hoàn chỉnh

Để giúp mọi người nhanh chóng hiểu được những kiến thức chính trong phần này, trước khi giới thiệu các nhà phát minh ngôn ngữ JavaScript định lượng nhanh chóng, hãy có một sự hiểu biết ban đầu về khái niệm danh từ trong phần này.

Mở nhiều đầu: Nếu hiện tại không có vị trí và đường trung bình 5 chu kỳ lớn hơn đường trung bình 20 chu kỳ.Mở cửa trống: Nếu không có vị trí hiện tại, và đường trung bình 5 chu kỳ nhỏ hơn đường trung bình 20 chu kỳ.Đặt nhiều đầu: Nếu hiện đang giữ nhiều đơn hàng và đường trung bình 5 chu kỳ nhỏ hơn đường trung bình 20 chu kỳ.Bàn chân trống: Nếu đang giữ đơn hàng trống và đường trung bình 5 chu kỳ lớn hơn đường trung bình 20 chu kỳ.

Nếu viết bằng ngôn ngữ mã JavaScript, nó sẽ như thế này:imgHình 4-1

Mã trong hình trên là một chiến lược giao dịch định lượng hoàn chỉnh được viết bằng ngôn ngữ JavaScript. Có thể chạy trên thực tế và tự động đặt hàng. Từ góc độ mã số, ngôn ngữ này đơn giản hơn so với ngôn ngữ trực quan.

Nhãn hiệu

Tất cả mọi thứ trong JavaScript (đặc biệt là biến, tên chức năng và toán tử) đều được viết bằng chữ viết nhỏ, nghĩa là tên biến test và tên biến Test là hai biến khác nhau. Chữ ký tự đầu tiên của ký tự (đặc biệt là tên biến, chức năng, thuộc tính, tham số chức năng) phải là chữ cái, dấu gạch dưới (_), đô la ($), và ký tự sau có thể là số, như trong hình dưới:imgHình 4-2

Phản hồi

Phụ lục bao gồm chú thích đơn hàng và chú thích cấp khối./) bắt đầu với một ngôi sao và một dấu ngoặc chữ cái (((/) Kết thúc bằng hình dưới đây:imgHình 4-3

Câu nói

Mỗi câu nói đều có một dấu chấm kết thúc; mặc dù điều này không bắt buộc, chúng tôi khuyên bạn không nên bỏ qua nó bất cứ lúc nào.imgHình 4-4

Các biến

Các biến có thể lưu bất kỳ loại dữ liệu nào, sử dụng trình điều hành var khi tạo biến, sau tên biến. Bạn cũng có thể đặt giá trị của biến trong khi xác định biến. Một khi biến được tạo, bạn không cần sử dụng trình điều hành var, như hình dưới:imgHình 4-5

Dữ liệu

Có 5 kiểu dữ liệu trong JavaScript: không xác định (Undefined), đối tượng là không (Null), giá trị boolean (Boolean), số (Number), chuỗi (String), như hình dưới:imgHình 4-6

Undefined chỉ có một giá trị, đó là một con số đặc biệt undefined con số, nó đại diện cho một giá trị chưa được thiết lập. Ví dụ như chúng ta chỉ xác định một biến và không đặt giá trị cho biến này, thì giá trị của biến đó là con số undefined con số.

Null chỉ có một giá trị, đó là một hàm null đặc biệt, nó đại diện cho một giá trị được đặt thành trống. Ví dụ: nếu chúng ta tạo một biến trước và đặt giá trị của biến thành hàm null, thì giá trị trả về của biến đó là hàm null.

Boolean có hai giá trị, là con số true và con số false, con số true và con số false.

Số là một loại số, bao gồm: số tích cực, số âm, số nguyên, số phần tử, v.v. Ngoài ra, số NaN là một số đặc biệt, nó đặc biệt biểu thị các trường hợp không trả về giá trị số, ví dụ: 1 chia cho 0, trả về số NaN.

String bạn có thể hiểu là chữ, bao gồm cả tiếng Trung và tiếng Anh, có thể được xây dựng bằng ký tự đơn hoặc ký tự kép. Ví dụ: fmz hoặc phát minh viên số lượng.

Đối tượng

Đối tượng có thể được hiểu là một container lưu trữ nhiều loại dữ liệu, trong đó thuộc tính và giá trị của container tương ứng. Bạn có thể tạo container này trước bằng cách sử dụng new operator. Và bạn có thể thêm thuộc tính và phương pháp vào đối tượng sau khi tạo, như hình dưới:imgHình 4-7.

Đội số

Array cũng là một container chứa nhiều loại dữ liệu, nhưng các phần tử trong container được sắp xếp theo thứ tự từ trái sang phải, phần tử đầu tiên là 0, phần tử thứ hai là 1, và vân vân. Ngoài ra, JavaScript có thể lưu trữ bất kỳ loại dữ liệu nào, như hình dưới:imgHình 4-8.

Chức năng

Các hàm trong JavaScript không có sự khác biệt về bản chất so với các hàm trong trường trung học, bạn có thể hiểu được những gì được chuyển vào, những gì được xuất ra thông qua tính toán của các hàm, như hình dưới:imgHình 4-9

Các toán tử

JavaScript có nhiều loại toán tử, đó là toán tử toán học, toán tử so sánh, toán tử logic. Trong đó, toán tử toán học là phép toán toán học cộng trừ nhân, phép toán so sánh có thể so sánh hai giá trị nhỏ hơn hoặc nhỏ hơn, các toán tử logic chủ yếu có: logic với, logic hoặc, logic không; như hình dưới:imgHình 4-10 Điều cần lưu ý là: && là hợp lý với, đại diện cho . && là khi tất cả các điều kiện đều là true, thì điều kiện cuối cùng là true;

Ưu tiên

Nếu có một biểu thức 100* ((10-1) / ((10+5), chương trình sẽ tính trước bước nào? Toán học trung học cho chúng ta biết: Nếu là một phép tính cùng cấp độ, chúng ta thường đếm từ trái sang phải. Nếu có phép cộng và phép nhân, hãy nhân trước. Nếu có phép cộng và phép cộng và phép trừ. Nếu có dấu ngoặc thì trước dấu ngoặc.imgHình 4-11

Câu hỏi có điều kiện

Thông thường, khi viết mã, bạn luôn cần thực hiện các hành động khác nhau cho các quyết định khác nhau. Bạn có thể sử dụng các điều kiện trong mã để thực hiện nhiệm vụ này. Trong JavaScript, chúng ta có thể sử dụng các điều kiện sau: if statement - chỉ sử dụng if statement để thực hiện mã nếu điều kiện được chỉ định là true if...else statement - thực hiện mã khi điều kiện là true, thực hiện mã khác khi điều kiện là false if...else if...else statement - Sử dụng câu nói này để chọn một trong nhiều khối mã để thực hiện switch statement - sử dụng lệnh này để chọn một trong nhiều khối mã để thực hiện

if

Điều khoản chỉ được thực hiện khi các điều kiện được chỉ định là true. Hãy sử dụng chữ if viết nhỏ. Sử dụng chữ số chữ cái if viết lớn sẽ tạo ra lỗi JavaScript!imgHình 4-12#

if...else

Chạy mã khi điều kiện là true và thực hiện mã khác khi điều kiện là false, như hình dưới:imgHình 4-13

for chu kỳ

Đôi khi chúng ta cần lấy dữ liệu đường k trong vài ngày gần đây, chúng ta cần lấy từ một mảng đường k, theo vị trí của dữ liệu đường k, sau đó sử dụng vòng lặp for rất thuận tiện, như hình dưới:imgHình 4-14

while vòng lặp

Chúng ta đều biết rằng thị trường luôn thay đổi, nếu bạn muốn có được các mảng K mới nhất, bạn sẽ phải chạy cùng một mã liên tục và lặp đi lặp lại, sau đó sử dụng vòng lặp whilex, vòng lặp sẽ luôn có được các mảng K mới nhất miễn là điều kiện được chỉ định là true.imgHình 4-15

Câu break và câu continue

Chuyển vòng là có điều kiện, chỉ khi điều kiện này là true thì chuyển vòng sẽ bắt đầu lặp lại một điều gì đó, cho đến khi điều kiện này là false thì chuyển vòng sẽ kết thúc. Nhưng câu break có thể nhảy ra khỏi chuyển ngay trong quá trình thực hiện chuyển vòng; câu continue có thể ngắt một chuyển vòng và tiếp tục chuyển vòng tiếp theo; như được thể hiện dưới đây:imgHình 4-16

return câu nói

return lệnh sẽ chấm dứt thực hiện hàm và trả về giá trị của hàm. return lệnh chỉ xuất hiện trong cơ thể hàm, xuất hiện ở bất kỳ nơi nào khác trong mã sẽ gây ra lỗi ngữ pháp!imgHình 4-17

Cơ cấu chiến lược CTA

Trong công cụ định lượng của nhà phát minh, nếu viết chính sách bằng ngôn ngữ JavaScript sẽ rất thuận tiện, chính thức xây dựng một bộ khung chính sách tiêu chuẩn, như hình dưới:imgHình 4-18

Lợi ích lớn nhất của việc sử dụng framework là bạn chỉ cần viết chiến lược logic và tất cả các vấn đề khác của ngành công nghiệp được xử lý bởi framework. Vì vậy bạn có thể tập trung vào phát triển chiến lược.

Tóm lại

Sau khi học, bạn có thể lập trình các chiến lược giao dịch định lượng. Nếu cần viết các chiến lược phức tạp hơn, bạn có thể tham khảo tài liệu API ngôn ngữ JavaScript của nhà phát minh.

Phần tiếp theo

Giao dịch trong ngày cũng là một mô hình giao dịch mà không giữ hàng đêm, do đó rủi ro biến động thị trường thấp hơn và có thể điều chỉnh kịp thời khi một thị trường bất lợi xuất hiện.

Bài học sau giờ học

1, Hãy thử lấy dữ liệu K-line lịch sử bằng ngôn ngữ JavaScript trong công cụ định lượng của nhà phát minh. 2. Hãy thử viết mã chiến lược ở đầu phần này và viết chú thích.

4.2 Cách thực hiện giao dịch chiến lược bằng ngôn ngữ JavaScript

Tóm tắt

Trong bài viết trước, chúng tôi đã giải thích cho bạn những điều cần thiết để thực hiện chiến lược giao dịch từ các phần như giới thiệu ngôn ngữ JavaScript, ngữ pháp cơ bản, khuôn khổ chiến lược CTA, và các phần khác. Trong bài viết này, chúng tôi sẽ tiếp tục những gì đã nói ở trên, từ các mô-đun chiến lược phổ biến, các chỉ số kỹ thuật, từng bước giúp bạn thực hiện một chiến lược giao dịch định lượng trong ngày có thể thực hiện được.

Chiến lược giới thiệu

Bollinger Bands, còn được gọi là kênh Bollinger, BOLL. Đây là một trong những chỉ số kỹ thuật được sử dụng phổ biến nhất, được phát minh bởi John Bollinger vào những năm 1980. Theo lý thuyết, giá luôn dao động lên xuống xung quanh giá trị trong một phạm vi nhất định, và dựa trên lý thuyết này, Bollinger Bands đã đưa ra khái niệm của kênh Bollinger.

Phương pháp tính toán của nó là sử dụng các nguyên tắc thống kê, trước tiên tính toán độ chênh lệch tiêu chuẩn của giá trong một khoảng thời gian, sau đó bằng đường trung tuyến cộng/từ hai lần chênh lệch tiêu chuẩn, thu thập khoảng cách tin cậy của giá. Mô hình cơ bản của nó là một đường dây hình dải gồm ba đường ray (trung tuyến, trên đường ray và dưới đường ray); chi phí trung bình của đường ray, đường dây áp lực và đường dây hỗ trợ của đường ray trên và dưới đường ray.

Do sử dụng khái niệm sai tiêu chuẩn, chiều rộng của kênh BOLL sẽ được điều chỉnh động theo biến động giá gần đây. Sự biến động nhỏ, kênh BOLL sẽ trở nên hẹp hơn; biến động lớn, kênh BOLL sẽ trở nên rộng hơn. Khi kênh BOLL trở nên hẹp hơn, giá sẽ dần trở lại mức trung bình. Khi kênh BOLL trở nên hẹp hơn, điều đó có nghĩa là thị trường bắt đầu thay đổi, nếu giá đi lên, điều đó cho thấy sức mua tăng, nếu giá đi xuống, điều đó cho thấy sức bán tăng.

Phương pháp tính toán chỉ số dây đai đai

Trong tất cả các chỉ số kỹ thuật, phương pháp tính toán của dây chuyền Brinh là một trong những phức tạp nhất, trong đó giới thiệu khái niệm sai số chuẩn trong thống kê, liên quan đến việc tính toán đường giữa (MB), đường trên (UP) và đường dưới (DN).

Đường trung tâm= trung bình di chuyển đơn giản trong khoảng thời gian NTrên đường ray= đường trung tâm + K × N độ lệch chuẩnĐường sắt= trung tâm đường ray − K × N khoảng thời gian sai tiêu chuẩnimgHình 4-19

Logic chiến lược

Có rất nhiều cách sử dụng đường Brin, có thể được sử dụng một mình hoặc được sử dụng kết hợp với các chỉ số khác. Trong bài học này, chúng ta sẽ sử dụng một trong những cách sử dụng đơn giản nhất của đường Brin. Đó là: khi giá vượt qua đường dẫn từ dưới lên, tức là vượt qua đường áp lực phía trên, chúng ta cho rằng lực lượng đa phương đang tăng mạnh, một làn sóng tăng đã hình thành và tín hiệu mua mua mở được tạo ra;


Có liên quan

Thêm nữa

Hailhydra2Bài viết tuyệt vời!

Khả năng định lượngđánh dấu