Strategi Henti Kehilangan Dinamik Kes


Tarikh penciptaan: 2023-09-13 14:08:47 Akhirnya diubah suai: 2023-09-13 14:08:47
Salin: 0 Bilangan klik: 737
1
fokus pada
1617
Pengikut

Strategi ini direka berdasarkan teori stop loss dinamik Encik Case. Strategi ini mencari titik harga stop loss dan stop loss yang optimum untuk mencapai keseimbangan keuntungan dan kerugian dengan mengira julat pergerakan harga yang dinamik.

Prinsip-prinsip strategi:

  1. Indeks Jarak Bergerak Harga RWH dan RWL

  2. Indeks kesesuaian harga Pk berdasarkan RWH dan RWL.

  3. Apabila Pk> 0, harga hentian dikira berdasarkan tahap penyimpangan. Apabila Pk< 0, harga hentian dikira.

  4. Anda boleh memilih kelipatan penyimpangan penghentian kerosakan, biasanya 1-3 kali perbezaan standard.

  5. Apabila harga menyentuh paras penangguhan kerugian, lakukan operasi terbalik.

Kelebihan strategi ini:

  1. Dinamika pengiraan titik henti rugi yang boleh disesuaikan dengan turun naik pasaran.

  2. Titik henti tidak boleh terlalu dekat atau terlalu longgar.

  3. Kaedah pengiraan matematik mengelakkan emosi subjektif mempengaruhi penghakiman.

Risiko strategi ini:

  1. Pengiraan harga stop loss terlewat dan mungkin terlepas titik stop loss terbaik.

  2. Perlu mengoptimumkan parameter penyimpangan perkalian untuk mengimbangi stop loss.

  3. Tiada had untuk kerugian tunggal, dan terdapat risiko kerugian besar.

Kesimpulannya, strategi ini dapat mengoptimumkan penyetempatan stop loss secara bijak, tetapi kesannya masih perlu disahkan dengan ujian semula dan tidak dapat sepenuhnya mengelakkan risiko subjektif SUBJECTIVE, dan pelabur masih perlu berhati-hati.

Kod 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 )