Hướng dẫn sử dụng AmiDNSE đặt lệnh phái sinh tự động

ha.anh
11 Min Read

Hiện tại nhiều nhà đầu tư tại Việt Nam vẫn đang có thói quen sử dụng Amibroker, một phần mềm hỗ trợ phân tích kỹ thuật để giao dịch chứng khoán.

Bài viết này sẽ hướng dẫn cách kết nối Amibroker với tài khoản chứng khoán tại CTCP Chứng khoán DNSE để bạn có thể giao dịch tự động dựa trên giao thức API.

Bạn có thể tìm hiểu thêm các tài liệu liên quan sau:

Nếu bạn đang cần tìm hiểu 1 phần mềm tương tự, nhưng dành cho Entrade thì có thể xem ở đây. Lưu ý là phần mềm Amiphaisinh.exe này hiện không còn được nâng cấp nữa.

Các bước cài đặt

Nếu bạn đã biết cách sử dụng bot trên Amibroker, bạn có thể tiếp tục các bước hướng dẫn bên dưới. Còn nếu bạn chưa biết gì về Amibroker, hãy chuyển xuống PHỤ LỤC cuối bài này.

Hướng dẫn kết nối Entrade X by DNSE với Amibroker

Lưu ý: AmiDNSE chỉ nhận tín hiệu từ Amibroker, AmiDNSE không giúp can thiệp vào thuật toán sinh tín hiệu.

Bước 1: Tải phần mềm AmiDNSE.exe về, giải nén vào thư mục cố định, ví dụ C:\AmiDNSE\

Bước 2: Mở chạy file AmiDNSE.exe và để ứng dụng chạy trong suốt quá trình sử dụng.

Bước 3: Hãy đăng nhập tài khoản DNSE của bạn với username (có thể là số lưu ký: 064Cxxxxx / email / số điện thoại) và mật khẩu. Chọn phương thức xác thực OTP là SmartOTP.

Bước 4: Xác thực OTP để đặt lệnh. Bạn cần mở app Entrade X by DNSE trên điện thoại, vào Menu, SmartOTP, Lấy mã cho thiết bị khác. Bạn có thể xem hướng dẫn cách cài đặt SmartOTP tại đây.

Bước 5: Màn hình Dashboard. Bạn sẽ nhìn thấy tất cả các chức năng của phần mềm AmiDNSE ở đây. Với lần đầu cài đặt hệ thống, bạn sẽ cần Lấy thông tin tiểu khoản và Chỉnh sửa Cài đặt.

Bước 6: Chỉnh sửa Cài đặt. Bạn sẽ cần điền các thông tin Cài đặt vào để Lưu lại, giúp hệ thống có thể đặt lệnh được. Bạn cần lấy AccounID chính là Mã tiểu khoản của bạn (mỗi người có 1 mã riêng), thông tin Loan Package ID là Mã gói vay phái sinh (1306).

Một phần bên dưới là Telegram Token, Telegram Chat ID, Telegram Message sẽ giúp bạn gửi thông báo tới 1 bot/group trên Telegram khi hệ thống đặt lệnh. Tính năng này cho phép bạn có thể quảng bá bot của bạn một cách dễ dàng hơn mà không cần lập trình trên Amibroker.

Với các bạn chạy phần mềm trên máy chủ online 24/7, các bạn nên đăng ký nhận Email OTP và bật chế độ tự động lấy token ít nhất mỗi 8 giờ (do token đặt lệnh chỉ có thời hạn 8 giờ).

Bạn cũng có thể bật chế độ Kiểm tra trạng thái Deal mở tự động (mặc định để 5 phút). Hệ thống sẽ kiểm tra tất cả các tiểu khoản đang có deal mở và thông báo qua Telegrams cho bạn.

Bước 7: Copy các câu lệnh vào Amibroker.

Hiện phần mềm đang hỗ trợ các câu lệnh chính, được gọi bằng cách mở trình duyệt web với đường link được cung cấp. Đây chính là đường link bạn copy vào đoạn code trên Amibroker của bạn.

Để test thử, bạn có thể ấn nút MUA / BÁN / HỦY LỆNH ở trên trang DASHBOARD để kiểm tra kết nối. Các thông tin trạng thái sẽ xuất hiện ở màn hình màu đen (nếu bạn gặp lỗi hãy chụp màn hình và gửi tới group Zalo để được hỗ trợ).

Phần mềm Amibroker hỗ trợ gọi ra bên ngoài qua hàm InternetOpenURL và InternetClose, nên bạn có thể dùng hàm đó để gọi các câu lệnh MUA/BÁN theo các điều kiện mà bạn đã thiết lập.

Ví dụ:

if (Buy==true)  {ih = InternetOpenURL( "http://127.0.0.1:5000/place_order?symbol=VN30F2311&action=NB&quantity=10&price=1111&orderType=LO" ); InternetClose(ih);}

