Skip to main content

Tóm tắt video: *Lập trình Flutter đa nền tảng Level 3 (03.2025) - Buổi 1

· 3 min read

🎥 Tóm tắt video: Lập trình Flutter đa nền tảng Level 3 (03.2025) - Buổi 1

📺 Xem video tại đây: Lập trình Flutter Level 3 - Buổi 1

🌐 Tổng quan

Video này tóm tắt buổi học đầu tiên của khóa học Flutter Level 3 năm 2025. Buổi học tập trung vào việc xây dựng kiến trúc cho một ứng dụng Flutter kết hợp với backend, tổng quan về các loại API (REST, GraphQL, Real-time database) và cài đặt các thư viện liên quan. Học viên được hướng dẫn các kỹ năng nâng cao cần thiết cho lập trình ứng dụng chuyên nghiệp.


🎯 Mục tiêu của buổi học

  • 🧑‍💻 Tổng quan về kiến trúc của ứng dụng Flutter kết hợp backend.
  • 🛠️ Demo cách gọi từng loại API.
  • 🧐 Phân tích sự khác biệt giữa các loại API.
  • 🏗️ Xây dựng sơ đồ kiến trúc của một ứng dụng thực tế (ví dụ: app bán hàng).
  • ✍️ Thực hành vẽ sơ đồ kiến trúc.

📚 Nội dung chính

  • 🗺️ Lộ trình khóa học: Học viên cần bám sát lộ trình học đã được xác định.
  • 🏛️ Kiến trúc ứng dụng Flutter kết hợp backend:
    • Phân tích các layer (presentation, state management, data, network).
    • Mối quan hệ với backend và cách kết nối hiệu quả.
  • 🔗 Các loại API phổ biến:
    • REST API
    • GraphQL
    • Real-time database (Firebase, WebSocket)
    • Ưu nhược điểm và ứng dụng cụ thể của từng loại.
    • Quản lý trạng tháibảo mật dữ liệu khi chọn API.
  • ⚙️ Gọi API trong Flutter:
    • Sử dụng thư viện Dio.
    • Phương thức GETPOST.
    • Xử lý dữ liệu (model, response) hiệu quả.

📝 Thực hành

  • ✏️ Vẽ sơ đồ kiến trúc ứng dụng thực tế trong 5 phút.
  • 🎯 Yêu cầu: Thực hành vẽ ứng dụng quản lý sân cầu lông.
  • 💬 Đánh giá:
    • Chia sẻ sơ đồ đã vẽ.
    • Thảo luận về ưu nhược điểm của từng lựa chọn API.

🧠 Kỹ năng quan trọng

  • 🔑 Quản lý trạng tháikỹ năng quan trọng nhất ở Level 3.
  • ⚙️ Tự động hóa (CI/CD)kỹ thuật quan trọng cần nắm vững.
  • 🌐 Sử dụng API bên thứ 3 nhưng đảm bảo bảo mật dữ liệu.

🏁 Kết luận

Buổi học đầu tiên tập trung vào thiết lập nền tảng kiến trúc và API cho các ứng dụng Flutter nâng cao. Video nhấn mạnh tầm quan trọng của việc định hình rõ ràng kiến trúc trước khi codinghiểu sâu về các loại API. 🚀

Tóm tắt Webinar 24 - AI + Giao dịch Định lượng (Phần 2)

· 4 min read

📺 Xem video tại đây: Tóm tắt Webinar 24 - AI + Giao dịch Định lượng (Phần 2)

Giới thiệu

Webinar 24 phần 2 tiếp tục chia sẻ về bí quyết kiếm lợi nhuận từ dữ liệu bằng AI và giao dịch định lượng. Buổi này tập trung vào việc nâng cao lợi nhuận bằng cách tối ưu hóa chiến lược giao dịch định lượng thông qua AI.

Tại sao kết hợp AI và run-based trading?

Nhận dạng tín hiệu giao dịch rõ ràng hơn: AI giúp nhận dạng tín hiệu giao dịch chính xác hơn so với giao dịch thủ công. Thuật toán run-based trading hỗ trợ AI đưa ra quyết định tốt hơn. Nguyên nhân cần kết hợp AI: Giao dịch thủ công dễ bị ảnh hưởng bởi cảm xúc, quy tắc không nhất quán, và không tối ưu. AI trading tự động giải quyết các vấn đề này. Ba lợi ích của AI trading: Tự động nhận diện mẫu hình giá và xu hướng. Phân tích hàng triệu dữ liệu trong vài giây, tìm tín hiệu giao dịch nhanh hơn. Loại bỏ yếu tố cảm xúc trong giao dịch. Kết hợp với run-base trading: AI cần quy tắc rõ ràng để quản lý rủi ro. Các thuật toán như SmMA Crossover giúp AI ra quyết định chính xác hơn.

