Chiến lược này xác định xu hướng ngắn hạn dựa trên các chỉ số kỹ thuật và có vị trí ngắn khi phát hiện N thanh liên tiếp đóng cửa dưới giá mở cửa.
Chiến lược này sử dụng biến nCounter để đếm số thanh liên tiếp với giá đóng dưới giá mở. Khi giá đóng thấp hơn giá mở, nCounter tăng bằng 1. Khi giá đóng cao hơn giá mở, nCounter đặt lại mức 0. Khi nCounter đạt đến tham số đầu vào nLength, nó chỉ ra N thanh liên tiếp đóng dưới giá mở và tín hiệu C2 trở thành 1.
Khi tín hiệu, nếu không có vị trí, lệnh ngắn sẽ được gửi. Nếu đã ở vị trí ngắn, giữ vị trí. Sau khi mở vị trí, posprice ghi lại giá nhập. Lợi nhuận và dừng lỗ được thiết lập dựa trên giá nhập: nếu giá đạt đến điểm lợi nhuận (tham nhập + lấy lợi nhuận), đóng vị trí và đặt lại; nếu giá đạt đến điểm dừng lỗ (tham nhập - nhập stoploss), đóng vị trí và đặt lại.
Những lợi thế chính của chiến lược này:
Những rủi ro chính của chiến lược này:
Chiến lược có thể được cải thiện từ các khía cạnh sau:
Thêm bộ lọc xu hướng để tránh đánh giá sai các điều chỉnh ngắn hạn trong thị trường bên.
Thêm xác nhận khối lượng. khối lượng tăng lên có thể xác nhận tốt hơn sự đảo ngược xu hướng.
Tối ưu hóa lấy lợi nhuận và dừng lỗ, chẳng hạn như sử dụng dừng lỗ, tỷ lệ dừng lỗ để làm cho lối ra thông minh hơn.
Sử dụng các mô hình học máy để điều chỉnh động các thông số như nLength theo những thay đổi thị trường thời gian thực.
Chiến lược này xác định xu hướng ngắn hạn đơn giản dựa trên mối quan hệ giữa giá đóng và giá mở. Các tín hiệu giao dịch được tạo ra khi phát hiện N thanh liên tiếp đóng dưới giá mở. Chiến lược trực quan, có thể tùy chỉnh và được trang bị quản lý rủi ro hiệu quả. Tuy nhiên, có một mức độ nào đó của tín hiệu sai tồn tại.
/*backtest start: 2023-12-18 00:00:00 end: 2023-12-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/02/2020 // Evaluates for n number of consecutive lower closes. Returns a value // of 1 when the condition is true or 0 when false. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) nLength = input(4, minval=1) input_takeprofit = input(20, title="Take Profit pip", step=0.01) input_stoploss = input(10, title="Stop Loss pip", step=0.01) nCounter = 0 nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1, iff(close[1] > open[1], 0, nCounter)) C2 = iff(nCounter >= nLength, 1, 0) posprice = 0.0 pos = 0 barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) posprice := iff(C2== 1, close, nz(posprice[1], 0)) pos := iff(posprice > 0, -1, 0) if (pos == 0) strategy.close_all() if (pos == -1) strategy.entry("Short", strategy.short) posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 , nz(posprice, 0)) posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 , nz(posprice, 0)) plot(C2, title='NBD', color=color.red)