Chiến lược dừng lỗ sau khi đặt vị trí nhập cảnh kép

Tác giả:ChaoZhang, Ngày: 2023-12-01 13:33:48
Tags:

img

Tổng quan

Chiến lược này áp dụng cách tiếp cận hai bước vào. Sau lần đầu tiên nhập, nếu giá không đạt đến mức lợi nhuận đầu tiên, nó sẽ nhập lại với giá cao hơn để đạt được hiệu ứng thêm các vị trí. Đồng thời, chiến lược áp dụng phương pháp dừng lỗ sau để cập nhật đường dừng lỗ trong thời gian thực và đặt nó lên một tỷ lệ phần trăm nhất định trên mức giá nhập trung bình để khóa lợi nhuận và kiểm soát rủi ro.

Chiến lược logic

Chiến lược đầu tiên đánh giá giá liệu giá có thấp hơn trung bình di chuyển đơn giản 200 ngày không. Nếu có, các tiêu chí nhập đã được đáp ứng. Chiến lược vào giữa 14:29 và 15:00 mỗi ngày để tạo thành mục nhập đầu tiên. Sau đó, chiến lược sẽ vẽ các đường lấy lợi nhuận và dừng lỗ đầu tiên.

Nếu giá tăng nhưng không đạt được mục tiêu thu lợi nhuận đầu tiên, nó sẽ nhập lại 5% trên giá đầu tiên để thêm các vị trí. Tại thời điểm này, chiến lược sẽ cập nhật đường dừng lỗ lên 1,15 lần giá trung bình hiện tại. Đồng thời, đường thu lợi nhuận thứ hai sẽ được vẽ.

Chiến lược có thể khóa lợi nhuận thông qua hai mục tiêu lợi nhuận và dừng lỗ, trong khi có được lợi nhuận nhiều hơn thông qua thêm các vị trí.

Phân tích lợi thế

Chiến lược có những lợi thế sau:

  1. Việc áp dụng phương pháp gia tăng nhập cảnh kép có thể đạt được lợi nhuận cao hơn mà không làm tăng rủi ro.

  2. Thời gian thực cập nhật vị trí đường dừng lỗ.

  3. Mở các vị trí trong xu hướng giảm, nó có một khả năng giao dịch chống xu hướng nhất định.

  4. Thời gian và mức giá hợp lý để tránh bị mắc kẹt.

  5. Cài đặt tham số hợp lý, mức lợi nhuận chặt chẽ và mức dừng lỗ có nghĩa là tỷ lệ rủi ro-lợi nhuận cao.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Phương pháp thêm vào hai mục có thể khuếch đại tổn thất. Nếu cả hai mục cuối cùng đạt đến mức dừng lỗ, lỗ sẽ lớn hơn.

  2. Nếu mức dừng lỗ được thiết lập không đúng, nó có thể không kiểm soát hiệu quả rủi ro và dẫn đến tổn thất không thể chấp nhận được.

  3. Nếu thời gian nhập cảnh được chọn sai, nó có thể dẫn đến việc nhập cảnh bất lợi và khả năng bị mắc kẹt cao hơn.

  4. Các thiết lập tham số không hợp lý như lấy lợi nhuận quá xa hoặc dừng lỗ quá gần có thể làm giảm lợi nhuận.

Những rủi ro này có thể được giảm và tránh bằng cách tối ưu hóa các tham số hợp lý và kiểm soát rủi ro nghiêm ngặt.

Hướng dẫn tối ưu hóa

Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:

  1. Kiểm tra các chỉ số kỹ thuật khác nhau như các tín hiệu nhập để tìm các điểm nhập tốt hơn.

  2. Kiểm tra và tối ưu hóa mức lợi nhuận và dừng lỗ để tối đa hóa tỷ lệ rủi ro-lợi nhuận.

  3. Kiểm tra các phương pháp bổ sung khác nhau để xác định số nhân bổ sung tối ưu.

  4. Thêm các quy tắc đánh giá xu hướng để tránh các mục chống xu hướng.

  5. Tối ưu hóa lựa chọn thời gian nhập để đảm bảo không có nhập bất lợi.

