Sự kết hợp của chiến lược đường trung bình động kép và chỉ báo ngẫu nhiên


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

Sự kết hợp của chiến lược đường trung bình động kép và chỉ báo ngẫu nhiên

Tổng quan

Bài viết này giới thiệu một chiến lược giao dịch định lượng kết hợp sử dụng chiến lược đường trung bình kép và chỉ số ngẫu nhiên. Chiến lược này tích hợp các tính năng theo dõi xu hướng của đường trung bình di động và tính năng mua quá mức của chỉ số ngẫu nhiên để tạo ra tín hiệu giao dịch.

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

Chiến lược này bao gồm hai phần:

  1. Chiến lược hai chiều

Sử dụng đường trung bình di chuyển nhanh và đường trung bình di chuyển chậm để tạo ra tín hiệu mua vàng và tín hiệu bán chết. Đường trung bình nhanh có thể nắm bắt xu hướng thay đổi giá nhanh hơn, đường trung bình chậm lọc tín hiệu giả.

  1. Chỉ số

Sử dụng tính năng dao động của chỉ số ngẫu nhiên để xác định tình trạng quá mua quá bán. Khi chỉ số ngẫu nhiên cao hơn đường dài, đó là tín hiệu quá mua, và khi chỉ số ngẫu nhiên thấp hơn đường dài, đó là tín hiệu quá bán.

Hai phần của tín hiệu tổng hợp sau đó tạo thành tín hiệu giao dịch cuối cùng. Chiến lược hai đường ngang theo dõi xu hướng chính, chỉ số ngẫu nhiên hỗ trợ tránh tình huống bất lợi.

Phân tích lợi thế chiến lược

  • Lợi thế của chỉ số tổng hợp hai đường trung bình và ngẫu nhiên, ổn định hơn.
  • Theo dõi xu hướng trung bình, xác nhận chỉ số ngẫu nhiên, hiệu quả tốt.
  • Các tham số có thể được tùy chỉnh để phù hợp với các tình huống thị trường khác nhau.

Phân tích rủi ro chiến lược

  • Đường song phương dễ gây ra tín hiệu sai.
  • Thiết lập tham số chỉ số ngẫu nhiên không đúng có thể bỏ lỡ xu hướng.
  • Cần điều chỉnh các tham số để phù hợp với sự thay đổi của tình hình.

Có thể giảm rủi ro bằng cách tối ưu hóa các tham số, hoặc có thể thêm dừng để kiểm soát tổn thất.

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

Chiến lược này có thể được tối ưu hóa bằng cách:

  1. Kiểm tra ảnh hưởng của các tham số đường trung bình khác nhau đến hiệu quả của chiến lược.
  2. Kiểm tra ảnh hưởng của các tham số chỉ số ngẫu nhiên khác nhau đến sự ổn định của chiến lược.
  3. Thêm các chỉ số lọc xu hướng để tăng tỷ lệ chiến lược.
  4. Thiết lập các cơ chế dừng lỗ theo dõi động để kiểm soát tổn thất.

Tóm tắt

Chiến lược này sử dụng tổng hợp các chiến lược song song và lợi thế của các chỉ số ngẫu nhiên. Trong khi theo dõi xu hướng thị trường chính, tránh đảo ngược không thuận lợi. Có thể đạt được hiệu quả chiến lược tốt hơn bằng cách tối ưu hóa các tham số.

Mã nguồn chiến lược
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// As the name suggests, High low bands are two bands surrounding the underlying’s 
// price. These bands are generated from the triangular moving averages calculated 
// from the underlying’s price. The triangular moving average is, in turn, shifted 
// up and down by a fixed percentage. The bands, thus formed, are termed as High 
// low bands. The main theme and concept of High low bands is based upon the triangular 
// moving average. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
HLB(Length, PercentShift) =>
    pos = 0.0
    xTMA = sma(sma(close, Length), Length)
    xHighBand = xTMA + (xTMA * PercentShift / 100)
    xLowBand = xTMA - (xTMA * PercentShift / 100)
    pos :=iff(close > xHighBand, 1,
           iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High Low Bands", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HLB = input(14, minval=1)
PercentShift = input(1, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLB = HLB(Length_HLB, PercentShift)
pos = iff(posReversal123 == 1 and posHLB == 1 , 1,
	   iff(posReversal123 == -1 and posHLB == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )