Strategi Stop Loss Belakang Posisi Dual Entry Averaging

Penulis:ChaoZhang, Tanggal: 2023-12-01 13:33:48
Tag:

img

Gambaran umum

Strategi ini mengadopsi pendekatan dual entry. Setelah entri pertama, jika harga tidak mencapai level take profit pertama, maka akan masuk lagi dengan harga yang lebih tinggi untuk mencapai efek penambahan posisi. Pada saat yang sama, strategi mengadopsi metode posisi rata-rata trailing stop loss untuk memperbarui garis stop loss secara real time dan mengaturnya ke persentase tertentu di atas harga masuk rata-rata untuk mengunci keuntungan dan mengendalikan risiko.

Logika Strategi

Strategi pertama menilai apakah harga berada di bawah rata-rata bergerak sederhana 200 hari. Jika ya, kriteria masuk dipenuhi. Strategi masuk antara pukul 14:29 dan 15:00 setiap hari untuk membentuk entri pertama. Setelah itu, strategi akan memetakan garis take profit dan stop loss pertama.

Jika harga naik tetapi tidak mencapai target take profit pertama, maka akan masuk kembali 5% di atas harga masuk pertama untuk menambah posisi. Pada titik ini, strategi akan memperbarui garis stop loss menjadi 1,15 kali harga holding rata-rata saat ini. Pada saat yang sama, baris take profit kedua akan digariskan.

Strategi ini dapat mengunci keuntungan melalui dua target mengambil keuntungan dan stop loss, sementara mendapatkan lebih banyak keuntungan melalui penambahan posisi.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Mengadopsi metode tambahan dua entri dapat memperoleh pengembalian yang lebih tinggi tanpa meningkatkan risiko.

  2. Pembaruan real-time posisi stop loss line. Posisi rata-rata metode stop loss trailing dapat secara efektif mengendalikan risiko dan mengunci keuntungan.

  3. Membuka posisi dalam downtrend, ia memiliki kemampuan perdagangan countertrend tertentu.

  4. Waktu dan harga masuk yang wajar menghindari terperangkap.

  5. Pengaturan parameter yang wajar, mengambil keuntungan yang ketat dan tingkat stop loss berarti rasio risiko-manfaat yang tinggi.

Analisis Risiko

Strategi ini juga memiliki beberapa risiko:

  1. Jika kedua entri akhirnya mencapai stop loss, kerugian akan lebih besar.

  2. Jika tingkat stop loss ditetapkan dengan tidak benar, hal itu mungkin gagal untuk mengontrol risiko secara efektif dan menyebabkan kerugian yang tidak dapat diterima.

  3. Jika waktu masuk dipilih dengan buruk, hal itu dapat mengakibatkan masuk yang merugikan dan kemungkinan terperangkap yang lebih tinggi.

  4. Pengaturan parameter yang tidak masuk akal seperti mengambil keuntungan terlalu jauh atau stop loss terlalu dekat dapat mengurangi keuntungan.

Risiko-risiko ini dapat dikurangi dan dihindari melalui optimasi parameter yang wajar dan pengendalian risiko yang ketat.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Uji indikator teknis yang berbeda sebagai sinyal masuk untuk menemukan titik masuk yang lebih baik.

  2. Uji dan optimalkan tingkat keuntungan dan stop loss untuk memaksimalkan rasio risiko-manfaat.

  3. Uji metode tambahan yang berbeda untuk menentukan kelipatan tambahan yang optimal.

  4. Tambahkan aturan penilaian tren untuk menghindari entri kontra-tren.

  5. Mengoptimalkan pemilihan periode waktu masuk untuk memastikan tidak ada entri yang merugikan.

Kesimpulan

Secara keseluruhan, strategi ini sangat praktis dan memiliki signifikansi praktis yang kuat. Metode tambahan entri ganda dapat memperoleh pengembalian yang lebih tinggi sambil mengendalikan risiko. Posisi rata-rata stop loss dapat mengunci keuntungan dan mengendalikan risiko secara efektif. Dengan optimasi parameter yang wajar dan kontrol risiko yang ketat, strategi ini dapat mencapai Alpha yang stabil dan konsisten.


/*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 )



Lebih banyak