if (Sell==true)  {ih = InternetOpenURL( "http://127.0.0.1:5000/place_order?symbol=VN30F2311&action=NS&quantity=10&price=1111&orderType=LO" ); InternetClose(ih);}

Bạn có thể tham khảo bài viết Giải thích từng dòng code của ngôn ngữ AFL trong Amibroker để hiểu rõ hơn về cách thức kết nối Amibroker và AmiDNSE.

Bước 8: Cấu hình amiDNSE đặt lệnh với nhiều tiểu khoản

Trong phiên bản nâng cấp của amiDNSE từ 1.6 trở lên, bạn đã có thể lưu cấu hình quản lý đặt lệnh cho nhiều tiểu khoản một các dễ dàng.

Để có thể quản lý nhiều tiểu khoản, bạn vui lòng đăng ký làm SACO của DNSE. Bạn có thể liên hệ admin để được hướng dẫn chi tiết.

Bạn có thể click vào nút Cài đặt nhiều tài khoản, hệ thống sẽ tự động lấy danh sách các tiểu khoản mà bạn đang quản lý.

Tại màn hình này, bạn cài đặt chế độ cho các tiểu khoản bằng cách chọn Active để cho tiểu khoản đó đặt lệnh, và lưu thông tin số hợp đồng mỗi lệnh đặt để tùy biến khối lượng khác nhau cho từng tiểu khoản.

Ví dụ tài khoản 1 có đủ tiền để giao dịch 1 hợp đồng, nhưng tài khoản 2 có tiền giao dịch được 10 hợp đồng. Lệnh đặt sẽ cùng lúc nhưng khác nhau ở số hợp đồng của mỗi tiểu khoản. Bạn ấn Save Account để lưu lại thay đổi, ấn Reset để lấy lại danh sách các tiểu khoản mới bổ sung và xóa các trạng thái đã lưu.

Với các bạn đăng ký làm SACO, sẽ có thể đặt lệnh trên nhiều tài khoản của khách hàng với tính năng này (rất hữu ích). Nếu cần hướng dẫn nhớ inbox cho mình nhé.

Để cập nhật thêm danh sách tiểu khoản mới, bạn có thể ấn nút RESET để lấy lại toàn bộ danh sách tiểu khoản đang quản lý.

Quay lại màn hình Dashboard, bạn sẽ bật nút Giao dịch Nhiều tiểu khoản lên, thì các câu lệnh của amiDNSE sẽ thêm vào 1 tham số là all_account=true. Bạn chỉ cần copy các câu lệnh này dán vào bên Amibroker là xong.

Ví dụ:

Lệnh MUA: http://127.0.0.1:5000/place_order?symbol=VN30F2311&action=NB&quantity=10&price=1111&all_account=true

Đóng tất cả deal mở: http://127.0.0.1:5000/close-deals&all_account=true

Từ phiên bản 1.72, bổ sung thêm 1 tính năng cho phép bạn có thể đặt lệnh riêng biệt cho từng tiểu khoản chỉ định.

Bạn hãy thay account_no = số tiểu khoản bạn cần đặt và loan_package= là gói cọc mà bạn được phép giao dịch. Lưu ý, phần mềm mới chỉ hỗ trợ việc đặt lệnh MUA / BÁN mà chưa hỗ trợ Hủy lệnh, Đóng deal riêng cho từng tiểu khoản. Nếu bạn muốn bổ sung tính năng này, vui lòng liên hệ tác giả để gửi yêu cầu.

Ví dụ lệnh MUA: http://127.0.0.1:5000/place_order_account?symbol=VN30F1M&action=NB&quantity=10&price=1111&orderType=LO&account_no=0001177026&loan_package=2279

PHỤ LỤC

Hướng dẫn sử dụng công thức tính toán trên Amibroker

  1. Mở Amibroker lên => chọn và mục Analysis => sau đó chọn Formular Editor / Hoặc bạn cũng có thể chọn hình cái búa

Sau khi Click vào Formula Editor thì sẽ hiện ra một màn hình như sau:

Bạn có thể tự lập trình các công thức tính toán ở đây. Hoặc tìm kiếm trên mạng một đoạn code nào đó và Paste vào bảng trên (ví dụ), sau đó bấm nút AFL để kiểm tra đoạn mã code có bị lỗi gì không. Nếu không có lỗi gì thì sau đó bấm lưu như ô khoang tròn.

Chú ý đoạn code thường phải bắt đầu bằng “SECTION BEGIN” và kết thúc bằng “SECTION END”.

Trên blog này, bạn cũng có thể tìm kiếm được 1 số đoạn code Amibroker để chạy demo.

Chúc bạn sẽ thành công trong việc thiết lập hệ thống giao dịch phái sinh tự động với amiDNSE.

Share This Article
Leave a Comment