Kết luận

Nhìn chung, chiến lược này rất thực tế và có ý nghĩa thực tế mạnh mẽ. Phương pháp bổ sung nhập hai có thể đạt được lợi nhuận cao hơn trong khi kiểm soát rủi ro.


/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-28 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//              @version=4
strategy("8 Whittle Down", "8 WD", 1, initial_capital=0)


//              DUAL ENTRIES
//              ADDS ON MORE SHARES IF THE PILOT TRADE DOES NOT REACH PROFIT TARGET
//              RED     LINE        == STOP LOSS LINE
//              GREEN   LINE        == PROFIT TARGET FOR THE 1ST TRADE
//              YELLOW  LINE        == ADD ON SHARES TO THE TRADE
//              WHITE   LINE        == PROFIT TARGET FOR THE 1ST & SECOND TRADE COMBINED


StopLossPerc        = input(1.15, "Total Stop Loss", step=0.01)


T2EntTrgPerc        = input(1.05, "Enter Second trade @ what higher 5%?", step=0.01)    //  BUY STOP LIMIT ONLY WHEN ONE TRADE IS ALREADY OPEN & AIMS TO BUY DOUBLE THE OWNED SHARES AT A HIGHER ENTRY PRICE // YELLOW LINE

T1ProfTrgPerc       = input(0.95, "First Trade Profit % Target", step=0.01)
T2ProfTrgPerc       = input(0.90, "Second Trade Profit % Target", step=0.01)


RiskRange           = close*(StopLossPerc)-1
Shares              = floor(1000*1000/RiskRange) / 3                                    //  SPLITS THE RISK OVER THREE TRADES

F1                  = close < sma(security(syminfo.tickerid, "D", close[2]), 200)       //  HIGH OF OLD DATA -- SO NO REPAINTING
F2                  = strategy.opentrades == 0
buyTime             = time(timeframe.period, "1429-1500")                               //  BUY AT THE END OF THE  DAY
 
 
StopLossLine        = strategy.position_avg_price * StopLossPerc
StopLossCol         = strategy.opentrades != 0 ? #FF0000 : na
plot(StopLossLine,  "StopLossLine", StopLossCol, 2)



strategy.cancel_all()                                                                   //  CANCELS ALL ORDERS: BECAUSE THE SYSTEM WILL ADD A BUY STOP LIMIT ORDER FOR ENTRY TWO



///==============   ENTRY 1   ==============   
if  F1 and buyTime and strategy.opentrades == 0
    strategy.entry("S1", false, qty=Shares)


T1Prof              = strategy.position_avg_price * T1ProfTrgPerc
plot(T1Prof,        "1st Profit Target", strategy.opentrades == 1 ? #00FF00 : na, 2)

strategy.exit("S1 Ex", "S1", limit=T1Prof, stop=StopLossLine )


///==============   ENTRY 2   ==============   
T2EntryTrg          = strategy.position_avg_price * T2EntTrgPerc // enters on higher target than 1st entry
plot(T2EntryTrg,    "ent2EntryTrg", strategy.opentrades == 1 ? color.yellow : na, 2)
    
    
if  strategy.opentrades == 1
    strategy.order("S2", false, stop=T2EntryTrg, limit= T2EntryTrg, qty=Shares * 2)     //  BUYS MORE SHARES

T2Prof              = strategy.position_avg_price * T2ProfTrgPerc
    
T2Col               = strategy.opentrades == 2 ? color.white : na
plot(T2Prof,        "2nd Profit Target", T2Col, 2)
    
    
strategy.exit("S2 Ex", "S2", limit=T2Prof, stop=StopLossLine )



Thêm nữa