| Tự Tạo Robot Trade Coin Như Thế Nào? – Hướng Dẫn Chi Tiết Từ A Đến Z

Được viết bởi Đặng Trí Thanh vào ngày 15/11/2025 lúc 18:14 | 565 lượt xem


Hướng dẫn từng bước tự tạo robot trade coin chuyên nghiệp với Python và API Binance. Từ cơ bản đến nâng cao

Tự Tạo Robot Trade Coin Như Thế Nào?

Tạo robot trade coin là một kỹ năng quan trọng trong thời đại giao dịch tự động. Bài viết này sẽ hướng dẫn bạn cách tự tạo một robot trade coin hoàn chỉnh từ đầu, từ việc thiết kế chiến lược đến triển khai thực tế.

Robot Trade Coin Là Gì?

Robot trade coin (hay trading bot) là một chương trình tự động thực hiện các giao dịch mua/bán tiền điện tử dựa trên các quy tắc và thuật toán đã được lập trình sẵn. Robot có thể:

  • Hoạt động 24/7 không cần nghỉ
  • Loại bỏ cảm xúc trong giao dịch
  • Xử lý nhiều giao dịch cùng lúc
  • Phản ứng nhanh với biến động thị trường
  • Thực hiện chiến lược phức tạp

Các Bước Tự Tạo Robot Trade Coin

Bước 1: Xác Định Chiến Lược Giao Dịch

Trước khi bắt đầu code, bạn cần xác định chiến lược giao dịch rõ ràng:

Các chiến lược phổ biến:

  1. Moving Average Crossover
  • Mua khi đường MA ngắn hạn cắt lên MA dài hạn
  • Bán khi đường MA ngắn hạn cắt xuống MA dài hạn
  1. RSI (Relative Strength Index)
  • Mua khi RSI < 30 (oversold)
  • Bán khi RSI > 70 (overbought)
  1. MACD Strategy
  • Mua khi MACD line cắt lên signal line
  • Bán khi MACD line cắt xuống signal line
  1. Grid Trading
  • Đặt lệnh mua/bán ở nhiều mức giá khác nhau
  • Tận dụng biến động giá trong range
  1. Arbitrage
  • Tận dụng chênh lệch giá giữa các sàn
  • Mua ở sàn giá thấp, bán ở sàn giá cao

Bước 2: Chuẩn Bị Môi Trường Lập Trình

Cài đặt các công cụ cần thiết:

# Cài đặt Python 3.8+
# Tải từ python.org

# Cài đặt các thư viện Python
pip install python-binance pandas numpy requests python-dotenv

Các công cụ cần có:

  • Python 3.8 trở lên
  • IDE: VS Code, PyCharm hoặc Jupyter Notebook
  • Tài khoản Binance (hoặc sàn giao dịch khác)
  • API Key và Secret Key từ Binance

Bước 3: Tạo API Key Trên Binance

  1. Đăng nhập vào Binance
  2. Vào API ManagementCreate API
  3. Chọn quyền hạn:
  • Enable Reading (bắt buộc)
  • Enable Spot & Margin Trading (nếu muốn giao dịch)
  • Enable Withdrawals (KHÔNG nên bật để bảo mật)
  1. Lưu API KeySecret Key an toàn

Lưu ý bảo mật:

  • Không chia sẻ API keys với ai
  • Sử dụng IP whitelist nếu có thể
  • Chỉ bật quyền cần thiết

Bước 4: Thiết Lập Dự Án

Cấu trúc thư mục:

robot-trade-coin/
├── config/
│   └── .env              # Lưu API keys
├── src/
│   ├── bot.py            # File chính
│   ├── strategy.py       # Chiến lược giao dịch
│   ├── indicators.py     # Các chỉ báo kỹ thuật
│   └── utils.py          # Các hàm tiện ích
├── data/                 # Lưu dữ liệu
├── logs/                 # Lưu log
└── requirements.txt      # Dependencies

File .env (KHÔNG commit vào Git):

BINANCE_API_KEY=your_api_key_here
BINANCE_API_SECRET=your_secret_key_here

File requirements.txt:

python-binance==1.0.19
pandas==2.0.3
numpy==1.24.3
requests==2.31.0
python-dotenv==1.0.0

Bước 5: Kết Nối Với API Binance

File src/bot.py – Kết nối cơ bản:

