Chiến lược kết hợp đảo ngược và dòng tiền

Tác giả:ChaoZhang, Ngày: 2023-09-17 22:37:54
Tags:

Chiến lược này kết hợp 123 mô hình đảo ngược và chỉ số dòng tiền để xác định sự đảo ngược xu hướng.

Chiến lược logic

Đầu tiên, 123 mô hình đảo ngược được sử dụng để phát hiện các điểm đảo ngược tiềm năng. Cụ thể, tín hiệu mua được tạo ra khi giá đóng cửa trong hai ngày đầu tiên và sau đó đóng cửa vào ngày thứ ba, với dao động stochastic dưới ngưỡng. Một tín hiệu bán được tạo ra khi giá đóng cửa trong hai ngày đầu tiên và sau đó đóng cửa vào ngày thứ ba, với dao động stochastic trên ngưỡng.

Thứ hai, các đường dây nhanh và chậm của chỉ số dòng tiền được tính toán. Đường dây nhanh bao gồm trung bình chuyển động theo cấp số nhân của dòng tiền trong thời gian ngắn, trong khi đường dây chậm là EMA thời gian dài hơn. Khi đường dây nhanh nằm trên đường dây chậm, nó chỉ ra dòng tiền chảy vào và tạo ra tín hiệu mua. Ngược lại cho thấy dòng tiền chảy ra và tạo ra tín hiệu bán.

Cuối cùng, khi cả hai tín hiệu đảo ngược 123 và dòng tiền đồng ý, một tín hiệu giao dịch được tạo ra.

Phân tích lợi thế

  • Kết hợp nhiều tín hiệu làm tăng độ tin cậy.
  • 123 sự đảo ngược phát hiện điểm chuyển đổi và dòng tiền cho thấy dòng tiền.
  • Các thông số có thể được điều chỉnh cho các sản phẩm và khung thời gian khác nhau.
  • Các tín hiệu cá nhân cũng có thể được sử dụng độc lập.

Phân tích rủi ro

  • 123 đảo ngược có thể tạo ra tín hiệu sai.
  • Dòng tiền có tác dụng chậm trễ, không thể nắm bắt các điểm chuyển đổi kịp thời.
  • Logic phức tạp với nhiều tín hiệu kết hợp.
  • Cần điều chỉnh tham số để ngăn chặn quá mức giao dịch.

Rủi ro có thể được quản lý bằng cách cải thiện độ tin cậy đảo ngược, điều chỉnh độ nhạy của dòng tiền, thực hiện dừng lỗ, v.v.

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

  • Kiểm tra các bộ tham số khác nhau để tìm ra các giá trị tối ưu.
  • Điều chỉnh ngưỡng mua/bán để giảm các giao dịch không chính xác.
  • Thêm các chỉ số kỹ thuật khác để cải thiện chất lượng tín hiệu.
  • Thực hiện dừng lỗ để kiểm soát lỗ giao dịch duy nhất.
  • Tối ưu hóa các chiến lược quản lý tiền để quản lý rủi ro tổng thể.

Kết luận

Chiến lược này tích hợp các lợi thế của giao dịch đảo ngược và theo xu hướng. Nó có thể xác định hiệu quả các bước ngoặt của thị trường. Tuy nhiên, điều chỉnh tham số và kiểm soát rủi ro là cần thiết để tránh các tín hiệu sai quá mức khi theo dõi xu hướng. Nếu được sử dụng đúng cách, nó có thể trở thành một chiến lược giao dịch hiệu quả.


/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/02/2021
// 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
//    Indicator plots Money Flow Indicator (Chaikin). This indicator looks 
//    to improve on Larry William's Accumulation Distribution formula that 
//    compared the closing price with the opening price. In the early 1970's, 
//    opening prices for stocks stopped being transmitted by the exchanges. 
//    This made it difficult to calculate Williams' formula. The Chaikin 
//    Oscillator uses the average price of the bar calculated as follows 
//    (High + Low) /2 instead of the Open.
//    The indicator subtracts a 10 period exponential moving average of the 
//    AccumDist function from a 3 period exponential moving average of the 
//    AccumDist function.  
//
// 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


MFI(Fast,Slow) =>
    pos = 0.0
    lenMax = max(Fast, Slow)
    lenMin = min(Fast, Slow)
    xDiv = (high - low) * volume
    SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
    SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
    emaMax = ema(SumMax, lenMax)
    emaMin = ema(SumMin, lenMin)
    nRes = emaMax - emaMin
    pos:= iff(nRes > 0, 1,
           iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Money Flow Indicator", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Money Flow ----")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(Fast,Slow)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -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