Chiến lược đảo ngược hai lần cao thấp

Tác giả:ChaoZhang, Ngày: 2024-01-03 13:56:04
Tags:

img

Tổng quan

Chiến lược đảo ngược cao thấp kép là một chiến lược định lượng kết hợp các tín hiệu kép. Nó tích hợp một chiến lược nội ngày dựa trên đảo ngược và một chiến lược đánh giá xu hướng sử dụng sự khác biệt giữa giá cao nhất hôm qua và trung bình động. Chiến lược nhằm mục đích đạt được các tín hiệu mua và bán ổn định hơn để tránh phát hành các tín hiệu không chính xác.

Nguyên tắc

Đầu tiên, phần chiến lược đảo ngược. Chiến lược này đánh giá sự hình thành tín hiệu khi có sự đảo ngược giá đóng cửa trong hai ngày liên tiếp, trong khi kết hợp sự đánh giá của các trạng thái mua quá mức và bán quá mức bằng cách sử dụng chỉ số chứng khoán. Cụ thể, đó là tín hiệu bán khi giá đóng cửa thay đổi từ tăng xuống giảm trong hai ngày liên tiếp, và chỉ số chứng khoán nhanh nằm trên chỉ số chứng khoán chậm; đó là tín hiệu mua khi giá đóng cửa thay đổi từ giảm lên tăng trong hai ngày liên tiếp, và chỉ số chứng khoán nhanh nằm dưới chỉ số chứng khoán chậm.

Thứ hai, phần chiến lược cao thấp. Chiến lược này sử dụng sự khác biệt giữa giá cao nhất ngày hôm qua và trung bình động theo cấp số 13 giai đoạn để xác định xu hướng. Nó tạo ra tín hiệu mua khi giá cao nhất nằm trên trung bình động; nó tạo ra tín hiệu bán khi giá cao nhất nằm dưới trung bình động.

Cuối cùng, chiến lược này tích hợp hai tín hiệu. Nó mất một hành động mua khi cả hai tín hiệu hiển thị một tín hiệu mua cùng một lúc; nó mất một hành động bán khi cả hai tín hiệu hiển thị một tín hiệu bán cùng một lúc.

Ưu điểm

Chiến lược tín hiệu kép này có thể làm giảm hiệu quả các tín hiệu không chính xác và giao dịch không cần thiết. Phần đảo ngược có thể xác định các điều kiện mua quá nhiều và bán quá nhiều để tránh đuổi theo mức cao và bán thấp. Phần thấp có thể xác định sự chênh lệch xu hướng giá để tránh đột phá sai. Khi kết hợp các phán đoán, các tín hiệu giao dịch thực tế chỉ được tạo ra khi các tín hiệu kép ở cùng một hướng, có thể cải thiện đáng kể độ tin cậy của các tín hiệu và giảm các giao dịch không hiệu quả.

Ngoài ra, các phần đảo ngược và thấp cao sử dụng các loại chỉ số và tiêu chí đánh giá khác nhau, vì vậy chúng có thể phục vụ để xác nhận lẫn nhau và giảm thêm các tín hiệu không chính xác. Khi các tình huống đặc biệt xảy ra trên thị trường, một chỉ số duy nhất dễ bị tín hiệu không chính xác, trong khi các đánh giá kết hợp có thể bù đắp một số lỗi.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là các tín hiệu đơn phương hợp lý có thể bị bỏ qua trong một thị trường có xu hướng mạnh. Khi xu hướng rất rõ ràng, sự đánh giá tín hiệu của phần đảo ngược có thể sai, điều này sẽ khiến các tín hiệu đơn phương trong phần cao thấp không thể được thực hiện như giao dịch. Điều này đặc biệt nổi bật trong thị trường tăng và giảm xu hướng.

Ngoài ra, các thiết lập tham số không đúng cũng có thể ảnh hưởng đến chiến lược. Các thiết lập tham số trong phần đảo ngược cần phải tính đến hệ thống trung bình động chu kỳ, và thời gian trung bình động trong phần cao thấp cần phải được phối hợp. Nếu thời gian của cả hai không đúng, sẽ có tín hiệu sai trung bình hoặc đơn giản là không có tín hiệu.

Tối ưu hóa

Đầu tiên, các tham số chiều dài của trung bình động trong phần cao-mức thấp có thể được thử nghiệm để làm cho nó phối hợp hơn với các chỉ số chu kỳ trong phần đảo ngược.

Thứ hai, phần đảo ngược cũng có thể thử nghiệm bằng cách sử dụng các thực thể đường K thay vì chỉ sử dụng giá đóng mà dễ bị ảnh hưởng.

Cuối cùng, nó cũng có thể cố gắng chỉ xem xét giao dịch khi tín hiệu đảo ngược xuất hiện trong phiên, vì phương pháp giữ trong ngày hiện tại có rủi ro cao hơn.

Kết luận

Chiến lược đảo ngược cao thấp kép tích hợp các tín hiệu từ nhiều chỉ số và thực hiện xác minh kép trước khi phát hành tín hiệu mua và bán. Cơ chế lọc tín hiệu nghiêm ngặt này có thể làm giảm hiệu quả tác động của các tín hiệu không hợp lệ và không chính xác đối với giao dịch thực tế. Chiến lược kiểm soát thành công tần suất giao dịch không hiệu quả, làm cho mỗi giao dịch đáng tin cậy hơn và tránh mù quáng theo dõi các chuyển động thị trường ngắn hạn. Thông qua tối ưu hóa tham số, nó có thể đạt được hiệu suất tốt hơn trên một số thị trường nhất định.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/11/2020
// 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 indicator plots the difference between the High (of the previous period)
// and an exponential moving average (13 period) of the Close (of the previous period).
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// It buy if indicator above 0 and sell if 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

    
HEMA(Length) =>
    pos = 0.0
    xPrice = close  // You can use any series
    xEMA = ema(xPrice, Length)
    nRes = high[1] - nz(xEMA[1])
    pos:= iff(nRes > 0, 1,
    	   iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HEMA = input(13, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHEMA = HEMA(Length_HEMA)
pos = iff(posReversal123 == 1 and posHEMA == 1 , 1,
	   iff(posReversal123 == -1 and posHEMA == -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