from binance.client import Client
from dotenv import load_dotenv
import os

# Load environment variables
load_dotenv()

class TradingBot:
    def __init__(self):
        """Khởi tạo bot và kết nối với Binance"""
        api_key = os.getenv('BINANCE_API_KEY')
        api_secret = os.getenv('BINANCE_API_SECRET')

        # Testnet hoặc Mainnet
        # self.client = Client(api_key, api_secret, testnet=True)  # Testnet
        self.client = Client(api_key, api_secret)  # Mainnet

        # Test kết nối
        try:
            info = self.client.get_account()
            print("Kết nối Binance thành công!")
        except Exception as e:
            print(f"Lỗi kết nối: {e}")
            raise

    def get_price(self, symbol='BTCUSDT'):
        """Lấy giá hiện tại"""
        ticker = self.client.get_symbol_ticker(symbol=symbol)
        return float(ticker['price'])

    def get_balance(self, asset='USDT'):
        """Lấy số dư tài khoản"""
        account = self.client.get_account()
        for balance in account['balances']:
            if balance['asset'] == asset:
                return float(balance['free'])
        return 0.0

if __name__ == "__main__":
    bot = TradingBot()
    btc_price = bot.get_price('BTCUSDT')
    print(f"Giá BTC/USDT: ${btc_price:,.2f}")

Bước 6: Xây Dựng Chiến Lược Giao Dịch

File src/strategy.py – Chiến lược Moving Average:

import pandas as pd
from binance.client import Client

class MAStrategy:
    def __init__(self, client: Client, symbol='BTCUSDT'):
        self.client = client
        self.symbol = symbol
        self.short_ma = 20  # MA ngắn hạn
        self.long_ma = 50   # MA dài hạn

    def get_klines(self, interval='1h', limit=100):
        """Lấy dữ liệu giá lịch sử"""
        klines = self.client.get_klines(
            symbol=self.symbol,
            interval=interval,
            limit=limit
        )

        # Chuyển đổi sang DataFrame
        df = pd.DataFrame(klines, columns=[
            'timestamp', 'open', 'high', 'low', 'close', 'volume',
            'close_time', 'quote_volume', 'trades', 'taker_buy_base',
            'taker_buy_quote', 'ignore'
        ])

        # Chuyển đổi kiểu dữ liệu
        df['close'] = df['close'].astype(float)
        df['timestamp'] = pd.to_datetime(df['timestamp'], unit='ms')

        return df

    def calculate_ma(self, df):
        """Tính toán Moving Average"""
        df['MA_short'] = df['close'].rolling(window=self.short_ma).mean()
        df['MA_long'] = df['close'].rolling(window=self.long_ma).mean()
        return df

    def should_buy(self):
        """Kiểm tra tín hiệu mua"""
        df = self.get_klines()
        df = self.calculate_ma(df)

        # Lấy 2 giá trị cuối cùng
        ma_short_current = df['MA_short'].iloc[-1]
        ma_long_current = df['MA_long'].iloc[-1]
        ma_short_prev = df['MA_short'].iloc[-2]
        ma_long_prev = df['MA_long'].iloc[-2]

        # Tín hiệu mua: MA ngắn cắt lên MA dài (Golden Cross)
        if ma_short_prev <= ma_long_prev and ma_short_current > ma_long_current:
            return True
        return False

    def should_sell(self):
        """Kiểm tra tín hiệu bán"""
        df = self.get_klines()
        df = self.calculate_ma(df)

        # Lấy 2 giá trị cuối cùng
        ma_short_current = df['MA_short'].iloc[-1]
        ma_long_current = df['MA_long'].iloc[-1]
        ma_short_prev = df['MA_short'].iloc[-2]
        ma_long_prev = df['MA_long'].iloc[-2]

        # Tín hiệu bán: MA ngắn cắt xuống MA dài (Death Cross)
        if ma_short_prev >= ma_long_prev and ma_short_current < ma_long_current:
            return True
        return False

Bước 7: Thực Hiện Giao Dịch

Thêm các hàm giao dịch vào src/bot.py:

