Động cơ dao động & 123 Chiến lược mô hình

Tác giả:ChaoZhang, Ngày: 2024-01-25 14:27:29
Tags:

img

Tổng quan

Chiến lược này kết hợp Chỉ số dao động đà và Mô hình 123 thành một tín hiệu giao dịch tích lũy để cải thiện lợi nhuận. Mô hình dao động đà theo dõi sự biến động của thị trường và điều chỉnh các thông số RSI để nắm bắt xu hướng ngắn hạn. Mô hình 123 hình thành các tín hiệu giao dịch bằng cách xác định mức cao và thấp của giá trong ngắn hạn. Sự kết hợp của cả hai chiến lược cho phép chiến lược duy trì hiệu suất trong các môi trường thị trường khác nhau.

Chiến lược logic

123 Mô hình

Mô hình 123 bao gồm ba giai đoạn. Đầu tiên, giá giảm trong hai ngày liên tiếp. Thứ hai, giá tăng trong hai ngày tiếp theo. Cuối cùng, giá giảm lại vào ngày thứ ba. Theo mô hình này, chúng ta có thể xác định để thiết lập một vị trí dài khi giá tăng trong giai đoạn thứ hai, và một vị trí ngắn khi giá giảm lại trong giai đoạn thứ ba.

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

Máy dao động động lực

Động cơ dao động được xây dựng tương tự như chỉ số RSI, với sự khác biệt chính là các khoảng thời gian biến đổi của dao động động. Số lượng các khoảng thời gian phụ thuộc vào biến động giá gần đây - biến động cao hơn dẫn đến thời gian ngắn hơn, làm cho chỉ số nhạy cảm hơn, trong khi giá ổn định dẫn đến thời gian dài hơn để giảm tín hiệu sai.

Công thức tính toán là:

DMI = RSI(DTime)  

Where:  
DTime = 14 / 10-day SMA of standard deviation of close over past 5 days

Nó chia sẻ cùng ngưỡng mua quá mức / bán quá mức như RSI:

Đánh giá quá mức: DMI > 30 Bán quá mức: DMI < 70

Các tín hiệu mua và bán được tạo ra khi DMI vượt qua các ngưỡng này.

Phân tích lợi thế

  1. Mô hình 123 đơn giản và hiệu quả. Nó sử dụng các mô hình đảo ngược ngắn hạn để vào đáy nhỏ và thoát ra trên đỉnh nhỏ, tránh lấy các vị trí chống lại xu hướng.

  2. Động cơ dao động nhạy cảm hơn. Thời gian biến đổi của nó cho phép nó thích nghi với thị trường và kịp thời nắm bắt các bước ngoặt ngay cả trong thời điểm biến động cao.

  3. Cả hai chiến lược đều giúp lọc các tín hiệu sai một cách hiệu quả. Kiểm tra DMI cho bối cảnh thị trường khi 123 tín hiệu xảy ra có thể giảm lỗ từ giao dịch chống lại xu hướng.

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

Phân tích rủi ro

  1. Cả DMI và 123 Pattern đều có thể tạo ra tín hiệu sai khi giá chỉ dao động tạm thời thay vì đảo ngược.

  2. Tần số giao dịch tiềm năng cao. Thời gian biến động của DMI làm cho nó cực kỳ nhạy cảm với tiếng ồn thị trường. Các thông số cần điều chỉnh đúng để kiểm soát tần số giao dịch.

  3. 123 Mô hình có thể bỏ lỡ cơ hội xu hướng trung hạn. Nó chủ yếu nắm bắt sự đảo ngược ngắn hạn và không thể lợi nhuận nhất quán từ xu hướng trung hạn dài hạn.

  4. Cần hạn chế giao dịch tối đa. Quá nhiều giao dịch có thể dẫn đến phí hoa hồng và chi phí trượt cao.

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

  1. Tối ưu hóa các thông số DMI. Có thể kiểm tra các khoảng thời gian RSI khác nhau, giá trị ngưỡng để tìm kết hợp tốt nhất.

  2. Tối ưu hóa 123 bộ lọc mẫu. Có thể kiểm tra các thông số Stoch khác nhau hoặc các bộ lọc khác như MACD.

  3. Thêm các cơ chế dừng lỗ. Kích thước dừng lỗ thích hợp giúp hạn chế downside trên các giao dịch thua lỗ.

  4. Thêm các quy tắc định kích thước vị trí.

Kết luận

Chiến lược này kết hợp phân tích từ cả Momentum Oscillator và 123 Pattern để cải thiện hiệu suất tín hiệu giao dịch. Tuy nhiên, không có chiến lược nào có thể thích nghi hoàn hảo với các điều kiện thị trường thay đổi. Các nhà đầu tư nên tập trung vào kiểm soát rủi ro, liên tục kiểm tra lại và cập nhật các thông số dựa trên kết quả thực tế để lợi nhuận có thể duy trì.


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

Thêm nữa