
Chiến lược này giao dịch dựa trên màu đồng hồ nửa đêm bị trì hoãn 1 giờ, phân tích màu đồng hồ nửa đêm 0 giờ một ngày trước để đánh giá hướng giao dịch vào lúc 1 giờ ngày hôm sau. Khi đồng hồ 0 điểm là màu xanh lá cây, hãy làm nhiều và trống khi màu đỏ. Đồng thời thiết lập điểm dừng và dừng.
Lập luận cốt lõi của chiến lược này dựa trên hiệu ứng quyến rũ giữa chừng nửa đêm của thị trường, nghĩa là màu đồng hồ 0 giờ nửa đêm ngày hôm trước đại diện cho bầu không khí thị trường tổng thể trong ngày, có thể được sử dụng để xác định hướng thị trường sau khi mở cửa vào ngày hôm sau.
Cụ thể, chiến lược đầu tiên đánh giá xem đường K hiện tại là 0 điểm và nếu có, ghi lại giá đóng cửa của nó cao hơn giá mở cửa là màu xanh lá cây, nếu không thì là màu đỏ. Ở bar tiếp theo là đường K 1 điểm, thực hiện giao dịch nhị phân theo hướng tương ứng dựa trên màu sắc của đường 0 điểm ngày hôm trước và thiết lập vị trí dừng lỗ.
Bằng cách này, bạn có thể tránh những biến động mạnh mẽ vào thời điểm 0 có thể ảnh hưởng đến giá trị đầu vào.
Chiến lược tổng thể của chiến lược này rất rõ ràng và đơn giản, đánh giá hướng đi ngày hôm sau bằng màu sắc 0 điểm và thiết lập rủi ro kiểm soát dừng lỗ, là một chiến lược đường ngắn đầu tiên phù hợp với người mới bắt đầu. Nhưng cũng có một số bất ổn, cần phải liên tục tối ưu hóa và xác minh để thực sự chiến đấu.
/*backtest
start: 2023-12-28 00:00:00
end: 2024-01-04 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Midnight Candle Color Strategy with 1-Hour Delay and SL/TP", shorttitle="12AM +1H SL/TP Strat", overlay=true)
// Adjust for New York time (UTC-5 or UTC-4 for Daylight Saving Time)
// Assuming UTC-5 for now; adjust as necessary for Daylight Saving Time
nyHour(hour) => (hour - 5) % 24
// Function to check if the current bar is the 12:00 AM New York time bar
isMidnightBar() =>
nyHour(hour) == 0 and minute == 0
// Function to check if the current bar is the 1:00 AM New York time bar (1 hour after midnight)
is1AMBar() =>
nyHour(hour) == 1 and minute == 0
// Variable to store the color of the previous day's midnight candle
var color midnightCandleColorPrevDay = na
// Determine the color of the previous day's midnight candle
if isMidnightBar()
midnightCandleColorPrevDay := close[1] > open[1] ? color.green : color.red
// Strategy execution at 1:00 AM based on the color of the previous day's midnight candle
if is1AMBar()
if midnightCandleColorPrevDay == color.green
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=close + 57 * syminfo.mintick, stop=close - 200 * syminfo.mintick)
if midnightCandleColorPrevDay == color.red
strategy.entry("Short", strategy.short)
strategy.exit("Take Profit", "Short", limit=close - 50 * syminfo.mintick, stop=close + 200 * syminfo.mintick)
// Optional: Plot a marker for visualization
plotshape(series=isMidnightBar(), style=shape.triangleup, location=location.belowbar, color=color.new(midnightCandleColorPrevDay, 90), size=size.small)
plotshape(series=is1AMBar(), style=shape.triangledown, location=location.abovebar, color=color.blue, size=size.small)