Chiến lược theo dõi đảo ngược hợp nhất đa yếu tố


Ngày tạo: 2023-09-15 14:31:15 sửa đổi lần cuối: 2023-12-01 14:59:14
sao chép: 0 Số nhấp chuột: 636
1
tập trung vào
1617
Người theo dõi

Tổng quan về chiến lược

Chiến lược này sử dụng nhiều yếu tố để đánh giá các điểm cao và thấp trong cấu trúc thị trường, tạo ra tín hiệu giao dịch tại các điểm đảo ngược, nhằm nắm bắt cơ hội đảo ngược giá đường ngắn trung bình.

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

Chiến lược này bao gồm hai mô-đun:

1, 123 mô-đun hình dạng đảo ngược

  • Khi có giá cao vào ngày 2 nhưng giảm vào ngày 3, hãy coi đó là điểm cao ngắn hạn tiềm năng và làm cho nó trống.

  • Khi có sự đổi mới giá thấp vào ngày 2 nhưng hồi phục vào ngày 3, xem đó là mức thấp ngắn hạn tiềm năng và làm nhiều hơn.

2 RSI Module

  • Đánh giá điểm đảo ngược bằng cách thay đổi động lực của RSI.

  • RSI cao hơn đường mua thăng giá đã điều chỉnh thì được nhìn thấy, RSI thấp hơn đường bán thăng giá đã điều chỉnh thì được nhìn thấy.

Cuối cùng, chỉ khi tín hiệu của hai mô-đun phù hợp, lệnh giao dịch thực tế sẽ được tạo ra.

Lợi thế lớn nhất của chiến lược này là tích hợp các yếu tố khác nhau để đánh giá thị trường, lọc ra một số tín hiệu giả dưới một yếu tố duy nhất, có thể cải thiện tỷ lệ chiến thắng của giao dịch thực tế.

Lợi thế chiến lược

  • Một sự kết hợp của nhiều yếu tố, đánh giá tổng hợp thị trường cao và thấp

  • Kết hợp với hình thức đảo ngược và chỉ số bán tháo

  • Có hiệu quả trong việc lọc các tín hiệu đảo ngược giả, cải thiện độ chính xác

  • Các tham số phản hồi có thể được tối ưu hóa để phù hợp với các thị trường khác nhau

  • Giao dịch không khó thực hiện và có thể sao chép nhanh chóng

Dấu hiệu nguy cơ

  • Tín hiệu đảo ngược có thể bị chậm trễ, cần cập nhật các tham số kịp thời

  • Cần tăng phí giao dịch để ngăn chặn giao dịch quá mức

  • Cần chú ý đến các yếu tố cơ bản của cổ phiếu

  • Chiến lược đảo ngược phù hợp hơn với chỉ số và cổ phiếu phổ biến

Tóm tắt

Chiến lược theo dõi ngược đa yếu tố kết hợp hoàn hảo kết hợp lợi thế của các công cụ định lượng với kinh nghiệm phân tích nhân tạo để xác định tín hiệu giao dịch bằng cách xem xét nhiều góc độ. So với chiến lược chỉ số đơn, nó có thể nâng cao đáng kể sự ổn định và tỷ lệ thắng của giao dịch thực tế. Chiến lược này đáng để được kiểm chứng và tối ưu hóa đầu tiên trong phản hồi, sau đó dần dần thực tế, có giá trị thực tế rất đáng kể.

Mã nguồn chiến lược
/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/06/2021
// 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 related article is copyrighted material from
// Stocks & Commodities.
//
// 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


RE_RSI(Value,WildPer) =>
    pos = 0.0
    AUC = 0.0
    ADC = 0.0
    ExpPer = 2 * WildPer - 1
    K = 2 / (ExpPer + 1)
    AUC := iff(close > close[1], K * (close - close[1]) + (1 - K) * nz(AUC[1], 1), (1-K) * nz(AUC[1], 1))
    ADC := iff(close > close[1], (1-K) * nz(ADC[1], 1), K * (close[1] - close) + (1 - K) * nz(ADC[1], 1))
    nVal = (WildPer - 1) * (ADC * Value / (100 - Value) - AUC)
    nRes = iff(nVal >= 0, close + nVal, close + nVal * (100 - Value) / Value)
    pos:= iff(nRes > close, -1,
    	   iff(nRes < close, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Reverse Engineering RSI, by Giorgos Siligardos", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Reverse Engineering RSI ----")
Value = input(50, minval=1)
WildPer = input(14,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRE_RSI = RE_RSI(Value,WildPer)
pos = iff(posReversal123 == 1 and posRE_RSI == 1 , 1,
	   iff(posReversal123 == -1 and posRE_RSI == -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 )