Chiến lược màu nến nửa đêm với Stop Loss và Take Profit

Tác giả:ChaoZhang, Ngày: 2024-01-05 16:37:35
Tags:

img

Tổng quan

Chiến lược này giao dịch dựa trên màu nến nửa đêm với sự chậm trễ 1 giờ, bằng cách phân tích màu nến nửa đêm 0 giờ của ngày trước để xác định hướng giao dịch lúc 1 giờ ngày hôm sau. Nó đi dài khi nến 0 giờ màu xanh lá cây và đi ngắn khi nến 0 giờ màu đỏ.

Chiến lược logic

Lý thuyết cốt lõi của chiến lược này dựa trên hiệu ứng nửa đêm trên thị trường, nơi màu của nến 0 giờ từ ngày trước đại diện cho tâm lý thị trường tổng thể và có thể được sử dụng để xác định hướng thị trường sau khi ngày tiếp theo mở cửa.

Cụ thể, chiến lược đầu tiên đánh giá liệu nến hiện tại là nến 0 giờ. Nếu có, ghi lại màu xanh lá cây nếu đóng cao hơn mở, nếu không màu đỏ. Trên thanh tiếp theo lúc 1 giờ, mua dài / ngắn theo màu nến 0 giờ từ ngày trước, với lệnh dừng lỗ và lấy lợi nhuận.

Bằng cách trì hoãn nhập 1 giờ, nó ngăn chặn giá biến động vào nửa đêm ảnh hưởng đến việc nhập thị trường.

Ưu điểm

  1. Logic đơn giản sử dụng màu nến 0 giờ để xác định hướng thị trường
  2. Sự chậm trễ 1 giờ để nhập khẩu tránh rủi ro giá giữa đêm biến động
  3. Đặt dừng lỗ và lấy lợi nhuận để hạn chế lỗ và đảm bảo lợi nhuận

Rủi ro

  1. Màu nến 0 giờ có thể không thể hiện đầy đủ xu hướng thị trường ngày hôm sau với một số sự không chắc chắn
  2. Không xem xét rủi ro biến động giá đột ngột do các sự kiện kinh tế lớn v.v.
  3. Dừng lỗ và lấy lợi nhuận cần tối ưu hóa và thử nghiệm liên tục, nếu không có nguy cơ bị bắt hoặc lợi nhuận bị hạn chế

Các lĩnh vực cải thiện

  1. Kết hợp nhiều yếu tố để đánh giá hiệu quả chỉ số của nến 0 giờ, ví dụ: khối lượng, phạm vi vv
  2. Kiểm tra sự chậm trễ nhập khác nhau như 2 giờ, 3 giờ vv
  3. Điều chỉnh năng động lệnh dừng lỗ và lấy lợi nhuận để thích nghi tốt hơn với biến động thị trường

Tóm lại

Chiến lược có logic rõ ràng và đơn giản, đánh giá hướng ngày hôm sau bằng màu nến 0 giờ và kiểm soát rủi ro bằng cách dừng lỗ / lấy lợi nhuận.


/*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)


Thêm nữa