
Ý tưởng chính của chiến lược này là vào ngày thứ Hai, sử dụng sự đảo ngược của thị trường trong ngày để theo dõi xu hướng và kiếm lợi nhuận.
Lập luận cốt lõi của chiến lược này là:
Xác định xem liệu thứ Hai có phải là ngày giao dịch hay không, và nếu có, tiếp tục thực hiện logic tiếp theo;
Xác định xem đường K trong ngày có bị đảo ngược từ dưới lên hay không, cụ thể là: giá đóng cửa đường K 1 < giá đóng cửa đường K 2 và giá đóng cửa đường K 2 < giá đóng cửa đường K 3;
Nếu sự đảo ngược trên được xác định, hãy mở thêm vị trí khi khép lại K3 để theo dõi xu hướng.
Điều kiện dừng là phá vỡ đỉnh cao trong ngày hoặc dừng lỗ.
Bị buộc phải rút ra sau 6 giờ giữ vị trí.
Toàn bộ chiến lược này sử dụng các biến động đảo ngược trong một khoảng thời gian nhất định vào thứ Hai, để thực hiện mô hình lợi nhuận mua thấp và bán cao bằng cách nhận ra hình thức K line đảo ngược. Đồng thời thiết lập các điều kiện dừng lỗ và kiểm soát rủi ro.
Những lợi thế lớn nhất của chiến lược này là:
Những sự đảo ngược trong phiên giao dịch thứ Hai tạo ra lợi nhuận;
By identifying specific candlestick patterns, it has clear entry signals
Các điều kiện dừng lỗ và lợi nhuận được thiết lập để kiểm soát rủi ro
The trend following approach maximizes profits: The trend following approach maximizes profits: The trend following approach maximizes profits: The trend following approach maximizes profits
Logic của chiến lược đơn giản, rõ ràng, dễ hiểu và thực hiện; The logic is simple and easy to understand and implement
Chiến lược này cũng có một số rủi ro:
Losses can occur if Monday reversals are not significant: Losses can occur if Monday reversals are not significant: Losses can occur if Monday reversals are not significant
Price may retrace after reversal leading to stop loss
Sự thay đổi đột ngột của thị trường có thể dẫn đến tổn thất dừng lớn
Giữ vị thế quá lâu cũng có thể gây ra tổn thất.
Các giải pháp tương ứng là: tối ưu hóa chiến lược dừng lỗ, giảm thời gian giữ vị trí một cách thích hợp, kiểm soát chặt chẽ lỗ đơn.
The solutions are: Optimizing stop loss strategy, shortening holding time, strictly controlling single loss.
Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:
Sử dụng máy học để xác định các mẫu đảo ngược chính xác hơn
Tối ưu hóa chiến lược dừng lỗ, chẳng hạn như dừng chân di chuyển, dừng lỗ theo lô; Optimizing stop loss such as trailing stop loss, partial stop loss etc.
Kết hợp nhiều yếu tố hơn để đánh giá sức mạnh của xu hướng, ví dụ như thay đổi khối lượng giao dịch
Hoạt động điều chỉnh thời gian nắm giữ
Sử dụng thuật toán để xác định các tham số hợp lý
Add position switching mechanism for two-way trading;
Những cải tiến này có thể cải thiện tỷ lệ chiến thắng và lợi nhuận của chiến lược.
These optimizations can improve the win rate and profitability of the strategy.
Nói chung, chiến lược này thực hiện một mô hình lợi nhuận theo xu hướng đơn giản bằng cách sử dụng các giai đoạn đảo chiều vào thứ Hai, thiết lập một cơ chế nhập cảnh và thoát rõ ràng. Chiến lược này có thể có hiệu quả tốt hơn so với các lệnh dừng lỗ cố định. Tất nhiên, vẫn cần tối ưu hóa hơn nữa để đối phó với sự không chắc chắn của thị trường.
In summary, this strategy utilizes the reversal during Monday trading session, with clear entry and exit mechanisms, to implement a simple trend following profitable model. Compared to fixed stop loss and take profit, this strategy can achieve better results. However, further optimizations are still needed to deal with market uncertainty. The strategy provides a reference idea and template for intraday trading.
/*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))