Chiến lược này kết hợp nhiều chỉ báo kỹ thuật để tạo ra các tín hiệu giao dịch chính xác và đáng tin cậy hơn. Nó bao gồm hai phần: phần đầu tiên sử dụng chiến lược đảo ngược 123, và phần thứ hai sử dụng chỉ báo TEMA. Các tín hiệu giao dịch được tạo ra bởi cả hai được kết hợp để lọc ra các tín hiệu sai và cải thiện chất lượng tín hiệu.
Phần đầu tiên sử dụng 123 chiến lược đảo ngược. Nó dựa trên chỉ số chứng khoán. Khi giá đóng cho thấy đảo ngược trong hai ngày liên tiếp (ví dụ như chuyển từ tăng xuống giảm), và chỉ số chứng khoán cho thấy tín hiệu mua quá mức hoặc bán quá mức, nó tạo ra tín hiệu mua hoặc bán.
Cụ thể, khi giá đóng cao hơn các ngày trước và đường chậm ngẫu nhiên dưới 50, nó tạo ra tín hiệu mua. Khi giá đóng thấp hơn các ngày trước và đường nhanh ngẫu nhiên trên 50, nó tạo ra tín hiệu bán.
Phần thứ hai sử dụng chỉ số TEMA. TEMA viết tắt của Trung bình Di chuyển Triple Exponential và được tính như sau:
TEMA = 3EMA ((CLOSE, N) - 3EMA ((EMA(CLOSE, N), N) + EMA ((EMA(EMA(CLOSE, N), N), N)
N là chiều dài của tham số. Nếu giá đóng trên giá trị TEMA, nó tạo ra tín hiệu mua. Nếu giá đóng dưới giá trị TEMA, nó tạo ra tín hiệu bán.
Cuối cùng, các tín hiệu từ hai chỉ số được kết hợp. Chỉ khi cả hai chỉ số tạo ra các tín hiệu nhất quán (cả hai mua hoặc cả hai bán), các tín hiệu giao dịch thực tế được tạo ra.
Chiến lược này cải thiện chất lượng tín hiệu thông qua sự kết hợp hợp lý của nhiều chỉ số, làm cho nó trở thành một chiến lược giao dịch định lượng rất hiệu quả.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-06 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 24/11/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 // This study plots the TEMA1 indicator. TEMA1 ia s triple MA (Moving Average), // and is calculated as 3*MA - (3*MA(MA)) + (MA(MA(MA))) // // 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 TEMA(Length) => pos = 0.0 xPrice = close xEMA1 = ema(xPrice, Length) xEMA2 = ema(xEMA1, Length) xEMA3 = ema(xEMA2, Length) nRes = 3 * xEMA1 - 3 * xEMA2 + xEMA3 pos := iff(close > nRes, 1, iff(close < nRes, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & TEMA1", 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, "---- TEMA1 ----") LengthTEMA = input(26, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posT3A = TEMA(LengthTEMA) pos = iff(posReversal123 == 1 and posT3A == 1 , 1, iff(posReversal123 == -1 and posT3A == -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 )