Làm thế nào AI dự đoán tín hiệu giao dịch?

Dữ liệu đầu vào: Chủ yếu là các chỉ báo kỹ thuật và dữ liệu chứng khoán cơ bản (giá mở cửa, cao nhất, thấp nhất, đóng cửa, khối lượng). Mô hình học máy: X-Rebound là mô hình mạnh nhất trong phân loại xu hướng thị trường. Nó dựa trên dữ liệu lịch sử giá cổ phiếu để dự đoán tăng (layer 1) hoặc giảm (layer 0), thường là ngắn hạn. Dữ liệu càng real-time càng tốt.

Tối ưu hóa mô hình

Tối ưu hóa bằng thuật toán bayesian: AI tự động tìm bộ tham số tối ưu bằng cách thử nghiệm thông minh, giảm thời gian tính toán và nâng cao độ chính xác. Dữ liệu huấn luyện thông thường là 5 năm. Vì sao cần tự động hóa: Mô hình AI có thể chọn tham số sai, cần dựa vào hiệu suất mô hình để đánh giá. Bốn loại mô hình AI: Mô hình truyền thống (ARIMA, SARIMA, SVR), machine learning (như X-Rebound), Deep learning, và Bayesian Model (mô hình tiên tiến nhất). Sự lựa chọn mô hình phụ thuộc vào mục tiêu và dữ liệu.

Quan trọng của backtesting

Kiểm tra hiệu suất: Backtesting dùng dữ liệu lịch sử để đánh giá hiệu suất mô hình trước khi sử dụng tiền thật. Tối ưu hóa backtesting: Run-based trading và Bayesian Optimization được dùng để tối ưu mô hình. Mô phỏng giao dịch: Mô phỏng giao dịch với số dư giả định giúp hiểu rõ lợi nhuận và rủi ro.

Kết luận và gợi ý cải thiện

Kết quả ban đầu: AI trading thể hiện khả năng tốt, đặc biệt trong dự đoán xu hướng tăng. Hạn chế: Chưa thoát lệnh kịp thời, quá nhiều giao dịch trong thị trường đi ngang, dự đoán tín hiệu bán chưa tốt. Hướng phát triển : Sử dụng Deep learning (đặc biệt là LSTM), học tăng cường và kết hợp thêm dữ liệu vĩ mô, tin tức (định tính) để nâng cao độ chính xác. Phân tích biểu đồ: Webinar phân tích biểu đồ giao dịch của Apple trong các giai đoạn khác nhau, chỉ ra điểm mạnh và yếu của mô hình.

Phương pháp cải thiện mô hình

Thêm chỉ báo kỹ thuật, cân bằng lại dữ liệu, resampling để cải thiện dự đoán tín hiệu bán.

Sử dụng dữ liệu vĩ mô và tin tức, học tăng cường.

Hạn chế sử dụng mô hình quá phức tạp, tập trung tìm tham số tối ưu.

Kết hợp với kỹ thuật thoát lệnh để giảm thiểu rủi ro trong trường hợp thị trường giảm mạnh.

Tối ưu hóa run-based trading để tận dụng sức mạnh dự đoán xu hướng (tăng/giảm).

Kết luận chung

Webinar nhấn mạnh tầm quan trọng của backtesting và tối ưu hóa mô hình machine learning/AI trong giao dịch định lượng để nâng cao hiệu suất.

Online Webinar 24: AI + Giao dịch định lượng

· One min read

Online Webinar 24

📅 Lịch trình: Định kỳ 2 tuần 1 lần vào tối thứ 4

🕗 Thời gian: 20h, Thứ 4, Ngày 13/03/2025 (đổi lịch từ ngày 12/03/2025)

🎙 Chủ đề: "AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!"

🎤 Speaker:

Tiến sĩ Đặng Anh Tuấn
CEO Công ty Phát triển Công Nghệ Apollo
Giảng viên Đại học Y Dược, FPT Edu

🔗 Đăng ký ngay bằng cách quét mã QR dưới đây:

QR đăng ký

