Chỉ báo động lượng thư giãn và chiến lược mô hình 123


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

Chỉ báo động lượng thư giãn và chiến lược mô hình 123

Tổng quan

Chiến lược này tạo thành một tín hiệu giao dịch tổng hợp để tăng khả năng kiếm lợi nhuận bằng cách kết hợp hai chiến lược của chỉ số động lực và hình dạng 123. Trong đó, chỉ số động lực theo dõi sự biến động của thị trường, điều chỉnh các tham số RSI để nắm bắt xu hướng ngắn hạn; hình dạng 123 sử dụng các điểm cao, điểm thấp trong thời gian ngắn của cổ phiếu để tạo tín hiệu giao dịch. Sự kết hợp của hai chiến lược có thể giúp chiến lược duy trì hiệu quả giao dịch trong môi trường thị trường khác nhau.

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

Hình dạng 123

Hình thức 123 được chia thành ba giai đoạn, giai đoạn đầu tiên giá cổ phiếu giảm hai ngày liên tiếp, sau đó giá cổ phiếu tăng hai ngày liên tiếp trong giai đoạn thứ hai, và cuối cùng giá cổ phiếu giảm một lần nữa trong giai đoạn thứ ba. Dựa trên hình thức này, chúng ta có thể đánh giá rằng khi giá cổ phiếu tăng trong giai đoạn thứ hai, một vị trí đầu nhiều có thể được thiết lập, và khi giá cổ phiếu giảm trong giai đoạn thứ ba, một vị trí đầu trống có thể được thiết lập.

Cụ thể, khi giá đóng cửa giảm hai ngày liên tiếp, nếu giá đóng cửa ngày thứ ba cao hơn giá đóng cửa ngày trước, trong khi Stochastic Slow ngày 9 thấp hơn 50, đó là tín hiệu mua; khi giá đóng cửa tăng hai ngày liên tiếp, nếu giá đóng cửa ngày thứ ba thấp hơn giá đóng cửa ngày trước, trong khi Stochastic Fast ngày 9 cao hơn 50, đó là tín hiệu bán.

Chỉ số động lực

Quá trình xây dựng của chỉ số động lực chấn động tương tự như RSI, khác biệt chính là chiều dài chu kỳ của chỉ số động lực chấn động là có thể thay đổi. Cụ thể, chiều dài chu kỳ của chỉ số này bị ảnh hưởng bởi tỷ lệ biến động giá gần đây.

Công thức tính toán của chỉ số động lượng của Zhang Wen là:

DMI = RSI(DTime)

其中:
DTime = 14 / X日收盘价标准差的10日均值

Chỉ số này có cùng phạm vi định nghĩa với RSI, với các khu vực trống như sau:

Vùng nhiều đầu: DMI > 30 Vùng đầu rỗng: DMI < 70

Khi chỉ số đi từ khu vực đầu trống sang khu vực đầu nhiều, nó sẽ tạo ra tín hiệu mua và từ khu vực đầu nhiều sang khu vực đầu trống, nó sẽ tạo ra tín hiệu bán.

Phân tích lợi thế

  1. Hình thức 123 đơn giản và hiệu quả. Hình thức này sử dụng tính năng đảo ngược ngắn hạn của giá cổ phiếu, mua ở đáy cấp thấp và bán ở trên cùng cấp thấp, tránh giao dịch giữa xu hướng.

  2. Chỉ số động lượng Changchun nhạy cảm hơn. Tính năng biến động của chỉ số cho phép nó thích nghi với thị trường, kịp thời nắm bắt các bước ngoặt trong những biến động mạnh mẽ.

  3. Hai chiến lược này có thể lọc hiệu quả thông báo sai lệch. Khi hình thức 123 tạo ra tín hiệu, hãy tham khảo DMI để đánh giá bối cảnh thị trường, có thể giảm tổn thất do giao dịch trong xu hướng.

  4. Kết hợp lợi thế của hai chiến lược. DMI phù hợp để sử dụng trong bộ lọc, kết hợp với hình dạng 123 có thể cải thiện đáng kể sự ổn định của hệ thống.

