Dự đoán đảo ngược và chiến lược kết hợp dao động

Tác giả:ChaoZhang, Ngày: 2023-10-10 10:39:44
Tags:

Tổng quan

Chiến lược này kết hợp các chiến lược đảo ngược và dao động để có được các tín hiệu giao dịch đáng tin cậy hơn. Nó kết hợp chiến lược dự đoán đảo ngược và chiến lược dao động dự báo Chande, thực hiện giao dịch khi cả hai chiến lược tạo ra tín hiệu mua hoặc bán đồng thời.

Chiến lược logic

  1. Chiến lược dự đoán đảo ngược

    • Sử dụng dao động Stochastic để xác định các điều kiện mua quá mức và bán quá mức

    • Thực hiện giao dịch ngược hướng khi giá đóng đảo ngược trên 2 thanh trong khi dao động Stochastic đạt mức mua quá mức hoặc bán quá mức

  2. Chiến lược dao động dự báo Chande

    • Sử dụng phân tích hồi quy tuyến tính để dự báo giá

    • Trình dao động biểu đồ sự khác biệt tỷ lệ phần trăm giữa giá đóng cửa và giá dự báo

    • Tạo tín hiệu giao dịch khi giá thực tế lệch đáng kể so với giá dự báo

  3. Quy tắc chiến lược

    • Đồng thời tính toán tín hiệu từ cả hai chiến lược

    • Chỉ tạo ra tín hiệu giao dịch thực tế khi cả hai chiến lược đồng ý mua hoặc bán

    • Sự kết hợp lọc các tín hiệu sai từ các chiến lược riêng lẻ, cải thiện độ tin cậy

Phân tích lợi thế

  1. Kết hợp nhiều chiến lược cung cấp đánh giá thị trường mạnh mẽ hơn

  2. Loại bỏ các tín hiệu sai có thể xuất hiện trong các chỉ số duy nhất

  3. Chiến lược đảo ngược nắm bắt các cơ hội đảo ngược ngắn hạn

  4. Chande dao động đánh giá chính xác xu hướng dài hạn

  5. Các tham số dao động Stochastic linh hoạt thích nghi với sự thay đổi của thị trường

  6. Kết hợp các kỹ thuật phân tích để tận dụng các triển vọng giao dịch đa dạng

Phân tích rủi ro

  1. Mặc dù đáng tin cậy hơn, các chiến lược kết hợp làm giảm tần số tín hiệu

  2. Yêu cầu tối ưu hóa phức tạp của nhiều thông số chiến lược

  3. Khó có thể đảo ngược thời gian, có nguy cơ mất mát

  4. Dự báo hồi quy tuyến tính không hiệu quả khi giá biến động

  5. Theo dõi sự chênh lệch giá từ bộ dao động Stochastic

  6. Dữ liệu thử nghiệm không đủ, hiệu suất sống không chắc chắn

Cơ hội cải thiện

  1. Tối ưu hóa dao động Stochastic bằng cách giảm K và D thời gian

  2. Kiểm tra nhiều thời gian hồi quy tuyến tính hơn để tìm ra tối ưu

  3. Thêm stop loss để giới hạn lỗ

  4. Điều chỉnh logic để chờ đợi Stochastic dao động đạt cực đoan

  5. Phân tích tính chất thống kê của các công cụ giao dịch

  6. Bao gồm nhiều chỉ số như MACD cho sự vững chắc

Tóm lại

Chiến lược này tổng hợp nhiều kỹ thuật phân tích và cải thiện chất lượng tín hiệu thông qua sự kết hợp, nắm bắt cả sự đảo ngược ngắn hạn và xu hướng dài hạn. Nhưng hiệu suất trực tiếp cần được xác nhận và các thông số được điều chỉnh phù hợp. Khung khái niệm có thể được mở rộng sang nhiều chỉ số và chiến lược hơn, cung cấp hướng dẫn giao dịch thực tế. Nhìn chung chiến lược cung cấp những đổi mới và tham chiếu có ý nghĩa.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 08/08/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
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// 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

ChandeForecastOscillator(Length, Offset) =>
    pos = 0
    xLG = linreg(close, Length, Offset)
    xCFO = ((close -xLG) * 100) / close
    pos := iff(xCFO > 0, 1,
           iff(xCFO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Forecast Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCFO = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posChandeForecastOscillator = ChandeForecastOscillator(LengthCFO, Offset)
pos = iff(posReversal123 == 1 and posChandeForecastOscillator == 1 , 1,
	   iff(posReversal123 == -1 and posChandeForecastOscillator == -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