📞 Hỗ trợ: Liên hệ qua Zalo 0583587833.

So sánh Flutter và React Native: Đâu là lựa chọn tốt hơn?

· 4 min read

Flutter và React Native là hai framework phổ biến để phát triển ứng dụng di động đa nền tảng. Cả hai đều có những ưu và nhược điểm riêng. Hãy cùng so sánh chi tiết để giúp bạn đưa ra lựa chọn phù hợp cho dự án của mình.


1️⃣ Ngôn Ngữ Lập Trình

  • Flutter: Sử dụng Dart, một ngôn ngữ do Google phát triển.
  • React Native: Sử dụng JavaScript (hoặc TypeScript), phổ biến và có cộng đồng hỗ trợ rộng lớn.

📌 Kết luận: Nếu bạn đã quen với JavaScript, React Native sẽ dễ tiếp cận hơn. Nếu muốn hiệu suất cao, hãy chọn Flutter.


2️⃣ Hiệu Suất

🔹 Flutter

✅ Sử dụng Skia Engine để render UI giúp ứng dụng mượt mà.
✅ Biên dịch mã Dart trực tiếp thành mã máy (native code), tối ưu hiệu suất.

🔹 React Native

⚠️ Chạy JavaScript thông qua JavaScriptCore, không biên dịch trực tiếp thành mã máy.
⚠️ Giao tiếp với native components thông qua Bridge, có thể gây độ trễ.

📌 Kết luận: Flutter có hiệu suất tốt hơn vì không cần thông qua Bridge.


3️⃣ UI Components

🔹 Flutter

✅ Cung cấp bộ widget riêng biệt, không phụ thuộc vào native components.
✅ Giao diện đồng nhất trên iOS & Android.

🔹 React Native

⚠️ Dựa vào native components của hệ điều hành, có thể khác biệt giữa iOS và Android.
⚠️ Cần thư viện bên thứ ba để có UI đồng nhất.

📌 Kết luận: Flutter tốt hơn nếu bạn muốn giao diện giống nhau trên mọi nền tảng.


4️⃣ Hỗ Trợ Cộng Đồng và Tài Liệu

Tiêu chíFlutterReact Native
Cộng đồngĐang phát triển nhanhLớn và lâu đời
Tài liệuChi tiết, dễ hiểuĐầy đủ nhưng đôi khi khó cập nhật
Thư việnÍt hơn do mớiNhiều thư viện bên thứ ba

📌 Kết luận: React Native có lợi thế nhờ hệ sinh thái lớn hơn.


5️⃣ Thời Gian Phát Triển

  • Cả hai framework đều hỗ trợ Hot Reload, giúp lập trình nhanh hơn.
  • Flutter có bộ widget sẵn có, giúp giảm thời gian phát triển giao diện.
  • React Native có thể mất thời gian khi tích hợp native modules.

📌 Kết luận: Nếu không cần nhiều native modules, Flutter sẽ nhanh hơn.


6️⃣ Hỗ Trợ Native Code

  • Flutter sử dụng Platform Channels, nhưng hơi phức tạp.
  • React Native dễ tích hợp với native code hơn.

📌 Kết luận: React Native tốt hơn nếu dự án cần nhiều native modules.


7️⃣ Hệ Sinh Thái

Tiêu chíFlutterReact Native
Gói thư việnĐang phát triểnLớn và đa dạng
Hỗ trợ WebCó (Flutter Web)Hạn chế
Hỗ trợ DesktopKhông

📌 Kết luận: Flutter hỗ trợ đa nền tảng tốt hơn.


8️⃣ Hỗ Trợ Từ Công Ty

  • Flutter: Được Google phát triển và đầu tư mạnh.
  • React Native: Do Facebook phát triển nhưng không còn tập trung nhiều.

📌 Kết luận: Google có vẻ đầu tư dài hạn hơn vào Flutter.


🎯 Kết Luận

Tiêu chíNên chọn Flutter nếu...Nên chọn React Native nếu...
Hiệu suấtCần tốc độ cao, không delayCó thể chấp nhận hiệu suất thấp hơn
Giao diệnMuốn UI đồng nhất trên iOS & AndroidMuốn dùng native components
Thời gian devMuốn nhanh chóng với widget có sẵnĐã có sẵn nhiều thư viện React Native
Hệ sinh tháiChấp nhận hệ sinh thái nhỏ hơnMuốn dùng nhiều thư viện JS có sẵn
Tích hợp nativeKhông cần nhiều native modulesCần tích hợp native code dễ dàng hơn

