Ý 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.
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ố:
Giá nhập cảnh: Giá mua, mặc định là 0, có nghĩa là mua ở giá đóng cửa
Đị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:
Chiến lược này có những lợi thế sau:
Ngoài ra còn có một số rủi ro với chiến lược này:
Các rủi ro có thể được giảm bằng cách:
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
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")