
Chiến lược này dựa trên chỉ số Stochastic Index ((SMI) đã thiết kế một chiến lược giao dịch ngắn hạn, chủ yếu được sử dụng để giao dịch ngắn hạn với cổ phiếu và tiền kỹ thuật số. Chiến lược này kết hợp các tín hiệu mua bán quá mức và xác nhận đường trung bình di chuyển của chỉ số Stochastic Index, có thể nắm bắt sự hồi phục trung bình trong thị trường xu hướng và cung cấp điểm vào tốt hơn.
Chiến lược này chủ yếu sử dụng chỉ số Stochastic Index để đánh giá các khu vực quá mua quá bán trên thị trường. Công thức tính toán cho chỉ số Stochastic Index là:
SMI = (MA(Close - LL)/(HH - LL)) * 100
Trong đó, LL là giá thấp nhất trong ngày N và HH là giá cao nhất trong ngày N. Ý tưởng thiết kế của chỉ số này là thị trường đang mua quá mức khi giá đóng cửa gần giá cao nhất trong ngày N; thị trường đang bán quá mức khi giá đóng cửa gần giá thấp nhất trong ngày N.
Trong chiến lược này, tham số chỉ số SMA N lấy 5 và 3, biểu thị sử dụng chỉ số Stochastic Index ngày 5 và ngày 3. Thông thường, nếu chỉ sử dụng một tham số, sẽ dễ tạo ra tín hiệu sai, vì vậy chiến lược này sử dụng xác nhận kép SMA để lọc một số tiếng ồn.
Ngoài ra, các chiến lược được xếp chồng trên các chỉ số EMA trung bình di chuyển, các tham số được đặt để phù hợp với chỉ số SMI, để xác nhận thêm các tín hiệu của chỉ số SMI, tránh các trường hợp sai lầm.
Tránh rủi ro:
Chiến lược này nói chung là một chiến lược phù hợp cho giao dịch ngắn hạn. Nó kết hợp các chỉ số Stochastic Index với tính năng mua quá mức và bán quá mức, có thể xác định một số cơ hội giao dịch ngắn hạn. Tuy nhiên, chiến lược này dễ tạo ra tín hiệu sai trong tình huống xu hướng, vì vậy cần chú ý đặc biệt khi sử dụng, tốt nhất là kết hợp với chỉ số đánh giá xu hướng để tránh tình huống như vậy.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="SMIndex Strategy", shorttitle="SMIndex Strategy", overlay=false, pyramiding=0, initial_capital=1000, currency=currency.USD)
//
sm1 = input(5, 'sm1')
sm2 = input(3, 'sm2')
//
Lower = lowest (low, sm1)
Hight = highest (high, sm1)
Downsideup = Hight - Lower
Upsidedown = close - (Hight+Lower)/2
//
ema1 = ema(ema(Upsidedown,sm2),sm2)
ema2 = ema(ema(Downsideup,sm2),sm2)
smi = ema2 != 0 ? (ema1/(ema2/2)*100) : 0
//
obLevel1 = input(55, "Over Bought Level 1")
obLevel2 = input(35, "Over Bought Level 2")
osLevel1 = input(-55, "Over Sold Level 1")
osLevel2 = input(-35, "Over Sold Level 2")
//
// h1=plot(obLevel1, color=red, title='Sell 1s 55 do', style=dashed, linewidth=2)
// h2=plot(obLevel2, color=maroon, title='Sell 2s 35 do', style=circles, linewidth=2)
// h3=plot(osLevel1, color=red, title='Buy 1s -55 up', style=dashed, linewidth=2)
// h4=plot(osLevel2, color=maroon, title='Buy 2s -35 up', style=circles, linewidth=2)
plot(smi, color=gray, style=line, linewidth=0, transp=5)
plot(ema1, color=orange, style=line, linewidth=0, transp=5)
plot(0, color=gray, style=circles, linewidth=1, title='Base Line')
//
// fill(h1, h2, color=red, transp=55)
// fill(h3, h4, color=green, transp=55)
//Strategy Long Short Entry
longEntry = (smi) < -75 or (smi) < -65 or (smi) < -55 or (smi) < -45
shortEntry = (smi) > 75 or (smi) > 65 or (smi) > 55 or (smi) > 45
longCondition = longEntry
if(longCondition)
strategy.entry("long", strategy.long)
shortCondition = shortEntry
if(shortCondition)
strategy.entry("short", strategy.short)