📌 Tóm lại:

  • Chọn Flutter nếu bạn muốn hiệu suất cao, UI đồng nhất, hỗ trợ Web/Desktop.
  • Chọn React Native nếu bạn quen JavaScript và cần hệ sinh thái lớn hơn.

🚀 Bạn sẽ chọn framework nào? Bình luận bên dưới nhé! 👇


🔗 Tham Khảo

Một số hình ảnh buổi Khai giảng khóa học Flutter Level 3

· 2 min read

🚀 Hôm nay, Hướng Nghiệp Dữ Liệu chính thức khai giảng khóa học Flutter Level 3 với chủ đề cực kỳ hấp dẫn: Tích hợp Backend, API và AI trong lập trình Flutter. Đây là cột mốc quan trọng trong lộ trình trở thành Flutter Developer chuyên nghiệp của các bạn học viên.

Hình ảnh Khai giảng

🕢 Thời gian khai giảng: 07h30, ngày 08/03/2025
🗓️ Lịch học: Thứ 7 và Chủ nhật hàng tuần

💡 Nội dung khóa học

  • Kết nối Backend: REST API, GraphQL, WebSocket, Firebase
  • Triển khai Authentication: JWT, OAuth2
  • Lưu trữ dữ liệu với Firestore, SQLite, Hive
  • Tích hợp AI: OCR, Face Recognition, Speech to Text, Chatbot AI, Object Detection

🎯 Mục tiêu khóa học

  • Xây dựng ứng dụng Flutter kết nối Backend, API mượt mà
  • Tích hợp các tính năng AI tiên tiến vào mobile app
  • Phát triển ứng dụng real-time với Firebase Cloud Firestore & WebSocket
  • Quản lý trạng thái với Provider, Riverpod, BLoC
  • Triển khai backend với Node.js + Express
  • Đưa app lên Google Play & App Store

👩‍💻 Đối tượng học viên

  • Lập trình viên Flutter muốn nâng cao kỹ năng
  • Mobile Developer phát triển ứng dụng kết nối API & Backend
  • Backend Developer học cách tích hợp API vào Flutter
  • AI Enthusiast khám phá ứng dụng AI trên mobile app
  • Sinh viên/Freelancer xây dựng ứng dụng thực tế với API & AI

📝 Đăng ký khóa học

👉 Đăng ký tại đây http://zalo.me/0583587833

📚 Tài liệu khóa học

Hẹn gặp các bạn vào ngày khai giảng! 🚀

Webinar 23: AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!

· 4 min read

Trong kỷ nguyên số, dữ liệu không chỉ là nguồn thông tin mà còn là công cụ tạo ra lợi nhuận mạnh mẽ. Đặc biệt trong lĩnh vực giao dịch tài chính, việc ứng dụng AI và các mô hình giao dịch định lượng giúp nhà đầu tư tối ưu hoá chiến lược, giảm thiểu rủi ro và tăng khả năng sinh lời. Vậy làm sao để biến dữ liệu thành “mỏ vàng”? Hãy cùng khám phá những bí quyết quan trọng dưới đây!

1. Hiểu Rõ Giá Trị Của Dữ Liệu

Dữ liệu là nền tảng của mọi quyết định chính xác. Trong giao dịch định lượng, bạn cần thu thập và xử lý các loại dữ liệu như:

  • Dữ liệu thị trường: Giá, khối lượng, biến động...
  • Dữ liệu cơ bản: Báo cáo tài chính, chỉ số kinh tế...
  • Dữ liệu phi cấu trúc: Tin tức, mạng xã hội, xu hướng thị trường...

Việc hiểu đúng và đánh giá chính xác chất lượng dữ liệu giúp bạn xây dựng mô hình hiệu quả và đáng tin cậy.

2. Ứng Dụng AI Trong Phân Tích Dữ Liệu

AI giúp bạn xử lý khối lượng dữ liệu lớn, phát hiện xu hướng và đưa ra dự báo nhanh chóng. Một số kỹ thuật phổ biến:

  • Machine Learning: Dự đoán giá cổ phiếu, phân loại rủi ro...
  • Deep Learning: Phát hiện mô hình phức tạp, dự đoán biến động thị trường...
  • Xử lý ngôn ngữ tự nhiên (NLP): Phân tích tin tức, tâm lý thị trường...

