| Thực Hành Buổi 5: Code Bot MA Hoàn Chỉnh Chạy Được

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 25 lượt xem

Bài thực hành buổi 5 ghép toàn bộ lý thuyết MA thành một bot hoàn chỉnh — cột mốc đầu tiên của Phần 2. Khung bot MA cơ bản while True: df = lay_du_lieu_moi(symbol, “1h”, 100) df[‘MA20’] = df[‘close’].rolling(20).mean() df[‘MA50’] = df[‘close’].rolling(50).mean() if df[‘MA20’].iloc[-1] > df[‘MA50’].iloc[-1] and df[‘MA20’].iloc[-2] <= df['MA50'].iloc[-2]: dat_lenh_mua() time.sleep(3600) Bot này còn […]

| Tối Ưu Hóa Tham Số MA: Tìm Chu Kỳ Tốt Nhất Bằng Code

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 29 lượt xem

Buổi 5 dạy cách tự động hóa việc tìm tham số MA tối ưu thay vì đoán mò chu kỳ 20/50 theo “kinh nghiệm dân gian”. Quét tham số (Grid Search) cơ bản ket_qua = [] for ma_ngan in range(5, 30, 5): for ma_dai in range(40, 100, 10): loi_nhuan = backtest_ma(ma_ngan, ma_dai) ket_qua.append((ma_ngan, ma_dai, loi_nhuan)) […]

| Chiến Lược MA Crossover: Code Tín Hiệu Mua Bán Tự Động

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 29 lượt xem

Golden Cross / Death Cross là chiến lược MA Crossover kinh điển được code chi tiết trong buổi 5. Code tín hiệu Crossover df[‘signal’] = 0 df.loc[(df[‘MA20’] > df[‘MA50’]) & (df[‘MA20’].shift(1) <= df['MA50'].shift(1)), 'signal'] = 1 df.loc[(df['MA20'] = df[‘MA50’].shift(1)), ‘signal’] = -1 Điểm quan trọng là dùng .shift(1) để so sánh trạng thái “trước” và […]

| Lý Thuyết Moving Average: Vì Sao Đây Là Chỉ Báo Nền Tảng?

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 28 lượt xem

Moving Average (MA) mở đầu Phần 2 vì đây là chỉ báo dễ hiểu nhất nhưng vẫn cực kỳ hiệu quả trong khóa Bot Auto Trading Python. Bản chất của MA df[‘MA20’] = df[‘close’].rolling(20).mean() df[‘MA50’] = df[‘close’].rolling(50).mean() MA làm trơn biến động giá ngắn hạn để lộ ra xu hướng chính — MA ngắn (20) […]

| Thực Hành Buổi 4: Vẽ Biểu Đồ Kỹ Thuật Hoàn Chỉnh Bằng Python

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 20 lượt xem

Bài thực hành tổng hợp cuối Phần 1 yêu cầu vẽ một biểu đồ kỹ thuật hoàn chỉnh — kết hợp toàn bộ kiến thức 4 buổi đầu khóa Bot Auto Trading Python. Code vẽ biểu đồ với mplfinance import mplfinance as mpf ap = [mpf.make_addplot(df[‘MA20’]), mpf.make_addplot(df[‘RSI’], panel=1)] mpf.plot(df, type=’candle’, addplot=ap, volume=True, style=’yahoo’) Biểu đồ […]

| Nhận Diện Mô Hình Nến Nhật Bằng Python

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 21 lượt xem

Mô hình nến Nhật (Doji, Hammer, Engulfing) là chủ đề thực hành thú vị của buổi 4 khi học Bot Auto Trading Python. Code nhận diện nến Doji cơ bản than_nen = abs(df[‘close’] – df[‘open’]) bien_dong = df[‘high’] – df[‘low’] df[‘la_doji’] = than_nen < (bien_dong * 0.1) Thư viện TA-Lib có sẵn hàm nhận diện […]

| Hỗ Trợ Và Kháng Cự: Code Tự Động Nhận Diện Vùng Giá

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 18 lượt xem

Nhận diện hỗ trợ/kháng cự bằng mắt là chủ quan — buổi 4 hướng dẫn cách lượng hóa bằng code để bot tự động xác định. Tìm đỉnh/đáy cục bộ bằng Python from scipy.signal import argrelextrema import numpy as np dinh = argrelextrema(df[‘high’].values, np.greater, order=5)[0] day = argrelextrema(df[‘low’].values, np.less, order=5)[0] print(f”Số đỉnh: {len(dinh)}, Số đáy: […]

| Các Chỉ Báo Kỹ Thuật MA, RSI, MACD: Code Từ Đầu Bằng Python

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 26 lượt xem

Buổi 4 khóa Bot Auto Trading Python hướng dẫn tự code 3 chỉ báo kỹ thuật kinh điển nhất từ công thức gốc. Code 3 chỉ báo cơ bản df[‘MA20’] = df[‘close’].rolling(20).mean() delta = df[‘close’].diff() gain = delta.clip(lower=0).rolling(14).mean() loss = (-delta.clip(upper=0)).rolling(14).mean() df[‘RSI’] = 100 – 100/(1 + gain/loss) df[‘MACD’] = df[‘close’].ewm(span=12).mean() – df[‘close’].ewm(span=26).mean() df[‘Signal’] = […]

| Thực Hành Buổi 3: Tạo Bot Lấy Dữ Liệu Giá Tự Động

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:29 | 29 lượt xem

Bài thực hành buổi 3 yêu cầu học viên ghép các kiến thức API vừa học thành một bot nhỏ hoạt động được — cột mốc đầu tiên thực sự “có bot”. Code bot lấy dữ liệu cơ bản import ccxt, time, csv binance = ccxt.binance() with open(“gia_btc.csv”, “a”, newline=””) as f: writer = csv.writer(f) […]

| Lấy Dữ Liệu Giá Real-time Cho Bot: Polling Vs WebSocket

Được viết bởi Đặng Trí Thanh vào ngày 27/06/2026 lúc 20:28 | 19 lượt xem

Buổi 3 phân tích 2 cách lấy dữ liệu giá real-time — quyết định ảnh hưởng trực tiếp đến độ trễ của bot Bot Auto Trading Python. Polling — đơn giản nhưng có độ trễ while True: gia = binance.fetch_ticker(“BTC/USDT”)[‘last’] time.sleep(1) WebSocket — nhanh hơn, phức tạp hơn import websocket ws = websocket.WebSocketApp(“wss://stream.binance.com:9443/ws/btcusdt@ticker”, on_message=lambda ws, […]