Chiến lược giao dịch ngắn hạn dựa trên chỉ báo Stochastic Index


Ngày tạo: 2024-01-18 16:14:34 sửa đổi lần cuối: 2024-01-18 16:14:34
sao chép: 0 Số nhấp chuột: 632
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch ngắn hạn dựa trên chỉ báo Stochastic Index

Tổng quan

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.

Nguyên tắc chiến lược

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.

Lợi thế chiến lược

  1. Dựa trên chỉ số Stochastic Index, đánh giá các khu vực quá mua quá bán để nắm bắt các cơ hội đảo ngược
  2. Cài đặt tham số SMA kép, có thể lọc hiệu quả các tín hiệu sai
  3. Xác nhận kết hợp với chỉ số EMA để tránh sai lầm

Rủi ro chiến lược

  1. Chỉ số SMI dễ tạo ra tín hiệu sai, ngay cả khi thiết lập hai chỉ số SMA và EMA, không thể hoàn toàn tránh rủi ro
  2. Trong tình huống có xu hướng, chiến lược này có thể tạo ra quá nhiều hoạt động đảo ngược, ảnh hưởng đến thu nhập tổng thể

Tránh rủi ro:

  1. Sử dụng Stop Loss để kiểm soát tổn thất đơn lẻ
  2. Chỉ sử dụng chiến lược này trong các thị trường giao dịch bên cạnh hoặc phạm vi, tránh sử dụng trong các tình huống xu hướng

Hướng tối ưu hóa chiến lược

  1. Kiểm tra các chỉ số SMI dưới các thiết lập tham số khác nhau để tìm kiếm sự kết hợp tham số tối ưu
  2. Cố gắng kết hợp với các chỉ số khác để xác nhận, chẳng hạn như băng tần Brin, KDJ, để cải thiện độ chính xác của tín hiệu
  3. Tối ưu hóa chiến lược dừng lỗ, có thể thay đổi các thiết lập dừng lỗ theo biến động của thị trường
  4. Kết hợp các chỉ số đánh giá xu hướng để tránh sử dụng trong các tình huống xu hướng

Tóm tắt

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.

Mã nguồn chiến lược
/*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)