Sử dụng AI giúp bạn không bỏ lỡ cơ hội và phản ứng kịp thời với những biến động của thị trường.

3. Xây Dựng Chiến Lược Giao Dịch Định Lượng

Chiến lược giao dịch dựa trên dữ liệu cần được kiểm thử và tối ưu liên tục. Một số chiến lược phổ biến:

  • Momentum Trading: Mua khi giá tăng và bán khi giá giảm.
  • Mean Reversion: Đặt cược vào việc giá sẽ quay lại mức trung bình.
  • Arbitrage: Tận dụng sự chênh lệch giá giữa các thị trường.

Việc sử dụng dữ liệu lịch sử và mô phỏng các kịch bản khác nhau giúp bạn kiểm thử chiến lược một cách khách quan và hiệu quả.

4. Quản Lý Rủi Ro Chặt Chẽ

Dữ liệu giúp bạn nhận diện rủi ro và xây dựng kế hoạch quản lý hợp lý. Các công cụ như Stop-loss, Take-profit, và Diversification giúp bạn bảo vệ vốn và duy trì lợi nhuận bền vững.

5. Không Ngừng Học Hỏi Và Cập Nhật Kiến Thức

Thị trường tài chính và công nghệ luôn thay đổi. Việc liên tục cập nhật xu hướng mới, nghiên cứu mô hình hiện đại và tham gia các cộng đồng chuyên môn giúp bạn cải thiện chiến lược và tăng cơ hội thành công.

Kết Luận

Việc kiếm lợi nhuận từ dữ liệu không phải là điều xa vời nếu bạn biết cách khai thác và ứng dụng chúng một cách thông minh. Bằng cách kết hợp kiến thức tài chính, công nghệ AI và các chiến lược giao dịch định lượng, bạn hoàn toàn có thể biến dữ liệu thành công cụ mạnh mẽ để tạo ra lợi nhuận bền vững.

Nếu bạn muốn đào sâu hơn về chủ đề này, đừng bỏ lỡ Webinar 23 - "AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!" với đầy đủ tài liệu:

Webinar 23: AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!

· One min read

Webinar 23 - "AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!"

  1. 🎥 𝐋𝐢𝐧𝐤 𝐯𝐢𝐝𝐞𝐨 𝐫𝐞𝐜𝐨𝐫𝐝𝐬: https://huongnghieplaptrinh.com/blogEvent/2025/03/05/webinar23#link-video-records
  2. 📑 𝐋𝐢𝐧𝐤 𝐒𝐥𝐢𝐝𝐞: https://huongnghieplaptrinh.com/blogEvent/2025/03/05/webinar23#link-slide
  3. Link Code: https://huongnghieplaptrinh.com/blogEvent/2025/03/05/webinar23#link-code

Webinar 23: AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!

· One min read

(Định kỳ 2 tuần 1 lần)

"AI + Giao dịch định lượng: Bí quyết kiếm lợi nhuận từ dữ liệu!"

🕗 Thời gian: 20h, Thứ 4
📅 Ngày: 26/02/2025 ➡️ Đổi lại ngày 05/03/2025


🎙️ Speaker:

👨‍🏫 Tiến sĩ Đặng Anh Tuấn

  • CEO Công ty Phát triển Công Nghệ Apollo
  • Kiêm giảng viên ĐH Y Dược, FPT Edu

💬 Hỗ trợ

📞 Zalo: https://zalo.me/0583587833

Đăng ký tham gia Webinar 23

Vui lòng điền vào form dưới đây để đăng ký:

https://us06web.zoom.us/j/89675430243?pwd=8pJArhfupJbP2TNp8aHWPN6peOgQb5.1

https://www.youtube.com/watch?v=rA1-xGBS5Tg

https://docs.google.com/presentation/d/1xd_XT-qEJk7fM5V3IuPK6_6_6dYWOTwC

https://drive.google.com/file/d/1xwzFGHZ82S1HnjptnxTpt124Ie6L3CaE/view?usp=sharing

Lập trình Flutter đa nền tảng Level 3 (03.2025) - Buổi 1

· 3 min read

Lập trình Flutter đa nền tảng Level 3 (03.2025) - Buổi 1

Video


Giới thiệu

Buổi học đầu tiên của khóa học Lập trình Flutter đa nền tảng Level 3 tập trung vào việc xây dựng kiến trúc ứng dụng Flutter kết hợp với backend và thực hành gọi API. Đây là bước đầu tiên để các bạn hiểu rõ hơn về cách xây dựng một ứng dụng hoàn chỉnh từ frontend đến backend.