Phân tích rủi ro

  1. DMI và hình thức 123 có thể tạo ra tín hiệu sai khi giá chỉ dao động ngắn hạn mà không chuyển hướng.

  2. Tần số giao dịch có thể quá cao. Tính năng chu kỳ của DMI làm cho nó rất nhạy cảm với tiếng ồn thị trường, cần điều chỉnh các tham số thích hợp để kiểm soát tần số giao dịch.

  3. Hình thức 123 có thể bỏ lỡ cơ hội trung bình của xu hướng. Hình thức này chủ yếu nắm bắt sự đảo ngược ngắn hạn và không thể tiếp tục hưởng lợi từ xu hướng trung bình dài.

  4. Cần hạn chế số lần giao dịch một cách thích hợp. Quá nhiều lần giao dịch có thể dẫn đến phí xử lý cao và chi phí điểm trượt.

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

  1. Tối ưu hóa các tham số của chỉ số động lực Changchun. Bạn có thể thử nghiệm các tham số RSI của các DMI khác nhau, tham số phân đoạn giao dịch, để tìm các tham số kết hợp tốt nhất.

  2. Tối ưu hóa các điều kiện lọc hình dạng 123. Bạn có thể kiểm tra các tham số khác nhau của chỉ số Stoch hoặc các chỉ số lọc khác như MACD.

  3. Tăng cơ chế dừng lỗ. Giới hạn mức dừng lỗ thích hợp có thể làm giảm tổn thất đơn lẻ.

  4. Thêm mô-đun quản lý vị trí. Các mô-đun quản lý rủi ro chiến lược có thể được cải thiện, chẳng hạn như giao dịch số lượng cố định, giao dịch tỷ lệ sử dụng vốn cố định.

Tóm tắt

Chiến lược này được đánh giá thị trường bằng cách kết hợp hai góc độ của chỉ số động lực Changchun và hình thức 123, nhằm nâng cao hiệu quả của tín hiệu giao dịch. Tuy nhiên, không có chiến lược nào có thể thích ứng hoàn hảo với sự thay đổi của thị trường, nhà đầu tư cần chú ý kiểm soát rủi ro khi sử dụng và liên tục điều chỉnh các tham số tối ưu hóa dựa trên kết quả kiểm tra lại và thực tế để chiến lược có thể có lợi nhuận liên tục.

Mã nguồn chiến lược
/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/03/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
// This indicator plots Dynamic Momentum Index indicator. The Dynamic Momentum 
// Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator 
// is covered in detail in their book The New Technical Trader.
// The DMI is identical to Welles Wilder`s Relative Strength Index except the 
// number of periods is variable rather than fixed. The variability of the time 
// periods used in the DMI is controlled by the recent volatility of prices. 
// The more volatile the prices, the more sensitive the DMI is to price changes. 
// In other words, the DMI will use more time periods during quiet markets, and 
// less during active markets. The maximum time periods the DMI can reach is 30 
// and the minimum is 3. This calculation method is similar to the Variable 
// Moving Average, also developed by Tushar Chande.
// The advantage of using a variable length time period when calculating the RSI 
// is that it overcomes the negative effects of smoothing, which often obscure short-term moves.
// The volatility index used in controlling the time periods in the DMI is based 
// on a calculation using a five period standard deviation and a ten period average 
// of the standard deviation.
//
// 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

DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) =>
    pos = 0
    xStdDev = stdev(close, 5) 
    xSMAStdDev = sma(xStdDev, 10)
    DTime = round(14 / xSMAStdDev - 0.5)
    xDMI = iff(DTime > UpLimit, UpLimit,
             iff(DTime < LoLimit, LoLimit, DTime))
    xRSI = rsi(xDMI, RSILen)
    pos := iff(xRSI > BuyZone, 1,
             iff(xRSI < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Dynamic Momentum Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
RSILen = input(14, minval=1)
BuyZone = input(30, minval=1)
SellZone = input(70, minval=1)
UpLimit = input(30, minval=1)
LoLimit = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDMI = DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit)
pos = iff(posReversal123 == 1 and posDMI == 1 , 1,
	   iff(posReversal123 == -1 and posDMI == -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 )