def place_buy_order(self, symbol='BTCUSDT', quantity=None, percentage=100):
    """Đặt lệnh mua"""
    try:
        # Tính số lượng dựa trên số dư
        if quantity is None:
            balance = self.get_balance('USDT')
            price = self.get_price(symbol)
            quantity = (balance * percentage / 100) / price

        # Làm tròn số lượng theo quy tắc của Binance
        info = self.client.get_symbol_info(symbol)
        step_size = float([f['stepSize'] for f in info['filters'] 
                          if f['filterType'] == 'LOT_SIZE'][0])
        quantity = round(quantity / step_size) * step_size

        # Đặt lệnh market buy
        order = self.client.order_market_buy(
            symbol=symbol,
            quantity=quantity
        )
        print(f"Đã mua {quantity} {symbol}")
        return order
    except Exception as e:
        print(f"Lỗi khi mua: {e}")
        return None

def place_sell_order(self, symbol='BTCUSDT', quantity=None):
    """Đặt lệnh bán"""
    try:
        # Lấy số dư coin hiện có
        base_asset = symbol.replace('USDT', '')
        if quantity is None:
            quantity = self.get_balance(base_asset)

        # Làm tròn số lượng
        info = self.client.get_symbol_info(symbol)
        step_size = float([f['stepSize'] for f in info['filters'] 
                          if f['filterType'] == 'LOT_SIZE'][0])
        quantity = round(quantity / step_size) * step_size

        # Đặt lệnh market sell
        order = self.client.order_market_sell(
            symbol=symbol,
            quantity=quantity
        )
        print(f"Đã bán {quantity} {symbol}")
        return order
    except Exception as e:
        print(f"Lỗi khi bán: {e}")
        return None

Bước 8: Vòng Lặp Chính

Tích hợp chiến lược vào bot:

import time
from strategy import MAStrategy

def main_loop(self):
    """Vòng lặp chính của bot"""
    symbol = 'BTCUSDT'
    strategy = MAStrategy(self.client, symbol)
    position = None  # 'long', 'short', hoặc None

    print("🤖 Robot đã khởi động...")

    while True:
        try:
            # Kiểm tra tín hiệu mua
            if strategy.should_buy() and position != 'long':
                order = self.place_buy_order(symbol, percentage=50)
                if order:
                    position = 'long'
                    print(f"📈 Vào lệnh LONG tại {self.get_price(symbol)}")

            # Kiểm tra tín hiệu bán
            elif strategy.should_sell() and position == 'long':
                order = self.place_sell_order(symbol)
                if order:
                    position = None
                    print(f"📉 Thoát lệnh tại {self.get_price(symbol)}")

            # Chờ 1 phút trước khi kiểm tra lại
            time.sleep(60)

        except KeyboardInterrupt:
            print("nDừng robot...")
            break
        except Exception as e:
            print(f"Lỗi: {e}")
            time.sleep(60)

# Thêm vào class TradingBot
TradingBot.main_loop = main_loop

Bước 9: Quản Lý Rủi Ro

Thêm các tính năng quản lý rủi ro:

def calculate_position_size(self, balance, risk_percent=1, stop_loss_percent=2):
    """Tính toán kích thước vị thế dựa trên rủi ro"""
    risk_amount = balance * (risk_percent / 100)
    stop_loss_amount = balance * (stop_loss_percent / 100)

    # Số lượng coin có thể mua
    price = self.get_price()
    max_quantity = risk_amount / (price * stop_loss_percent / 100)

    return max_quantity

def set_stop_loss(self, symbol, stop_price, quantity):
    """Đặt stop loss order"""
    try:
        order = self.client.create_order(
            symbol=symbol,
            side='SELL',
            type='STOP_LOSS_LIMIT',
            quantity=quantity,
            stopPrice=stop_price,
            price=stop_price * 0.99,  # Giá limit thấp hơn stop price
            timeInForce='GTC'
        )
        print(f"Đã đặt stop loss tại {stop_price}")
        return order
    except Exception as e:
        print(f"Lỗi đặt stop loss: {e}")
        return None

def set_take_profit(self, symbol, take_profit_price, quantity):
    """Đặt take profit order"""
    try:
        order = self.client.create_order(
            symbol=symbol,
            side='SELL',
            type='TAKE_PROFIT_LIMIT',
            quantity=quantity,
            stopPrice=take_profit_price,
            price=take_profit_price,
            timeInForce='GTC'
        )
        print(f"Đã đặt take profit tại {take_profit_price}")
        return order
    except Exception as e:
        print(f"Lỗi đặt take profit: {e}")
        return None