Nội dung chính

1. Tổng quan về kiến trúc Flutter kết hợp với backend

  • Frontend (Flutter App): Giao diện người dùng (UI), quản lý trạng thái (State Management), và xử lý dữ liệu (Repository).
  • Backend: API, cơ sở dữ liệu (Database), và các dịch vụ hỗ trợ (Services).
  • Luồng dữ liệu: Cách dữ liệu được truyền từ backend lên frontend và ngược lại.

2. Các kỹ năng cần thiết để lập trình Flutter Level 3

  • Quản lý trạng thái nâng cao: Sử dụng các thư viện như Provider, Bloc, Riverpod.
  • Làm việc với API: Gọi API, xử lý dữ liệu JSON, và tích hợp với backend.
  • Xây dựng kiến trúc ứng dụng: Tạo sơ đồ kiến trúc rõ ràng để dễ dàng bảo trì và mở rộng.
  • Triển khai ứng dụng: Đóng gói và xuất bản ứng dụng lên Google Play Store và Apple App Store.

3. Thực hành gọi API

  • Demo API: Sử dụng API mẫu để hiển thị danh sách sản phẩm trên ứng dụng Flutter.
  • Các bước thực hiện:
    1. Tạo project Flutter.
    2. Thêm thư viện hỗ trợ gọi API (ví dụ: http, dio).
    3. Xây dựng model để định nghĩa dữ liệu.
    4. Gọi API và hiển thị dữ liệu lên giao diện.

Bài tập thực hành

  • Yêu cầu: Xây dựng một ứng dụng Flutter đơn giản để hiển thị danh sách sản phẩm từ API.
  • Các bước thực hiện:
    1. Vẽ sơ đồ kiến trúc ứng dụng.
    2. Tạo project Flutter và cấu hình các thư viện cần thiết.
    3. Gọi API và hiển thị dữ liệu lên giao diện.

Kết luận

Buổi học đầu tiên đã giúp các bạn nắm được tổng quan về kiến trúc ứng dụng Flutter kết hợp với backend và cách gọi API để hiển thị dữ liệu. Đây là nền tảng quan trọng để các bạn tiếp tục phát triển các kỹ năng lập trình Flutter ở mức độ nâng cao.

👉 Xem video hướng dẫn chi tiết

Lấy lịch sử giá ETH từ Binance

· 2 min read

Trong bài viết này, chúng ta sẽ sử dụng thư viện ccxt để kết nối với Binance và lấy dữ liệu lịch sử giá của cặp ETH/USDT. Sau đó, chúng ta sẽ chuyển đổi dữ liệu thành một DataFrame để dễ dàng phân tích và hiển thị.

1️⃣ Cài đặt thư viện cần thiết

Đầu tiên, cài đặt các thư viện cần thiết:

pip install ccxt pandas

2️⃣ Viết mã Python để lấy dữ liệu

import ccxt  # Thư viện để kết nối với Binance
import pandas as pd

# Khởi tạo sàn giao dịch Binance
exchange = ccxt.binance()

# Đặt cặp giao dịch (ETH/USDT) và khung thời gian (1h là mỗi giờ)
symbol = 'ETH/USDT'
timeframe = '1h'

# Lấy lịch sử giá
ohlcv = exchange.fetch_ohlcv(symbol, timeframe, limit=1000)

# Chuyển dữ liệu thành DataFrame
data = pd.DataFrame(ohlcv, columns=['Datetime', 'Open', 'High', 'Low', 'Close', 'Volume'])

# Chuyển đổi timestamp sang dạng ngày tháng
data['Datetime'] = pd.to_datetime(data['Datetime'], unit='ms')

print(data)

Kết quả sẽ là một bảng chứa thông tin về giá mở cửa, giá cao nhất, giá thấp nhất, giá đóng cửa và khối lượng giao dịch trong khoảng thời gian đã chọn.

Dưới đây là bảng dữ liệu lịch sử giá ETH/USDT với các thông tin chi tiết:

3️⃣ Vẽ biểu đồ nến

Bạn có thể sử dụng thư viện plotly để vẽ biểu đồ nến từ dữ liệu đã lấy:

import plotly.graph_objects as go

fig = go.Figure(data=[go.Candlestick(
x=data['Datetime'],
open=data['Open'],
high=data['High'],
low=data['Low'],
close=data['Close']
)])

fig.show()