Thứ Hai đảo ngược xu hướng trong ngày theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-11-06 15:34:06
Tags:

img

Tổng quan

Ý tưởng chính của chiến lược này là lợi nhuận từ sự đảo ngược trong ngày thứ Hai bằng cách theo xu hướng.

Nguyên tắc

Lý luận cốt lõi là:

  1. Kiểm tra xem hôm nay là thứ hai, nếu có, tiếp tục với các bước tiếp theo;

  2. Xác định nếu có một mô hình đảo ngược xu hướng tăng - Close[1] < Close[2] và Close[2] < Close[3];

  3. Nếu mô hình đảo ngược được xác nhận, đi dài tại cửa thanh thứ 3 để theo xu hướng;

  4. Ra khỏi nếu mức cao ngày hôm nay bị vi phạm, hoặc dừng lỗ bị tấn công;

  5. Gần vị trí sau 6 giờ.

Chiến lược này tận dụng sự đảo ngược vào thứ Hai, xác định các mô hình đảo ngược để đi dài ở mức thấp tương đối cho lợi nhuận.

Ưu điểm

Những lợi thế lớn nhất là:

  1. Lợi nhuận từ việc đảo ngược ngày thứ Hai trong các giai đoạn cụ thể;

  2. Các tín hiệu nhập cảnh rõ ràng từ các mô hình nến đảo ngược;

  3. Dừng lỗ và lấy lợi nhuận để kiểm soát rủi ro;

  4. Cách tiếp cận theo xu hướng tối đa hóa lợi nhuận;

  5. Đơn giản và dễ hiểu logic;

Rủi ro

Có một số rủi ro:

  1. Lợi nhuận nếu ngày thứ Hai đảo ngược không đáng kể;

  2. Giá có thể quay trở lại sau khi nhập dẫn đến dừng lỗ;

  3. Những thay đổi đột ngột trên thị trường có thể dẫn đến mức dừng lỗ lớn;

  4. Việc giữ quá lâu cũng có thể dẫn đến tổn thất;

Các giải pháp là tối ưu hóa stop loss, rút ngắn thời gian giữ và kiểm soát kích thước lỗ đơn.

Những cải tiến

Chiến lược có thể được cải thiện bằng cách:

  1. Sử dụng máy học để xác định sự đảo ngược chính xác hơn;

  2. Tối ưu hóa các chiến lược dừng lỗ như dừng lại hoặc dừng lỗ một phần;

  3. Bao gồm nhiều yếu tố hơn để đánh giá sức mạnh xu hướng;

  4. Điều chỉnh động thời gian giữ;

  5. Sử dụng các thuật toán để tìm các thông số tối ưu;

  6. Thêm chuyển vị trí cho giao dịch hai chiều;

Những điều này có thể làm tăng tỷ lệ chiến thắng và lợi nhuận.

Kết luận

Kết luận, chiến lược này tận dụng các bước đảo ngược vào thứ Hai, với các quy tắc nhập / xuất rõ ràng, để thực hiện một chiến lược theo xu hướng đơn giản. Nó có thể đạt được kết quả tốt hơn so với dừng lỗ cố định / lấy lợi nhuận. Các tối ưu hóa hơn nữa là cần thiết để giải quyết sự không chắc chắn của thị trường. Chiến lược cung cấp một tham chiếu cho giao dịch trong ngày.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ET Forex TurnaroundMonday", overlay=true)
FirstYear = input(2018, minval=2000, maxval=2023, step=1)
FirstMonth = 1 //input(1, minval=1, maxval=12, step=1)
FirstDay = 1 //input(1, minval=1, maxval=31, step=1)

deltaDay = input(0)
StartHour = input(0)

f_barssince(_cond, _count) => _barssince=bar_index-valuewhen(_cond, bar_index, _count)

HoldTime = input(6, step=1)

MM = input(1)

startHour = input(-7, step=1)
endHour = input(34, step=1)
exitHour = input(30, step=1)


startdateCond = (year > FirstYear or (year == FirstYear and (month > FirstMonth or (month == FirstMonth and dayofmonth >= FirstDay))))

iHour = hour
if iHour > 19 
    iHour := iHour-20
else
    iHour := iHour+4    
    
    
timeCondition = true //(iHour>=startHour and iHour<=endHour and iHour<=exitHour)

since_flat_condition = strategy.position_size == 0

entryPrice=strategy.position_avg_price
EntryLongCondition = dayofweek == (dayofweek.monday+deltaDay) and close[0] < close[1] and close[1]<close[2] and startdateCond //and timeCondition and iHour > StartHour
ExitTimeCondition = false//(f_barssince(since_flat_condition, 0)>=HoldTime)
ExitLongCondition = strategy.position_size > 0  and (close[0] > high[1])// or close[0]< entryPrice-abs(close[1]-close[2])*0.2)//(ExitTimeCondition) //iHour >= exitHour or 
strategy.initial_capital =50000
// MM Block
lots = if MM < 2 
    strategy.initial_capital 
else 
    strategy.equity

lots := lots/close

entryPrice:=strategy.position_avg_price
strategy.close("ETLong",when=(ExitLongCondition==true))
strategy.entry("ETLong", strategy.long, qty=lots, comment="OpenLong",when=(EntryLongCondition==true))



Thêm nữa