Bước 10: Logging và Monitoring

Thêm logging để theo dõi hoạt động:

import logging
from datetime import datetime

def setup_logging(self):
    """Thiết lập logging"""
    log_dir = 'logs'
    if not os.path.exists(log_dir):
        os.makedirs(log_dir)

    log_file = f"{log_dir}/bot_{datetime.now().strftime('%Y%m%d')}.log"

    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(levelname)s - %(message)s',
        handlers=[
            logging.FileHandler(log_file),
            logging.StreamHandler()
        ]
    )

    return logging.getLogger(__name__)

# Sử dụng trong bot
self.logger = self.setup_logging()
self.logger.info("Bot đã khởi động")
self.logger.info(f"Giá BTC: ${self.get_price('BTCUSDT')}")

Bảo Mật và Best Practices

1. Bảo Mật API Keys

# Sử dụng file .env (KHÔNG commit vào Git)
# Thêm .env vào .gitignore

# .gitignore
.env
*.log
__pycache__/

2. Error Handling

def safe_execute(self, func, *args, **kwargs):
    """Thực thi hàm an toàn với error handling"""
    try:
        return func(*args, **kwargs)
    except Exception as e:
        self.logger.error(f"Lỗi: {e}")
        return None

3. Rate Limiting

import time
from functools import wraps

def rate_limit(calls_per_second=10):
    """Giới hạn số lần gọi API"""
    min_interval = 1.0 / calls_per_second
    last_called = [0.0]

    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            elapsed = time.time() - last_called[0]
            left_to_wait = min_interval - elapsed
            if left_to_wait > 0:
                time.sleep(left_to_wait)
            ret = func(*args, **kwargs)
            last_called[0] = time.time()
            return ret
        return wrapper
    return decorator

@rate_limit(calls_per_second=5)
def get_price(self, symbol):
    return self.client.get_symbol_ticker(symbol=symbol)

Backtesting Trước Khi Chạy Thật

Quan trọng: Luôn backtest chiến lược trước khi chạy với tiền thật:

def backtest_strategy(self, start_date, end_date, initial_balance=1000):
    """Backtest chiến lược với dữ liệu lịch sử"""
    # Lấy dữ liệu lịch sử
    klines = self.client.get_historical_klines(
        'BTCUSDT',
        Client.KLINE_INTERVAL_1HOUR,
        start_date,
        end_date
    )

    # Mô phỏng giao dịch
    balance = initial_balance
    position = None
    entry_price = 0

    for kline in klines:
        # Tính toán tín hiệu
        # ... logic backtest ...

        # Cập nhật balance
        # ...

    # Tính toán kết quả
    final_balance = balance
    profit = final_balance - initial_balance
    roi = (profit / initial_balance) * 100

    print(f"Kết quả backtest:")
    print(f"  Số dư ban đầu: ${initial_balance}")
    print(f"  Số dư cuối: ${final_balance}")
    print(f"  Lợi nhuận: ${profit:.2f}")
    print(f"  ROI: {roi:.2f}%")

    return {
        'initial_balance': initial_balance,
        'final_balance': final_balance,
        'profit': profit,
        'roi': roi
    }

Chạy Bot

File run.py:

from src.bot import TradingBot

if __name__ == "__main__":
    # Khởi tạo bot
    bot = TradingBot()

    # Chạy bot
    bot.main_loop()

Chạy bot:

python run.py

Kết Luận

Tự tạo robot trade coin là một quá trình học hỏi liên tục. Bắt đầu với các chiến lược đơn giản, backtest kỹ lưỡng, và luôn quản lý rủi ro cẩn thận.

Lưu ý quan trọng:

  • Giao dịch crypto có rủi ro cao
  • Luôn test trên testnet trước
  • Chỉ đầu tư số tiền bạn có thể chấp nhận mất
  • Học hỏi và cải thiện liên tục
  • Monitor bot thường xuyên

Tài Liệu Tham Khảo


Bài viết được biên soạn bởi CoinGetMarket.com – Nền tảng giáo dục về crypto và trading bot.

Tổng quan về tự tạo robot trade

Tự Tạo Robot Trade là chủ đề được nhiều người quan tâm trong cộng đồng đầu tư và lập trình. Hiểu đúng bản chất giúp bạn áp dụng hiệu quả vào công việc và đầu tư.

