Chiến lược giao dịch đảo ngược và trọng tâm dựa trên sự tích hợp nhiều chiến lược


Ngày tạo: 2024-01-03 16:51:03 sửa đổi lần cuối: 2024-01-03 16:51:03
sao chép: 1 Số nhấp chuột: 599
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch đảo ngược và trọng tâm dựa trên sự tích hợp nhiều chiến lược

Tổng quan

Chiến lược này cho phép đưa ra quyết định giao dịch ổn định và hiệu quả hơn bằng cách tích hợp các tín hiệu giao dịch kép. Một là chiến lược đảo ngược kết hợp các tín hiệu đảo ngược giá và các chỉ số ngẫu nhiên, hai là chiến lược đột phá của đường trung tâm và kênh giá.

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

Phần chiến lược đảo ngược, tạo ra tín hiệu giao dịch khi giá xuất hiện hình thức đảo ngược trong hai ngày giao dịch liên tiếp và chỉ số ngẫu nhiên đã đi vào khu vực mua bán quá mức. Điều này có thể được xác nhận kép đồng thời bằng tín hiệu đảo ngược giá trị và tín hiệu mua bán quá mức.

Cả hai chiến lược đều nắm bắt các cơ hội giá trị và xu hướng. Bằng cách sử dụng logic của tín hiệu chiến lược, khi cả hai chiến lược phát tín hiệu đồng chiều cùng một lúc, các vị trí được mở. Điều này có thể lọc một số tín hiệu không hiệu quả và làm cho chiến lược cuối cùng đáng tin cậy hơn.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là tín hiệu ổn định và đáng tin cậy. Sự kết hợp của chiến lược đảo ngược và chiến lược xu hướng, đồng thời cân nhắc cả hai cơ hội giao dịch lớn là đảo ngược và xu hướng, sẽ không bỏ lỡ bất kỳ tình huống lớn nào. Trong khi đó, logic và tính toán đã lọc ra một số tín hiệu không hiệu quả, làm cho chiến lược cuối cùng đáng tin cậy hơn, tránh bị lừa bởi tiếng ồn.

Ngoài ra, sự kết hợp của chiến lược đảo ngược và chiến lược xu hướng cũng tạo ra hoạt động ổn định trong nhiều khung thời gian. Chiến lược đảo ngược sử dụng tín hiệu mua bán quá mức ngắn hạn, chiến lược đường trung tâm trọng tâm dựa trên đường trung bình dài, khung thời gian bổ sung, có thể tạo ra cơ hội giao dịch ổn định liên tục.

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 chiến lược kép không thể khớp với nhau, dẫn đến việc không thể tạo ra đủ tín hiệu giao dịch. Điều này có thể xảy ra khi các cổ phiếu được sắp xếp ngang. Khi giá biến động trong một thời gian dài và không có hướng rõ ràng, tín hiệu đảo ngược và tín hiệu xu hướng không dễ dàng được tạo ra, làm giảm cơ hội giao dịch.

Ngoài ra, logic và tính toán chiến lược kép cũng có thể bỏ lỡ một số cơ hội của một chiến lược đơn. Không mở vị trí khi chỉ có một chiến lược tạo ra tín hiệu giao dịch có hiệu quả. Điều này có thể dẫn đến chi phí cơ hội ở một mức độ nhất định.

Để giảm rủi ro, bạn có thể nới lỏng một số tham số một cách thích hợp, làm cho tín hiệu chiến lược dễ dàng phù hợp hơn để mở vị trí. Bạn cũng có thể xem xét việc giới thiệu cơ chế chọn cổ phiếu, chọn các chỉ số có xu hướng rõ ràng hơn để giao dịch để có thêm cơ hội giao dịch.

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

Tiếp theo, chiến lược này có thể được tối ưu hóa từ hai chiều:

Đầu tiên là tối ưu hóa tham số. Các tham số bao gồm các tham số của chỉ số ngẫu nhiên của stoch, tham số của kênh đường trung tâm, v.v. có thể được tiếp tục kiểm tra tối ưu hóa để có được tín hiệu phù hợp hơn. Điều này có thể được thực hiện bằng cách đo lại nhiều hơn.

Tiếp theo là giới thiệu cơ chế hoạt động tương tự như lựa chọn cổ phiếu. Vì chiến lược này phù hợp hơn với các chỉ số có xu hướng rõ ràng. Vì vậy, nếu có thể chọn các chỉ số phù hợp để giao dịch, thì cũng có thể cải thiện đáng kể hiệu suất tổng thể của chiến lược. Điều này đòi hỏi kết hợp các phương pháp chuyển động trong ngành, hệ thống thống nhất để thiết kế mô-đun lựa chọn cổ phiếu.

Tóm tắt

Chiến lược này, thông qua sự tích hợp của chiến lược đảo ngược và chiến lược xu hướng, thực hiện xác nhận kép của quyết định giao dịch và phù hợp với nhiều khung thời gian. Ngoài ra, cũng có vấn đề về khó khăn trong việc kết hợp tín hiệu dẫn đến giảm cơ hội giao dịch. Tối ưu hóa bước tiếp theo có thể bắt đầu từ hai cấp độ tham số và mô-đun để có được hiệu suất chiến lược mạnh mẽ hơn và ổn định hơn.

Mã nguồn chiến lược
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/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
// The indicator is based on moving averages. On the basis of these, the 
// "center" of the price is calculated, and price channels are also constructed, 
// which act as corridors for the asset quotations.
//
// 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

CenterOfGravity(Length, m,Percent, SignalLine) =>
    pos = 0
    xLG = linreg(close, Length, m)
    xLG1r = xLG + ((close * Percent) / 100)
    xLG1s = xLG - ((close * Percent) / 100)
    xLG2r = xLG + ((close * Percent) / 100) * 2
    xLG2s = xLG - ((close * Percent) / 100) * 2
    xSignalR = iff(SignalLine == 1, xLG1r, xLG2r)
    xSignalS = iff(SignalLine == 1, xLG1s, xLG2s)
    pos :=  iff(close > xSignalR, 1,
             iff(close < xSignalS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Center Of Gravity", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCoF = input(20, minval=1)
m = input(5, minval=0)
Percent = input(1, minval=0)
SignalLine = input(1, minval=1, maxval = 2, title = "Trade from line (1 or 2)")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(LengthCoF, KSmoothing, DLength, Level)
posCenterOfGravity = CenterOfGravity(Length, m,Percent, SignalLine)
pos = iff(posReversal123 == 1 and posCenterOfGravity == 1 , 1,
	   iff(posReversal123 == -1 and posCenterOfGravity == -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 )