Đây là một chiến lược giao dịch đảo ngược theo dõi dao động kép kết hợp chiến lược đảo ngược chỉ số chứng khoán và chỉ số biến động Chaikin để có được các tín hiệu giao dịch đáng tin cậy hơn.
Chiến lược bao gồm hai phần:
Phần này sử dụng đường nhanh và đường chậm của chỉ số chứng khoán để tạo ra tín hiệu giao dịch. Nó đi dài khi giá đóng thấp hơn giá đóng trước trong hai ngày liên tiếp và đường nhanh nằm trên đường chậm. Nó đi ngắn khi giá đóng cao hơn giá đóng trước trong hai ngày liên tiếp và đường nhanh nằm dưới đường chậm.
Chỉ số này tính toán sự thay đổi chênh lệch giữa giá cao nhất và giá thấp nhất trong một khoảng thời gian. Khi chênh lệch mở rộng, nó báo hiệu biến động tăng và một vị trí ngắn có thể được thực hiện. Khi chênh lệch thu hẹp, nó báo hiệu biến động giảm và một vị trí dài có thể được thực hiện.
Tín hiệu giao dịch cuối cùng là sự kết hợp của các tín hiệu từ hai phần. Khi tín hiệu chỉ số chứng khoán và tín hiệu chỉ số biến động đồng ý, tín hiệu đó được thực hiện. Nếu không, không có giao dịch được thực hiện nếu hai tín hiệu không đồng ý.
Những lợi thế của chiến lược này bao gồm:
Kết hợp hai loại chỉ số khác nhau cải thiện độ chính xác tín hiệu.
Cơ chế xác nhận kép làm giảm tín hiệu sai và kiểm soát rủi ro.
Tập trung vào sự đảo ngược như là hướng giao dịch chính cho phép lợi nhuận tại các điểm chuyển hướng xu hướng.
Cài đặt tham số linh hoạt làm cho nó thích nghi với các sản phẩm và khung thời gian khác nhau.
Điều chỉnh tinh tế các thông số chỉ số cho phép tối ưu hóa.
Những rủi ro của chiến lược này bao gồm:
Các tín hiệu đảo ngược có thể bị đánh giá sai, dẫn đến tổn thất. Điều chỉnh các tham số có thể làm giảm xác suất đánh giá sai.
Mua bán ngắn trong thời gian biến động tăng mạnh có rủi ro mất mát.
Sự kết hợp của hai chỉ số có thể thất bại trong những biến động thị trường cực đoan.
Theo dõi hai chỉ số làm tăng khối lượng công việc.
Các cải tiến cho chiến lược này bao gồm:
Kiểm tra thêm các kết hợp tham số để tìm các tham số tối ưu.
Thêm các chỉ số xác nhận khác như khối lượng v.v. để tạo nhiều xác nhận.
Thêm các cơ chế dừng lỗ như dừng theo dõi, dừng khu vực vv để kiểm soát rủi ro hơn nữa.
Tối ưu hóa quản lý tiền như cố định phân số, Kelly vv để cải thiện hiệu quả lợi nhuận.
Kiểm tra khả năng áp dụng trên nhiều sản phẩm và khung thời gian với các thiết lập tham số khác nhau.
Chiến lược này kết hợp các chỉ số kép cho tín hiệu giao dịch, tập trung vào việc nắm bắt sự đảo ngược. Nó có những ưu điểm như độ chính xác tín hiệu cao và kiểm soát rủi ro tốt, và có chỗ để cải thiện. Với tối ưu hóa các thông số, dừng lỗ, quản lý tiền vv, nó có thể được nâng cao thành một chiến lược giao dịch đảo ngược trung hạn đến dài hạn mạnh mẽ.
/*backtest start: 2023-09-10 00:00:00 end: 2023-10-10 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 29/07/2019 // 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 // Chaikin's Volatility indicator compares the spread between a security's // high and low prices. It quantifies volatility as a widening of the range // between the high and the low price. // You can use in the xPrice1 and xPrice2 any series: Open, High, Low, Close, HL2, // HLC3, OHLC4 and ect... // // 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 ChaikinVolatility(Length, ROCLength, Trigger) => pos = 0 xPrice1 = high xPrice2 = low xPrice = xPrice1 - xPrice2 xROC_EMA = roc(ema(xPrice, Length), ROCLength) pos := iff(xROC_EMA < Trigger, 1, iff(xROC_EMA > Trigger, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Chaikin Volatility", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthCV = input(10, minval=1) ROCLength = input(12, minval=1) Trigger = input(0, minval=0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posChaikinVolatility = ChaikinVolatility(LengthCV, ROCLength, Trigger) pos = iff(posReversal123 == 1 and posChaikinVolatility == 1 , 1, iff(posReversal123 == -1 and posChaikinVolatility == -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 )