Bài viết này tổng hợp kiến thức về tự tạo robot trade: khái niệm, các bước thực hiện, ví dụ minh họa và câu hỏi thường gặp.

Các khái niệm cần nắm

Khái niệmGiải thíchVí dụ
Khái niệm 1Nền tảng của chủ đềÁp dụng thực tế
Khái niệm 2Mở rộng kiến thứcTình huống cụ thể
Khái niệm 3Ứng dụng nâng caoKết hợp nhiều yếu tố

Các bước thực hiện chi tiết

Bắt đầu từ việc xác định mục tiêu rõ ràng, sau đó chia nhỏ công việc thành từng bước có thể kiểm tra được. Ghi chép lại quá trình để rút kinh nghiệm.

def main():
    # bước 1: xác định mục tiêu
    # bước 2: thu thập thông tin
    # bước 3: thực hiện và kiểm tra
    print('Hoàn thành')

if __name__ == '__main__':
    main()

Lưu ý và lỗi thường gặp

Lỗi phổ biến là làm tắt các bước quan trọng dẫn đến kết quả sai. Hãy kiểm tra từng giai đoạn và sẵn sàng quay lại điều chỉnh khi cần.

Câu hỏi thường gặp về tự tạo robot trade

Tôi nên bắt đầu học tự tạo robot trade từ đâu?

Hãy bắt đầu từ khái niệm cơ bản, làm theo ví dụ, rồi tự áp dụng vào một bài toán nhỏ của riêng bạn.

Cần bao lâu để thành thạo?

Tùy vào thời gian đầu tư, nhưng với thực hành đều đặn vài tuần bạn sẽ nắm được phần cốt lõi và tiếp tục phát triển.

Có tài liệu nào nên đọc không?

Ưu tiên tài liệu chính thức và các khóa học có bài tập thực hành, kết hợp với việc tự xây dựng dự án nhỏ.

Kết luận

Tự Tạo Robot Trade là hành trình cần sự kiên trì và thực hành. Hãy đặt mục tiêu nhỏ, hoàn thành từng bước và không ngừng cải thiện để đạt kết quả tốt nhất.

Những sai lầm phổ biến khi áp dụng tự tạo robot trade

Nhiều người gặp thất bại khi áp dụng tự tạo robot trade không phải vì phương pháp sai, mà vì những sai lầm trong quá trình thực hiện. Nhận diện sớm các sai lầm này giúp bạn tránh được những tổn thất không đáng có.

Sai lầmHậu quảCách khắc phục
Thiếu kế hoạch rõ ràngĐi sai hướng, lãng phí thời gianLập kế hoạch và mục tiêu cụ thể
Bỏ qua dữ liệu gốcKết luận sai lệchKiểm tra nguồn dữ liệu kỹ lưỡng
Quá phức tạp ban đầuKhó vận hành, dễ nảnBắt đầu tối giản
Không kiểm tra định kỳRủi ro âm thầm tăngĐặt lịch kiểm tra đều đặn
Kỳ vọng phi thực tếThất vọng, bỏ cuộcĐặt mục tiêu thực tế, dài hạn
Sao chép máy mócKhông phù hợp hoàn cảnhĐiều chỉnh theo bối cảnh

Cách xử lý khi gặp sai lầm

Khi phát hiện sai lầm, đừng hoảng loạn. Hãy dừng lại, xác định nguyên nhân gốc, khắc phục và rút kinh nghiệm. Ghi chép lại bài học để không lặp lại trong tương lai. Thất bại nhỏ và sớm luôn rẻ hơn thất bại lớn và muộn.

Công cụ và tài nguyên hỗ trợ tự tạo robot trade

Để áp dụng tự tạo robot trade hiệu quả, bạn cần những công cụ phù hợp. Việc lựa chọn đúng công cụ giúp bạn tiết kiệm thời gian và nâng cao chất lượng công việc.

LoạiCông cụ ví dụMục đích
Ngôn ngữ lập trìnhPython, Dart, MQL5Xây dựng giải pháp
Xử lý dữ liệupandas, numpy, ExcelLàm sạch, phân tích
Trực quan hóamatplotlib, TableauHiểu dữ liệu nhanh
Tự động hóaschedule, systemd, DockerChạy liên tục 24/7
Giao tiếpTelegram, SlackCảnh báo, cập nhật
Quản lý mã nguồnGit, GitHubLưu trữ, phối hợp

