Chiến lược Trình dao động Stochastic Smoothed Exponential là một phiên bản sửa đổi của chỉ số stochastic truyền thống bằng cách thêm một tham số trọng lượng theo hàm số để điều chỉnh độ nhạy của stochastic và tạo ra tín hiệu giao dịch. Nó đi dài khi chỉ số vượt qua mức mua quá mức và đi ngắn khi chỉ số vượt qua mức bán quá mức. Chiến lược tối ưu hóa có thể trở thành một chiến lược theo xu hướng rất ổn định.
Cốt lõi của chiến lược Stochastic Exponential Smoothed nằm trong tham số trọng lượng theo cấp số.
s = 100 * (close - lowest low) / (highest high - lowest low)
Với tham số số mũ, công thức trở thành:
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
Bằng cách điều chỉnh exp, ảnh hưởng của s trên ks có thể được thay đổi.
Các tín hiệu mua được tạo ra khi ks vượt qua mức mua quá mức. Các tín hiệu bán được tạo ra khi ks vượt qua mức bán quá mức.
So với chiến lược stochastic truyền thống, chiến lược Stochastic Oscillator Exponential Smoothed có những lợi thế sau:
Chiến lược Trình dao động Stochastic Exponential Smoothed cũng có những rủi ro sau:
Chiến lược Trình dao động Stochastic Smoothed Exponential có thể được tối ưu hóa từ các khía cạnh sau:
Chiến lược Trình dao động Stochastic Smoothed Exponential tạo ra các tín hiệu giao dịch đáng tin cậy hơn bằng cách điều chỉnh độ nhạy của chỉ số stochastic. Nó có thể theo dõi hiệu quả xu hướng trung và dài hạn và cũng có thể được tối ưu hóa thành một chiến lược ngắn hạn. Với khả năng tổng hợp và tối ưu hóa tham số hơn nữa, nó có tiềm năng đạt được lợi nhuận có lợi hơn nhất quán.
/*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))