Strategi Osilator Stochastic Exponential Smoothed adalah versi yang diubah suai daripada penunjuk stochastic tradisional dengan menambah parameter berat eksponensial untuk menyesuaikan kepekaan stochastic dan menghasilkan isyarat perdagangan. Ia pergi lama apabila penunjuk melintasi dari tahap overbought dan pergi pendek apabila penunjuk melintasi di bawah dari tahap oversold. Strategi yang dioptimumkan boleh menjadi strategi trend yang sangat stabil.
Inti strategi Stochastic Exponential Smoothed terletak pada parameter berat eksponensial ex. Stochastic tradisional dikira sebagai:
s = 100 * (close - lowest low) / (highest high - lowest low)
Dengan parameter eksponen, formula menjadi:
exp = ex<10? (ex)/(10-ex) : 99
s = 100 * (close - lowest low) / (highest high - lowest low)
ks = s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
:-math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50
Dengan menyesuaikan exp, pengaruh s pada ks boleh diubah. meningkatkan exp menjadikan penunjuk kurang sensitif manakala mengurangkan exp menjadikannya lebih sensitif.
Isyarat beli dihasilkan apabila ks melintasi dari tahap overbought. Isyarat jual dihasilkan apabila ks melintasi di bawah dari tahap oversold.
Berbanding dengan strategi stokastik tradisional, strategi Eksponensial Smoothed Stochastic Oscillator mempunyai kelebihan berikut:
Strategi Eksponensial Smoothed Stochastic Oscillator juga mempunyai risiko berikut:
Strategi Eksponensial Smoothed Stochastic Oscillator boleh dioptimumkan dari aspek berikut:
Strategi Osilator Stochastic Exponential Smoothed menghasilkan isyarat dagangan yang lebih boleh dipercayai dengan menyesuaikan kepekaan penunjuk stochastic. Ia dapat dengan berkesan mengesan trend jangka sederhana hingga panjang dan juga boleh dioptimumkan ke dalam strategi jangka pendek. Dengan komposasi dan pengoptimuman parameter yang lebih lanjut, ia mempunyai potensi untuk mencapai pulangan yang lebih menguntungkan yang lebih konsisten.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © faytterro //@version=5 strategy("Exponential Stochastic Strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100) len=input.int(14, "length") ex=input.int(2, title="exp", minval=1, maxval=10) exp= ex<10? (ex)/(10-ex) : 99 s=100 * (close - ta.lowest(low, len)) / (ta.highest(high, len) - ta.lowest(low, len)) ks=s>50? math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 : -math.pow(math.abs(s-50),exp)/math.pow(50,exp-1)+50 plot(ks, color= color.white) bot=input.int(20) top=input.int(80) longCondition = ta.crossover(ks, bot) and bar_index>0 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = ta.crossunder(ks, top) and bar_index>0 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) // strategy.close("My Long Entry Id") alertcondition(longCondition, title = "buy") alertcondition(shortCondition, title = "sell") h1=hline(top) h2=hline(bot) h3=hline(100) h4=hline(0) fill(h1,h3, color= color.rgb(255,0,0,200-top*2)) fill(h2,h4, color= color.rgb(0,255,0,bot*2))