Khi mới bắt đầu, đừng ôm đồm quá nhiều công cụ. Hãy chọn một bộ tối thiểu và thành thạo chúng trước. Việc thêm công cụ mới chỉ nên diễn ra khi thực sự cần thiết để giải quyết một vấn đề cụ thể.

Cách học công cụ mới nhanh

Học bằng cách làm: chọn một bài toán nhỏ, dùng công cụ để giải quyết, và tìm hiểu tài liệu khi gặp vướng mắc. Phương pháp này giúp kiến thức được gắn với thực tế và nhớ lâu hơn nhiều so với đọc lý thuyết đơn thuần.

Checklist kiểm tra trước khi áp dụng tự tạo robot trade

Trước khi triển khai tự tạo robot trade, hãy dùng checklist dưới đây để đảm bảo bạn không bỏ sót bước quan trọng nào. Checklist giúp quy trình trở nên nhất quán và giảm thiểu sai sót.

#Hạng mụcTrạng thái
1Mục tiêu rõ ràng, đo lường được[ ]
2Dữ liệu / thông tin đầu vào đầy đủ[ ]
3Công cụ và môi trường sẵn sàng[ ]
4Quy trình từng bước được xác định[ ]
5Kế hoạch kiểm tra kết quả[ ]
6Phương án xử lý rủi ro[ ]
7Ghi chép và lưu trữ kết quả[ ]

Hãy hoàn thành từng mục trước khi chuyển sang bước thực hiện chính. Nếu bất kỳ mục nào chưa sẵn sàng, hãy dành thời gian xử lý trước thay vì lao vào làm vội. Chuẩn bị kỹ lưỡng giúp bạn tránh những sửa chữa tốn kém về sau.

Sau khi hoàn thành

Sau khi triển khai, hãy quay lại kiểm tra từng mục và ghi chú kết quả. Những ghi chú này là tài liệu tham khảo quý giá cho lần triển khai tiếp theo, giúp bạn rút ngắn thời gian và nâng cao chất lượng dần theo thời gian.

Case study điển hình về tự tạo robot trade

Để thấy rõ giá trị thực tế của tự tạo robot trade, chúng ta xem xét một case study điển hình. Một người mới bắt đầu với ít kinh nghiệm, sau khi áp dụng có hệ thống đã đạt được kết quả rõ rệt trong một khoảng thời gian nhất định.

Ban đầu, họ dành thời gian học khái niệm và xây dựng phiên bản tối giản. Thay vì tìm kiếm giải pháp hoàn hảo, họ tập trung vào việc hoàn thành từng bước nhỏ và đo lường kết quả. Cách tiếp cận này giúp họ duy trì động lực và cải thiện liên tục.

Mốc thời gianHành độngKết quả
Tháng 1Học cơ bản, chuẩn bị công cụNắm nền tảng
Tháng 2Xây dựng phiên bản đầu tiênCó sản phẩm chạy được
Tháng 3Kiểm thử và tối ưuKết quả cải thiện
Tháng 4Mở rộng và tự động hóaTiết kiệm thời gian đáng kể
Tháng 6Vận hành ổn địnhKết quả nhất quán, dài hạn

Bài học rút ra từ case study

Bài học quan trọng nhất là sự kiên trì và làm có hệ thống. Không có bước nhảy thần kỳ nào, chỉ có sự tích lũy đều đặn. Bạn cũng nên sẵn sàng điều chỉnh khi dữ liệu cho thấy cần thay đổi, thay vì cố chấp giữ nguyên kế hoạch cũ.

Đặng Trí Thanh

Đặng Trí Thanh

Giám đốc Công nghệ · DNT Digital · Giảng viên HNDL Hướng Nghiệp Dữ Liệu
1.334 Bài viết
15.4k Người theo dõi
120k+ Lượt đọc

Đặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.

Đội ngũ hỗ trợ

Đặng Trí Thanh
Đặng Trí Thanh
Giám đốc Công nghệ DNT Digital
Zalo 0934145100
Mộng Cầm
Mộng Cầm
Hỗ trợ khách hàng · Huấn luyện viên
Zalo 0927909257
Khánh Linh
Khánh Linh
Hỗ trợ khách hàng · Huấn luyện viên
Zalo 0927909582