Chiến lược này kích hoạt tín hiệu mua / bán bằng cách so sánh giá đóng của nến hiện tại và nến trước đó.
Cụ thể, nếu nến hiện tại đóng cửa trên mức giá cao nhất của nến trước, một tín hiệu mua được kích hoạt. Nếu nến hiện tại đóng cửa dưới mức giá thấp nhất của nến trước, một tín hiệu bán được kích hoạt.
Điều trên là logic giao dịch cơ bản của chiến lược này.
Ý tưởng chiến lược đơn giản và rõ ràng nói chung, sử dụng giá đóng nến để xác định hướng xu hướng và cũng có lệnh dừng lỗ / lấy lợi nhuận để kiểm soát rủi ro, nó có thể phục vụ như một chiến lược cơ bản cho cổ phiếu và giao dịch tiền điện tử. Nhưng với phán đoán chỉ dựa trên một khung thời gian, nó có xu hướng tạo ra tín hiệu sai dễ dàng hơn.
/*backtest start: 2023-12-08 00:00:00 end: 2024-01-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Buy/Sell on Candle Close", overlay=true) var float prevLowest = na var float prevHighest = na var float slDistance = na var float tpDistance = na // Specify the desired timeframe here (e.g., "D" for daily, "H" for hourly, etc.) timeframe = "D" // Fetching historical data for the specified timeframe pastLow = request.security(syminfo.tickerid, timeframe, low, lookahead=barmerge.lookahead_on) pastHigh = request.security(syminfo.tickerid, timeframe, high, lookahead=barmerge.lookahead_on) if bar_index > 0 prevLowest := pastLow[1] prevHighest := pastHigh[1] currentClose = close if not na(prevLowest) and not na(prevHighest) slDistance := prevHighest - prevLowest tpDistance := 3 * slDistance // Adjusted for 1:3 risk-reward ratio // Buy trigger when current close is higher than previous highest if not na(prevLowest) and not na(prevHighest) and currentClose > prevHighest strategy.entry("Buy", strategy.long) strategy.exit("Buy TP/SL", "Buy", stop=prevLowest - slDistance, limit=prevHighest + tpDistance) // Sell trigger when current close is lower than previous lowest if not na(prevLowest) and not na(prevHighest) and currentClose < prevLowest strategy.entry("Sell", strategy.short) strategy.exit("Sell TP/SL", "Sell", stop=prevHighest + slDistance, limit=prevLowest - tpDistance) plot(prevLowest, color=color.blue, title="Previous Lowest") plot(prevHighest, color=color.red, title="Previous Highest")