Bài viết gần đây
-
Hướng dẫn tự code Bot Trade Coin/Forex bằng Python từ con số 0
Tháng 6 28, 2026 -
Đừng dùng chỉ báo nữa, hãy học Price Action! Đây là lý do…
Tháng 6 28, 2026
| Python Gửi Tín Hiệu Telegram Tự Động Khi Cổ Phiếu Thỏa Điều Kiện
Không ai có thể theo dõi 700+ cổ phiếu suốt ngày. Telegram bot Python giải quyết vấn đề này: tự động quét thị trường, tìm cổ phiếu thỏa điều kiện, và gửi cảnh báo thẳng vào điện thoại của bạn.
Bước 1: Tạo Telegram Bot
- Mở Telegram → tìm @BotFather
- Gõ
/newbot→ đặt tên bot - Copy Bot Token (dạng:
1234567890:ABCdef...) - Tìm @userinfobot để lấy Chat ID của bạn
Bước 2: Gửi Tin Nhắn Đơn Giản
import requests
BOT_TOKEN = "your_bot_token"
CHAT_ID = "your_chat_id"
def send_telegram(message):
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
data = {
"chat_id": CHAT_ID,
"text": message,
"parse_mode": "HTML"
}
r = requests.post(url, data=data)
return r.json()
# Test
send_telegram("🤖 Bot tín hiệu chứng khoán đã khởi động!")
Bước 3: Hàm Quét Tín Hiệu
from vnstock import stock_historical_data, listing_companies
import pandas as pd
def calc_rsi(series, period=14):
delta = series.diff()
gain = delta.clip(lower=0).rolling(period).mean()
loss = (-delta.clip(upper=0)).rolling(period).mean()
return 100 - (100 / (1 + gain/loss))
def scan_market(symbols, lookback_days=60):
signals = []
from datetime import date, timedelta
end = date.today().strftime('%Y-%m-%d')
start = (date.today() - timedelta(days=lookback_days)).strftime('%Y-%m-%d')
for sym in symbols:
try:
df = stock_historical_data(sym, start, end, "1D")
if len(df) 30 and rsi.iloc[-2] last_sma50 and
sma20.iloc[-2] last_vol_ma * 2 and last_close > last_sma20:
reasons.append(f"Volume đột biến x{last_vol/last_vol_ma:.1f}")
if reasons:
signals.append({
'symbol': sym,
'close': last_close,
'rsi': round(last_rsi, 1),
'reasons': reasons
})
except Exception:
continue
return signals
Bước 4: Gửi Cảnh Báo Qua Telegram
def format_signal_message(signals):
if not signals:
return "📊 Quét xong — không có tín hiệu hôm nay."
msg = f"🔔 TÍN HIỆU CHỨNG KHOÁN
"
msg += f"📅 {pd.Timestamp.now().strftime('%d/%m/%Y %H:%M')}
"
msg += f"────────────────────
"
for s in signals:
msg += f"
{s['symbol']} — {s['close']:,.0f} VNĐ
"
msg += f" RSI: {s['rsi']}
"
for r in s['reasons']:
msg += f" ✅ {r}
"
msg += f"
────────────────────
"
msg += "⚠️ Chỉ mang tính tham khảo, không phải khuyến nghị đầu tư."
return msg
Bước 5: Chạy Tự Động Mỗi Ngày
import schedule
import time
from vnstock import listing_companies
def daily_scan():
print(f"[{pd.Timestamp.now()}] Bắt đầu quét...")
# Lấy VN30
stocks = listing_companies()
vn30 = ['VNM', 'VIC', 'HPG', 'TCB', 'MBB', 'VCB', 'BID',
'CTG', 'ACB', 'STB', 'FPT', 'MWG', 'VRE', 'GAS',
'MSN', 'NVL', 'VHM', 'GVR', 'HDB', 'LPB']
signals = scan_market(vn30)
message = format_signal_message(signals)
result = send_telegram(message)
print(f"Gửi {'thành công' if result.get('ok') else 'lỗi'}: {len(signals)} tín hiệu")
# Chạy lúc 15:30 mỗi ngày (sau khi thị trường đóng cửa)
schedule.every().day.at("15:30").do(daily_scan)
print("Bot khởi động — chờ 15:30 mỗi ngày...")
while True:
schedule.run_pending()
time.sleep(60)
Tin Nhắn Mẫu
🔔 TÍN HIỆU CHỨNG KHOÁN
📅 27/06/2026 15:32
────────────────────
HPG — 28,500 VNĐ
RSI: 31.2
✅ RSI vượt 30 lên (31)
✅ Volume đột biến x2.3
FPT — 145,000 VNĐ
RSI: 45.6
✅ Golden Cross (SMA20 cắt SMA50)
────────────────────
⚠️ Chỉ mang tính tham khảo
Kết Luận
Bot Telegram Python này thay thế việc ngồi theo dõi màn hình suốt ngày. Chạy trên VPS $5/tháng — hoạt động 24/7 và gửi thông báo thẳng điện thoại khi thị trường xuất hiện tín hiệu.
📌 Muốn ứng dụng Python vào phân tích và giao dịch tài chính thực chiến?
Khóa Python Fintech — Phân Tích Dữ Liệu Lớn & Tự Động Hóa Giao Dịch tại Hướng Nghiệp Dữ Liệu giúp bạn thực hành với dữ liệu VnIndex, Binance API thật — không dạy lý thuyết hàn lâm.
📞 Hotline/Zalo: 0927 909 257
Weekly Digest — Nhận Bản Tin Hàng Tuần
Nhận các bài viết phân tích kỹ thuật chuyên sâu, thuật toán giao dịch tự động (Trading Bot) và các giải pháp công nghệ mới nhất từ Hướng Nghiệp Dữ Liệu.
admin
Biên tập viên, Hướng Nghiệp Dữ LiệuBiên tập viên nội dung tại Hướng Nghiệp Dữ Liệu, phụ trách tổng hợp và biên soạn các bài viết về lập trình Python, dữ liệu và công nghệ.