Strategi Stop Loss Dinamis Kasus


Tanggal Pembuatan: 2023-09-13 14:08:47 Akhirnya memodifikasi: 2023-09-13 14:08:47
menyalin: 0 Jumlah klik: 737
1
fokus pada
1617
Pengikut

Strategi ini didasarkan pada teori stop loss dinamis dari Mr. Case. Strategi ini mencari titik stop loss dan stop loss yang optimal untuk mencapai keseimbangan untung-rugi dengan menghitung rentang fluktuasi dinamis harga.

Prinsip-prinsip Strategi:

  1. Untuk menghitung harga, RWH dan RWL digunakan.

  2. Berdasarkan RWH dan RWL diperoleh indeks tingkat penyimpangan harga Pk。

  3. Bila PK>0, hitunglah stop loss berdasarkan deviasi. Bila PK, hitunglah stop loss.

  4. Anda dapat memilih perkalian defisiensi dari stop loss, biasanya 1-3 kali defisiensi standar.

  5. Bila harga mencapai stop loss, maka dilakukan reversal operation.

Keuntungan dari strategi ini:

  1. Stop loss yang dihitung secara dinamis dapat disesuaikan dengan pergerakan pasar.

  2. Stop loss tidak terlalu dekat atau terlalu longgar.

  3. Perhitungan matematis menghindari pengaruh emosi subjektif pada penilaian.

Bahaya dari strategi ini:

  1. Stop loss terlambat dihitung dan mungkin terlewat dari titik stop loss optimal.

  2. Perlu mengoptimalkan parameter deviasi perkalian untuk menyeimbangkan stop loss.

  3. Tidak ada batasan untuk jumlah kerugian tunggal, dan ada risiko kerugian tunggal besar.

Kesimpulannya, strategi ini dapat secara cerdas mengoptimalkan pengaturan stop loss, tetapi efeknya masih perlu diuji ulang dan tidak dapat sepenuhnya menghindari risiko subjektif SUBJECTIVE, dan investor masih perlu berhati-hati.

Kode Sumber Strategi
/*backtest
start: 2023-01-01 00:00:00
end: 2023-04-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 09/10/2019
//  The Kase Dev Stops system finds the optimal statistical balance between letting profits run, 
//  while cutting losses.  Kase DevStop seeks an ideal stop level by accounting for volatility (risk),
//  the variance in volatility (the change in volatility from bar to bar), and volatility skew 
//  (the propensity for volatility to occasionally spike incorrectly).
//
//  Kase Dev Stops are set at points at which there is an increasing probability of reversal against 
//  the trend being statistically significant based on the log normal shape of the range curve.  
//  Setting stops will help you take as much risk as necessary to stay in a good position, but not more.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Kase Dev Stops Backtest", overlay = true)
Length = input(30, minval=2, maxval = 100)
Level = input(title="Trade From Level", defval=4, options=[1, 2, 3, 4])
reverse = input(false, title="Trade reverse")
RWH = (high - low[Length]) / (atr(Length) * sqrt(Length))
RWL = (high[Length] - low) / (atr(Length) * sqrt(Length))
Pk = wma((RWH-RWL),3)
AVTR = sma(highest(high,2) - lowest(low,2), 20)
SD = stdev(highest(high,2) - lowest(low,2),20)
Val4 = iff(Pk>0, highest(high-AVTR-3*SD,20), lowest(low+AVTR+3*SD,20))
Val3 = iff(Pk>0, highest(high-AVTR-2*SD,20), lowest(low+AVTR+2*SD,20))
Val2 = iff(Pk>0, highest(high-AVTR-SD,20), lowest(low+AVTR+SD,20))
Val1 = iff(Pk>0, highest(high-AVTR,20), lowest(low+AVTR,20))
ResPrice = iff(Level == 4, Val4,
             iff(Level == 3, Val3,
               iff(Level == 2, Val2,
                 iff(Level == 1, Val1, Val4))))
pos = iff(close < ResPrice , -1, 1)
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )