Với phần mềm Amibroker người dùng có thể thông báo tín hiệu phân tích kỹ thuật qua e-mail hoặc dùng các phần mềm hỗ trợ remote vào máy tính để xem online. Vì không phải lúc nào cũng có thể ngồi theo dõi trực tiếp trên máy tính được nên việc sử dụng bot của Telegram để gửi tín hiệu lọc từ Amibroker sẽ khá thuận tiện và cũng dễ dàng cấu hình.
Bước 1: đăng ký bot trên Telegram
Trước tiên bạn phải có tài khoản của Telegram (sử dụng số điện thoại để đăng ký), sau đó vào app/web đăng ký bot theo hướng dẫn trong hình minh hoạ bên dưới:
Bước 2: Tạo group chat
Bước 3: lấy group chat ID và test tin nhắn
Truy cập vào https://web.telegram.org/#/login nhấn vào Group chat vừa tạo cho bot, để ý dãy số cuối cùng của đường link khi nhấn vào group chat vừa tạo
Trước khi thực hiện trên Amibroker ta kiểm tra mọi thông số của bot đã tạo đã đúng hết hay chưa. Nhập đường dẫn như sau để nhắn thử vào group chat (mở bằng trình duyệt web bất kỳ)
https://api.telegram.org/bot###:*****/sendMessage?chat_id=-581234560&text=Hello
Lưu ý:
– bot###:***** : thêm mã API được cung cấp lúc tạo bot vào
– Group chat ID: bỏ chữ P đi và phải có dấu –
– Nội dung tin nhắn: thay thế chữ Hello
Cập nhật thêm:
– Hiện tại Telegram đã đổi sang đường dẫn có dạng https://web.telegram.org/z/#-1523416512 nên chỉ cần copy dãy số cuối cùng là được (bao gồm dấu -)
– Đối với Group hay Channel có tên riêng thì sẽ đặt chat_id=@[tên của group hay channel]
Ở đây cần phân biệt nick của bot và nick chủ của người dùng là 2 nick khác nhau. Bạn có thể thêm bạn bè, thành viên khác vào group như các group chat bình thường khác
Bước 4: Bắt tín hiệu kỹ thuật trên Amibroker và gửi tin nhắn vào group chat Telegram
Lấy ví dụ Lọc điều kiện cổ phiếu có điểm giao dịch bùng nổ trong phiên:
(tham khảo các điều kiện lọc khác: https://chibaodautu.com/mot-so-dieu-kien-loc-co-phieu-thong-dung/)
//Dieu kien loc
DiemNo =
Close>Open //Gia dong cua lon hon gia mo cua
AND
Close >= 1.02 * Ref(Close,-1) //Gia tang 2%
AND
Volume*Close >1.2*Ref(Volume*Close,-1) //Gia Tri tang 20%
;
//Thong bao qua telegram
TeleAPI_ID = ParamStr("Bot API","1883xxxxxx:AAFxxxxxxxxxxO4Rmw");
TeleCHAT_ID = ParamStr("Group chat ID","-581234560");
Date_time = now();
Message = "Ngay " + Date_time+ " : "+ Name() +" (" + WriteVal(C,format=1.2)+") - Diem No" ;
if (LastValue(DiemNo))
{
TeleLink = InternetOpenURL("https://api.telegram.org/bot"+TeleAPI_ID+"/sendMessage?chat_id="+TeleCHAT_ID+"&text="+Message );
InternetClose(TeleLink);
}
Lưu ý:
Thay 2 biến khai báo Telegram: TeleAPI_ID và TeleCHAT_ID bằng thông số bot riêng của bạn
Khi bấm chạy explore trên Amibroker ta sẽ có bảng kết quả lọc như sau:
Trên Telegram cũng sẽ nhận được thông báo:
Kết hợp với việc cài đặt bộ lọc tự động trong bài https://chibaodautu.com/loc-co-phieu-tu-dong-auto-filter/, ta sẽ có 1 hệ thống thông báo tín hiệu kỹ thuật trực tiếp từ Amibroker nhắn đến group Telegram rất hữu ích
Lưu ý: Tính năng email hay nhắn tin online đòi hỏi Amibroker phải được phân quyền kết nối Internet, do đó phiên bản crack (thường bị chặn kết nối) sẽ không sử dụng được tính năng này
dùng if (LastValue(DiemNo)) có bị lặp ko bạn , mình dùng barcount bị gửi nhiều tin nhắn liên tục ? mong hồi âm
Một biến thông thường trên AFL nó là 1 mảng. Hàm LastValue(x) lấy một giá trị cuối cùng của mảng. Mỗi lần chạy nó chỉ lấy giá trị cuối thôi nên không thể nhắn nhiều lần được. Bạn xem thử group Telegram của Chỉ Báo Đầu Tư: https://t.me/chibaodautu
Làm thế nào để bot có thể gửi 1 tin nhắn cho 1 danh sách cổ phiếu có điểm mua ạ, hay mình phải dùng bộ lọc và bấm vào từng cp để bot có thể đọc được ạ. Mong anh hồi âm
Bạn nên hiểu là Amibroker và Telegram là độc lập nhau. Việc xử lý tín hiệu và trả kết quả như thế nào là nhiệm vụ của Amibroker, sau đó gửi qua Telegram thì phải dùng các hàm API của Telegram (https://core.telegram.org/bots/api). Kêt quả bạn muốn gửi thuộc đối tượng nào? Kiểu chữ, hình ảnh, file… thì phải dùng đúng API của Telegram mới được.