BìnhMyco.vn

Nguyễn Vinh Bình

  • YouTubeLivestream hàng ngày
  • ZaloHỏi đáp cổ phiếu

Simple Moving Average - SMA

  const ohlcv = await exchange.fetchOHLCV(symbol, '1m');

const period = 5; const closes = ohlcv.slice(-period).map(data => data[4]); const sma = closes.reduce((sum, close) => sum + close, 0) / period;

Dưới đây là giải thích từng phần của đoạn mã:

  1. const ohlcv = await exchange.fetchOHLCV(symbol, '1m');: Truy vấn dữ liệu lịch sử giá (Open, High, Low, Close, Volume) của một cặp giao dịch (symbol) từ sàn giao dịch (exchange) trong khoảng thời gian 1 phút ('1m'). Kết quả được lưu trong mảng ohlcv.

  2. const period = 5;: Xác định khoảng thời gian (số lượng cây nến) mà chúng ta muốn tính toán SMA cho. Trong trường hợp này, period được đặt là 5.

  3. const closes = ohlcv.slice(-period).map(data => data[4]);: Lấy ra mảng chứa giá đóng cửa của các nến trong khoảng thời gian period. Hàm slice(-period) sẽ trả về một mảng gồm period phần tử cuối cùng của ohlcv. Sau đó, hàm map được sử dụng để chuyển đổi mỗi phần tử của mảng thành giá đóng cửa của nến (index 4 của mỗi dữ liệu nến).

  4. const sma = closes.reduce((sum, close) => sum + close, 0) / period;: Tính toán giá trị SMA bằng cách sử dụng hàm reduce. Hàm này tính tổng của các giá đóng cửa của các nến trong mảng closes. Kết quả được chia cho period để tính toán giá trị trung bình động đơn giản cho khoảng thời gian đã chọn.


// Đặt khoảng thời gian
period = 5;

// Lấy giá đóng cửa của nến hiện tại
closePrice = Close;

// Tính toán SMA sử dụng hàm MA
SMA5 = MA(closePrice, period);

// Vẽ đường SMA trên biểu đồ
Plot(SMA5, "SMA5", colorBlue, styleLine);

Nhận xét

Tìm kiếm

Lượt xem