Chiến lược đảo ngược hai hướng

Tác giả:ChaoZhang, Ngày: 2023-11-02 16:47:08
Tags:

img

Tổng quan

Chiến lược đảo ngược hai chiều là một chiến lược giao dịch Bitcoin đơn giản thiết lập lệnh mua dừng lỗ dựa trên phạm vi giao dịch của ngày trước. Ý tưởng cốt lõi của chiến lược này là nếu giá mở vào ngày hiện tại cao hơn giá đóng ngày trước, đặt mua dừng lỗ gần mức cao; nếu giá mở thấp hơn giá đóng ngày trước, đặt mua dừng lỗ gần mức thấp.

Chiến lược logic

Chiến lược đầu tiên tính toán phạm vi giao dịch của ngày trước, đó là giá cao nhất trừ giá thấp nhất. Sau khi mở ngày hiện tại, nó đánh giá xem giá có cao hơn hoặc thấp hơn giá đóng ngày trước không. Nếu cao hơn, giá mua dừng lỗ được đặt vào giá mở cộng với 0,6 lần phạm vi ngày trước. Nếu thấp hơn, giá mua dừng lỗ được đặt vào giá mở cộng với 1,8 lần phạm vi ngày trước. Chiến lược sẽ mở một vị trí dài khi giá dừng lỗ được kích hoạt và đóng vị trí trước khi kết thúc ngày hiện tại.

Cụ thể, chiến lược bao gồm hai quy tắc nhập cảnh:

  1. Nếu giá mở của ngày hiện tại cao hơn giá đóng của ngày trước (longCond1 thỏa mãn), và trong cửa sổ thời gian backtest (cửa sổ() thỏa mãn), đặt mua dừng lỗ ở giá mở cộng với 0,6 lần phạm vi ngày trước (chiến lược.long1).

  2. Nếu giá mở của ngày hiện tại thấp hơn giá đóng của ngày trước (longCond2 thỏa mãn), và trong cửa sổ backtest, đặt mua dừng lỗ ở giá mở cộng với 1,8 lần phạm vi của ngày trước (chiến lược.long2).

Chiến lược sẽ mở một vị trí dài khi một trong những lỗ dừng trên được kích hoạt và đóng vị trí trước khi kết thúc ngày bằng cách sử dụng chiến lược.close_all (().

Phân tích lợi thế

Chiến lược đảo ngược hai hướng có những lợi thế sau:

  1. Khám phá các chuyển động đảo ngược mà không có thiên vị theo hướng. Chiến lược xem xét cả hướng lên và xuống, chụp các bước đột phá đảo ngược theo cả hai hướng.

  2. Rủi ro có thể kiểm soát được với stop loss.

  3. Tránh rủi ro qua đêm bằng cách đóng tất cả các vị trí hàng ngày.

  4. Tần suất giao dịch cao hơn cho giao dịch ngắn hạn.

  5. Logic đơn giản và rõ ràng, dễ hiểu và thực hiện.

Phân tích rủi ro

Tuy nhiên, cũng có một số rủi ro cần lưu ý cho chiến lược:

  1. Khoảng cách dừng lỗ không đúng có thể dẫn đến việc dừng lỗ bị đánh. Nếu dừng lỗ quá chặt, nó có thể bị dừng sớm trong điều kiện thị trường cực đoan.

  2. Tần suất giao dịch cao có thể gây ra chi phí giao dịch đáng kể. Việc mở và đóng các vị trí hàng ngày có thể tích lũy phí hoa hồng đáng kể.

  3. Có xu hướng bị dừng ở các thị trường có xu hướng biến động.

  4. Không thể đi theo xu hướng. Chiến lược thích hợp hơn cho sự đảo ngược, không thể nắm bắt lợi nhuận từ sự tiếp tục của xu hướng.

Cơ hội gia tăng

Một số cách để tăng cường chiến lược:

  1. Tối ưu hóa khoảng cách dừng lỗ. Kiểm tra các mức dừng khác nhau để tìm điểm dừng lỗ tối ưu. Ngoài ra hãy xem xét các điểm dừng năng động dựa trên biến động thị trường.

  2. Thêm bộ lọc xu hướng. Kiểm tra xu hướng khung thời gian lớn hơn trước khi vào để tránh giao dịch ngược xu hướng.

  3. Cải thiện các quy tắc nhập. Xem xét thêm các chỉ số âm lượng hoặc động lực để tăng độ chính xác nhập.

  4. Tham gia quản lý vị trí. Kiểm tra dừng lại hoặc xu hướng sau khi ra khỏi để chạy xu hướng có lợi nhuận.

  5. Kiểm tra các sản phẩm khác nhau. Chiến lược có thể hoạt động tốt hơn với các sản phẩm biến động cao hơn.

  6. Sử dụng các kỹ thuật học máy. Tối ưu hóa các tham số như dừng và nhập bằng cách sử dụng thuật toán ML.

Kết luận

Nhìn chung, chiến lược đảo ngược hai hướng là một khái niệm chiến lược ngắn hạn rất đơn giản và thực tế. Nó có thể nắm bắt hiệu quả các cơ hội đảo ngược trong cả các động thái tăng và giảm. Tuy nhiên, các rủi ro như khoảng cách dừng lỗ và các quy tắc nhập cảnh cần được tối ưu hóa để giảm rủi ro và cải thiện độ bền. Với các tinh chỉnh chính, chiến lược có thể trở thành một công cụ giao dịch ngắn hạn rất hữu ích.


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Simple strat", shorttitle="Simple Strat", overlay=true)

// X001TK R1 strategy
//
// 
// This strategy combines the special approach in previous daily range trading
//
// This strategy goes long on stop buy order which is calculated as previous day range
// multiplied by special number.
//
// This pure strategy does not have any
// stop loss or take profit money management logic.
//
// Exit rule is simple. We close the position on market close or next day open
//
// 
// 
//
// Input
length = input(10, minval=1)
stopLossPercent=input(1.1,"Stop Loss Percent")
profitPercent=input(9,"Profit Percent")


// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth   = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2029, title = "To Year", minval = 2017)
ses_cls = input(defval=true, title="End of Session Close Out?")


// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


// === STRATEGY ===
// conditions
longCond1 = close>close[1]
longCond2 = close<close[1]


strategy.entry("long1", strategy.long, when=longCond1==true and window()==true, stop=close+(high - low)*0.6)
strategy.entry("long2", strategy.long, when=longCond2==true and window()==true, stop=close+(high - low)*1.8)
strategy.close_all(when=ses_cls)

// === /STRATEGY ===

Thêm nữa