Chiến lược mua dựa trên đột phá giá gần

Tác giả:ChaoZhang, Ngày: 2024-02-21 14:48:59
Tags:

img

Tổng quan

Ý tưởng cốt lõi của chiến lược này là mua khi giá đóng cửa của cổ phiếu cao hơn giá mở cửa của ngày. Khi điều kiện mua được đáp ứng, chiến lược sẽ đi dài vào thời điểm đóng cửa của ngọn nến đó ở mức giá đóng cửa. Giá dừng lỗ và giá lấy lợi nhuận sau đó sẽ được thiết lập. Khi giá đạt đến hai mức giá này, vị trí sẽ được đóng.

Nguyên tắc chiến lược

Nếu giá đóng cửa của nến hàng ngày cao hơn giá mở cửa, điều đó có nghĩa là giá cổ phiếu đã tăng trong ngày đó. Đây là tín hiệu mua. Sự đột phá của giá đóng cửa từ giá mở cửa cho thấy sức mua khá mạnh và giá cổ phiếu có khả năng tiếp tục tăng.

Do đó, tín hiệu giao dịch cho chiến lược này là: Giá đóng nến hàng ngày > Giá mở nến hàng ngày. Khi điều kiện này được đáp ứng, mua ở mức giá đóng tại thời điểm đóng nến đó và giữ hàng ngày.

Chiến lược này sử dụng hai thông số:

  1. Giá nhập cảnh: Giá mua, mặc định là 0, có nghĩa là mua ở giá đóng cửa

  2. Định số lợi nhuận: Định số lợi nhuận, công thức giá lợi nhuận là: Giá nhập * (1 + Định số lợi nhuận), giá mặc định là 0,5%, tương đương 0,5% giá nhập

Quá trình giao dịch cụ thể như sau:

  1. Chờ cho nến đóng và kiểm tra xem giá đóng > giá mở của ngày
  2. Khi điều kiện được đáp ứng, mua ở mức giá đóng cửa
  3. Sau khi mở một vị trí, thiết lập dừng lỗ và lấy lợi nhuận giá
  4. Khi giá tăng để lấy giá lợi nhuận, đóng vị trí cho lợi nhuận
  5. Khi giá giảm xuống điểm thấp nhất của ngọn nến tiếp theo, đóng vị trí để dừng lỗ
  6. Lặp lại bước 1-5 mỗi ngày

Phân tích lợi thế

Chiến lược này có những lợi thế sau:

  1. Ý tưởng đơn giản và dễ hiểu và thực hiện
  2. Nó chỉ yêu cầu giá mở và đóng của nến để đánh giá tín hiệu giao dịch, với yêu cầu dữ liệu nhỏ
  3. Rủi ro rút vốn là nhỏ, sử dụng cơ chế dừng lỗ và lấy lợi nhuận để kiểm soát lỗ

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Có thể có nhiều cơ hội mua trong ngày, nhưng chiến lược chỉ mua một lần ở gần, có thể bỏ lỡ một số cơ hội
  2. Giá có thể gọi lại sau khi đóng cửa, làm tăng xác suất kích hoạt dừng lỗ

Các rủi ro có thể được giảm bằng cách:

  1. Sau khi tín hiệu mua được kích hoạt, theo dõi giá cao nhất trong ngày và sử dụng chức năng AdjustAmount để điều chỉnh vị trí một cách năng động
  2. Đặt chậm giá dừng lỗ và lấy lợi nhuận trong một khoảng thời gian sau khi đóng để tránh kích hoạt dừng lỗ ngay lập tức

Hướng dẫn tối ưu hóa

Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:

  1. Thêm xác nhận khối lượng, ví dụ: thêm chỉ số khối lượng hoặc thị trường nóng như xác nhận cho tín hiệu mua
  2. Sử dụng stop loss động và lấy lợi nhuận sau khi mua, điều chỉnh giá stop loss và lấy lợi nhuận trong thời gian thực
  3. Đặt các tham số cụ thể cho từng cổ phiếu, sử dụng các phương pháp học máy để tự động tối ưu hóa các tham số
  4. Thêm cơ chế quản lý vị trí, điều chỉnh kích thước vị trí để tránh rủi ro rút vốn

Kết luận

Chiến lược này tạo ra tín hiệu mua dựa trên đột phá giá gần. Ý tưởng này rất đơn giản với rủi ro rút vốn nhỏ. Bằng cách thêm các chỉ số xác nhận, dừng lỗ / lấy lợi nhuận động, tối ưu hóa tham số vv, sự ổn định và lợi nhuận của chiến lược có thể được cải thiện hơn nữa. Nhìn chung, chiến lược này phù hợp với các nhà đầu tư quan tâm đến việc mở các chiến lược đột phá giá để sử dụng và tối ưu hóa, và có tính thực tế rất tốt.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy on Close Strategy", overlay=true)

// Входные параметры
var float entry_price = na
if (na(entry_price))
    entry_price := input.float(title="Entry Price", defval=0)

// Функция для расчета Take Profit
calc_take_profit(price) =>
    price * 1.005 // 0.5% от суммы сделки

// Проверяем условие для открытия позиции на покупку
buy_condition = close > open

// Переменная для отслеживания открытой позиции
var bool open_position = na

// Реализация стратегии
if (buy_condition)
    // Открываем сделку на покупку
    strategy.entry("Buy", strategy.long)
    open_position := true

// Закрываем позицию по Take Profit или при закрытии свечи
if (open_position)
    // Рассчитываем уровень Take Profit
    take_profit_level = calc_take_profit(entry_price)

    // Закрываем сделку по Take Profit
    strategy.exit("Take Profit", "Buy", limit=take_profit_level)

    // Закрываем сделку при закрытии свечи
    if (close < open)
        strategy.close("Close Candle", "Buy")


Thêm nữa