Đảo ngược xu hướng chéo kết hợp với chiến lược kép ba mươi dao động


Ngày tạo: 2024-01-19 14:41:02 sửa đổi lần cuối: 2024-01-19 14:41:02
sao chép: 0 Số nhấp chuột: 675
1
tập trung vào
1617
Người theo dõi

Đảo ngược xu hướng chéo kết hợp với chiến lược kép ba mươi dao động

Tổng quan

Chiến lược này chủ yếu kết hợp hai loại khác nhau của tín hiệu chiến lược, thực hiện các tín hiệu chiến lược chồng lên nhau để đạt được hiệu quả nâng cao chất lượng tín hiệu.

Chiến lược 1: Chiến lược đảo ngược xu hướng

Chiến lược này bắt nguồn từ trang 183 của cuốn sách Làm thế nào tôi có được lợi nhuận gấp ba lần trên thị trường tương lai. Đây là loại chiến lược đảo ngược.

Chiến lược 2: Chiến lược 30 Vibration

Chiến lược này sử dụng chênh lệch giữa trung bình 3 ngày và trung bình 10 ngày để xây dựng chỉ số. Chi tiết hơn, là trung bình di chuyển chỉ số 3 ngày trừ đi trung bình di chuyển chỉ số 10 ngày, để có được chênh lệch là đường nhanh, sau đó thực hiện trung bình di chuyển đơn giản 16 ngày trên đường nhanh, để có được đường chậm.

Nguyên tắc chiến lược

  • Đầu tiên, tính toán tín hiệu giao dịch của chiến lược đảo ngược xu hướng qua PosReversal123;
  • Sau đó tính toán tín hiệu giao dịch của chiến lược ba mươi dao động posD_Three;
  • Khi hai tín hiệu đồng hướng ((double plus hoặc double void), đầu ra là tín hiệu tổng hợp;
  • Các tín hiệu tổng hợp sẽ được sử dụng để xác định hướng và giá của các giao dịch cụ thể.
  • Hình vẽ đường K với nhiều màu khác nhau.

Phân tích lợi thế

Các tín hiệu tổng hợp được xếp chồng trên nhiều chiến lược này có những ưu điểm sau:

  1. Bộ lọc tín hiệu giả, cải thiện chất lượng tín hiệu

Vì cần hai chiến lược để cung cấp tín hiệu đồng hướng cùng một lúc, có thể tránh tác động của tín hiệu giả trong một chiến lược duy nhất, do đó tăng độ tin cậy của tín hiệu.

  1. Tích hợp nhiều ý tưởng giao dịch

Kết hợp hai khái niệm chiến lược đảo ngược và chiến lược xu hướng có thể làm giảm điểm mù chiến lược và có được tầm nhìn toàn diện hơn về thị trường.

  1. Khả năng linh hoạt cao

Theo nhu cầu thực tế, danh mục các chiến lược tham gia tổng hợp có thể được điều chỉnh, kết hợp các loại chiến lược khác nhau, tạo ra các chiến lược tổng hợp đa dạng hơn.

Phân tích rủi ro

  1. Giả sử mâu thuẫn

Giả định cơ bản của chiến lược này là nhiều chiến lược có thể xác nhận tín hiệu với nhau. Tuy nhiên, theo lý thuyết, tất cả các chiến lược có thể phát ra tín hiệu sai cùng một lúc.

  1. Tín hiệu không phù hợp

Khi hai tín hiệu chiến lược không phù hợp, không thể xác định được chiến lược nào đáng tin cậy hơn, có một số rủi ro quyết định.

  1. Các tham số không phù hợp

Nếu các tham số được thiết lập không đúng cách, có thể dẫn đến việc một số chiến lược không hoạt động bình thường, do đó không thể đạt được hiệu quả mong muốn của sự kết hợp chiến lược.

Phản ứng:

  1. Tăng số lượng các chiến lược, bỏ phiếu đa số

  2. Thiết lập điểm dừng, kiểm soát mất đi tín hiệu đơn lẻ

  3. Tối ưu hóa các tham số để đảm bảo chiến lược hoạt động tốt

Hướng tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:

  1. Thêm nhiều chiến lược

Có thể tiếp tục thêm nhiều loại chiến lược khác nhau để tạo ra các chiến lược kết hợp để nâng cao chất lượng tín hiệu hơn nữa.

  1. Điều kiện lọc trước

Tùy thuộc vào đặc điểm của thị trường, bạn có thể đặt một số điều kiện trước, chẳng hạn như lọc lớn, để tránh mở vị trí trong điều kiện không phù hợp.

  1. Đổi hướng trọng lượng chiến lược

Các chiến lược khác nhau có thể được điều chỉnh động theo kết hợp sự tham gia trọng lượng của chúng, dựa trên hoạt động trước đây của chúng, để các chiến lược có hiệu suất tốt hơn có thể đóng vai trò lớn hơn.

  1. Chi tiết tham số tối ưu hóa

Các tham số trong các chiến lược có thể được kiểm tra và tối ưu hóa chi tiết để có được các tham số tốt nhất thông qua các phương pháp có hệ thống hơn.

Tóm tắt

Chiến lược này thuộc loại chiến lược tổng hợp chồng lên nhiều chiến lược. Nó tích hợp hai chiến lược con của chiến lược đảo ngược xu hướng và chiến lược ba mươi dao động, có thể loại bỏ hiệu quả các tín hiệu giả trong một chiến lược và cải thiện chất lượng tín hiệu bằng cách đồng bộ hóa tín hiệu giao dịch của chúng để tạo ra chỉ thị giao dịch.

Mã nguồn chiến lược
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-18 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/12/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
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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

D_Three(Length1, Length2, Length3) =>
    pos = 0.0
    xPrice =  security(syminfo.tickerid,"D", hl2)
    xfastMA = ema(xPrice, Length1)
    xslowMA = ema(xPrice, Length2)
    xMACD = xfastMA - xslowMA
    xSignal = sma(xMACD, Length3)
    pos := iff(xSignal > xMACD, -1,
    	     iff(xSignal < xMACD, 1, nz(pos[1], 0)))     
    pos

strategy(title="Combo Backtest 123 Reversal & D_Three Ten Osc", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posD_Three = D_Three(Length1, Length2, Length3)
pos = iff(posReversal123 == 1 and posD_Three == 1 , 1,
	   iff(posReversal123 == -1 and posD_Three == -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 )