Chiến lược ngẫu nhiên kép


Ngày tạo: 2023-11-07 15:25:19 sửa đổi lần cuối: 2023-11-07 15:25:19
sao chép: 1 Số nhấp chuột: 689
1
tập trung vào
1617
Người theo dõi

Chiến lược ngẫu nhiên kép

Tổng quan

Chiến lược ngẫu nhiên kép (Double Random Strategy) sử dụng các chỉ số ngẫu nhiên của đường K hiện tại và đường K có thời gian gấp nhiều lần để xác định khu vực trống, để đạt được mục đích mua bán cao. Chiến lược này đồng thời tính toán các chỉ số ngẫu nhiên của chu kỳ hiện tại và chu kỳ gấp 3 lần, sử dụng các tín hiệu ngẫu nhiên của các chỉ số ngẫu nhiên khác nhau để theo dõi xu hướng.

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

Chiến lược này tính hai nhóm chỉ số ngẫu nhiên cùng một lúc, nhóm đầu tiên là chỉ số ngẫu nhiên của chu kỳ K hiện tại, tức là giá trị K và giá trị D, nhóm thứ hai là chỉ số ngẫu nhiên của chu kỳ hiện tại gấp 3 lần, tức là MTFK và MTFD.

Khi MTFK vượt qua 50 đường và giá trị K hiện tại lớn hơn giá trị D, nó tạo ra tín hiệu mua, nghĩa là vào khu vực nhiều đầu, làm nhiều; khi MTFD vượt qua 50 đường và giá trị K hiện tại nhỏ hơn giá trị D, nó tạo ra tín hiệu bán, nghĩa là vào khu vực trống, làm trống.

Do đó, chiến lược này sử dụng chỉ số ngẫu nhiên kép để xác định khu vực trống, để theo dõi xu hướng giá. Đi vào khu vực nhiều đầu làm nhiều, đi vào khu vực trống làm trống, đạt hiệu quả mua thấp và bán cao.

Cụ thể, các tín hiệu mua của chiến lược này là:

longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD

Bán Signallogical cho:

shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD

Trong đó, mtfK là giá trị K của chu kỳ 3 lần, mtfD là giá trị D của chu kỳ 3 lần. Khi mtfK vượt qua 50 đường và k> d, nó tạo ra tín hiệu mua; Khi mtfD vượt qua 50 đường và k< d, nó tạo ra tín hiệu bán.

Ngoài ra, chiến lược cũng thiết lập logic dừng lỗ. Khi nhiều vị trí đầu, nếu mtfD trên đường ray, sẽ tạo ra tín hiệu bằng phẳng; Khi vị trí đầu trống, nếu mtfK trên đường ray, sẽ tạo ra tín hiệu bằng phẳng.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Sử dụng chỉ số ngẫu nhiên kép, đánh giá khu vực nhiều không gian chính xác hơn. Chỉ số chu kỳ hiện tại đánh giá xu hướng ngắn hạn, chỉ số chu kỳ lớn đánh giá xu hướng dài hạn, kết hợp với chỉ số kép có thể nắm bắt xu hướng tốt hơn.

  2. Chiến lược giao dịch giao dịch vàng với các chỉ số chu kỳ khác nhau có thể theo dõi xu hướng giá một cách hiệu quả, để đạt được giá thấp và giá cao.

  3. Thiết lập logic dừng lỗ, có thể kiểm soát rủi ro một cách nhất định, ngăn chặn tổn thất mở rộng.

  4. Chiến lược logic đơn giản, rõ ràng, dễ hiểu, phù hợp với thực tế.

Phân tích rủi ro

Chiến lược này cũng có những rủi ro:

  1. Chỉ số ngẫu nhiên kép có thể tạo ra tín hiệu sai, dẫn đến giao dịch không cần thiết. Ví dụ: sự kiện đột ngột dẫn đến sự lệch giữa xu hướng ngắn hạn và dài hạn.

  2. Cài đặt logic dừng lỗ không phù hợp có thể dẫn đến sự gia tăng tổn thất. Cần thiết lập khoảng cách dừng lỗ hợp lý để tránh bị mắc kẹt.

  3. Chi phí giao dịch thường xuyên sẽ ảnh hưởng đến lợi nhuận chiến lược. Các tham số nên được điều chỉnh thích hợp để giảm giao dịch không cần thiết.

  4. Chiến lược chỉ dựa trên chỉ số kỹ thuật, không kết hợp các yếu tố cơ bản.

Giải pháp tương ứng:

  1. Điều chỉnh thích hợp các tham số chỉ số ngẫu nhiên đôi để giảm tỷ lệ tín hiệu sai.

  2. Tối ưu hóa logic dừng và thiết lập khoảng cách dừng hợp lý.

  3. Điều chỉnh các tham số để giảm tần suất giao dịch. Các tiêu chuẩn xác định giá trị giao dịch có thể được nới lỏng thích hợp.

  4. Hãy chú ý đến những thông tin cơ bản quan trọng và tránh giao dịch chủ quan.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa tham số chỉ số ngẫu nhiên kép, giảm tỷ lệ tín hiệu sai. Bạn có thể kiểm tra ảnh hưởng của các tham số giá trị K và D khác nhau đối với hiệu quả.

  2. Kết hợp với các chỉ số khác để lọc tín hiệu. Các chỉ số hỗ trợ phán đoán như MACD, trung bình di chuyển, tránh tín hiệu sai.

  3. Tối ưu hóa chiến lược dừng lỗ, thiết lập khoảng cách và tỷ lệ dừng lỗ. Kiểm tra xem các điểm dừng khác nhau có kiểm soát rủi ro hiệu quả hay không.

  4. Kết hợp các chỉ số khối lượng giao dịch. Các chiến lược như phá vỡ khối lượng để tránh giao dịch không hiệu quả trong thời gian biến động giá.

  5. Kiểm tra thời gian giữ vị trí khác nhau. Thời gian giữ vị trí quá ngắn, chi phí giao dịch ảnh hưởng đến thu nhập; thời gian giữ vị trí quá dài, không thể dừng lỗ kịp thời.

  6. Kết hợp các yếu tố cơ bản, đóng chiến lược trước và sau các sự kiện quan trọng, tránh bị ảnh hưởng bởi sự kiện.

Tóm tắt

Chiến lược ngẫu nhiên kép thông qua các chỉ số ngẫu nhiên của chu kỳ hiện tại và chu kỳ nhiều lần để đánh giá khu vực trống, để đạt được giá rẻ. Chiến lược này có khả năng theo dõi xu hướng mạnh mẽ, logic đơn giản, dễ dàng trong thực tế. Nhưng cũng có một số rủi ro, cần phải tối ưu hóa các tham số và chiến lược dừng lỗ, và được hỗ trợ bởi các chỉ số kỹ thuật khác hoặc phán đoán cơ bản để cải thiện.

Mã nguồn chiến lược
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

len = input(54, minval=1, title="Length for Main Stochastic") 
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and  k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and  k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    
showZones   = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule: 
bullishRule = k >= mtfD
// bearish signal rule: 
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)