Chiến lược giao dịch ngắn hạn dựa trên chỉ số Stochastic

Tác giả:ChaoZhang, Ngày: 2024-01-18 16:14:34
Tags:

img

Tổng quan

Chiến lược này thiết kế một chiến lược giao dịch ngắn hạn dựa trên chỉ số Stochastic Index (SMI), chủ yếu cho giao dịch ngắn hạn của cổ phiếu và tiền tệ kỹ thuật số. Chiến lược tích hợp các tín hiệu mua quá mức và bán quá mức của chỉ số Stochastic Index và xác nhận các đường trung bình động để nắm bắt các điểm nhập tốt hơn trong thời gian giảm trung gian trong một thị trường xu hướng.

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

Chiến lược chủ yếu sử dụng chỉ số Stochastic Index để đánh giá các khu vực mua quá mức và bán quá mức của thị trường.

SMI = (MA(Close - LL) /(HH - LL)) * 100

Trong đó LL là giá thấp nhất trong N ngày, HH là giá cao nhất trong N ngày. Khái niệm thiết kế của chỉ số này là khi giá đóng gần với giá cao nhất trong N ngày, thị trường ở trạng thái mua quá mức; khi giá đóng gần với giá thấp nhất trong N ngày, thị trường ở trạng thái bán quá mức.

Trong chiến lược này, tham số SMA N lấy 5 và 3, cho thấy chỉ số Stochastic 5 ngày và 3 ngày được sử dụng. Thông thường, chỉ sử dụng một tham số có thể dễ dàng tạo ra tín hiệu sai. Do đó, chiến lược này áp dụng xác nhận hai lần SMA, có thể lọc ra một số tiếng ồn.

Ngoài ra, chỉ số EMA được chồng lên nhau trong chiến lược và các tham số được thiết lập để 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 và tránh đánh giá sai.

Ưu điểm của Chiến lược

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

Rủi ro của chiến lược

  1. Chỉ số SMI có xu hướng tạo ra các tín hiệu sai. Ngay cả với chỉ số SMA và EMA kép, các rủi ro không thể tránh hoàn toàn.
  2. Trong một thị trường xu hướng, chiến lược này có thể tạo ra quá nhiều hoạt động ngược lại, do đó ảnh hưởng đến lợi nhuận tổng thể.

Phòng ngừa rủi ro:

  1. Sử dụng stop loss để kiểm soát lỗ đơn
  2. Chỉ sử dụng chiến lược này trong các thị trường giao dịch ngang hoặc dải để tránh sử dụng nó trong thị trường xu hướng

Hướng dẫn tối ưu hóa

  1. Kiểm tra các chỉ số SMI dưới các cài đặt tham số khác nhau để tìm ra sự kết hợp các 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ư Bollinger Bands, KDJ, vv, để cải thiện độ chính xác tín hiệu
  3. Tối ưu hóa các chiến lược dừng lỗ và thiết lập dừng lỗ biến đổi dựa trên biến động thị trường
  4. Kết hợp với các chỉ số đánh giá xu hướng để tránh sử dụng trong các thị trường xu hướng

Tóm lại

Nói chung, đây 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 đặc điểm mua quá mức và bán quá mức của chỉ số Stochastic với xác nhận và lọc trung bình động để 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 có xu hướng tạo ra tín hiệu sai trong thị trường xu hướng, vì vậy cần phải chú ý đặc biệt khi sử dụng nó. Tốt nhất nên sử dụng nó với các chỉ số xu hướng đánh giá để tránh những tình huống như vậy. Nói chung, chiến lược này có thể nắm bắt một số cơ hội giao dịch ngắn hạn trong các thị trường giới hạn phạm vi, nhưng cần chú ý đến kiểm soát rủi ro và dừng lỗ khi sử dụng.


/*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)


Thêm nữa