Chiến lược đảo ngược kép


Ngày tạo: 2023-11-22 17:42:23 sửa đổi lần cuối: 2023-11-22 17:42:23
sao chép: 0 Số nhấp chuột: 563
1
tập trung vào
1617
Người theo dõi

Chiến lược đảo ngược kép

Tổng quan

Chiến lược theo dõi hai lần đảo ngược có thể bắt được tín hiệu giao dịch chính xác hơn bằng cách kết hợp hai chiến lược con là 123 reversal và key reversal down. Trong đó, 123 reversal có thể được đánh giá bằng cách quan sát giá đóng cửa so với hai ngày trước đó, kết hợp với chỉ số Stoch để đánh giá một sự đảo ngược tiềm năng.

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

Chiến lược này bao gồm hai chiến lược con. Chiến lược con đầu tiên là chiến lược 123 đảo ngược, logic phán quyết là:

  1. Nếu cả hai ngày hôm nay và ngày hôm qua đều có giá đóng cửa cao hơn ngày hôm trước, và chỉ số Stoch nhanh thấp hơn chỉ số Stoch chậm và đường nhanh thấp hơn 50, hãy làm nhiều hơn;

  2. Nếu cả giá đóng cửa hôm nay và hôm qua đều thấp hơn ngày hôm trước, và chỉ số Stoch nhanh cao hơn chỉ số Stoch chậm và đường nhanh cao hơn 50, hãy bỏ trống.

Chiến lược thứ hai là chiến lược đảo ngược giảm giá quan trọng, và logic của nó rất đơn giản:

Trong một xu hướng giảm, nếu có một mức thấp mới, bạn có thể nới lỏng.

Tín hiệu giao dịch của toàn bộ chiến lược là chỉ khi tín hiệu của hai chiến lược con đồng bộ, tín hiệu giao dịch thực tế sẽ được phát ra.

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 chính xác đáng tin cậy. Vì nó đòi hỏi hai chiến lược con của tín hiệu đồng bộ chỉ thực sự đặt hàng, do đó có thể lọc một số giao dịch tiếng ồn, điều này làm tăng đáng kể sự ổn định của chiến lược.

Ngoài ra, chiến lược này kết hợp cùng một lúc thông tin trên nhiều chiều thời gian, bao gồm so sánh đường hai ngày và thông tin nhiều ngày của chỉ số Stoch, để đưa ra quyết định toàn diện và đáng tin cậy hơn.

Về mặt nguyên tắc, chiến lược này đáp ứng các đặc điểm của chiến lược đảo ngược và chiến lược xu hướng, phù hợp với ứng dụng thực tế trong thực tế.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là yêu cầu tín hiệu kép cũng làm tăng khả năng bị mất phiếu. Khi hai tín hiệu của chiến lược con không phù hợp, cơ hội giao dịch sẽ bị bỏ lỡ.

Ngoài ra, chính các chiến lược con cũng có một số vấn đề. Chiến lược đảo ngược 123 có độ nhạy cao đối với các tham số, cần được kiểm tra và tối ưu hóa cẩn thận. Chiến lược đảo ngược giảm quan trọng không có hiệu quả đối với tình trạng chấn động.

Những vấn đề này có thể được giải quyết bằng cách điều chỉnh các tham số và đưa ra các phán quyết phụ trợ khác.

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

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Điều chỉnh các tham số chiến lược con để phù hợp hơn với các đặc điểm cụ thể của giống;

  2. Các chỉ số phụ trợ như khối lượng và tỷ lệ biến động được đưa ra để cải thiện tính chính xác của các quyết định;

  3. Thêm mô hình học máy phán đoán, sử dụng dữ liệu lịch sử để tự động tối ưu hóa các tham số.

Tóm tắt

Chiến lược theo dõi đảo ngược kép, kết hợp chiến lược 123 đảo ngược và chiến lược giảm giá đảo ngược quan trọng, để thực hiện bảo hiểm kép để bắt đảo ngược. Nó kết hợp các lợi thế của chiến lược đảo ngược và chiến lược xu hướng, có triển vọng ứng dụng rộng rãi trong thực tế. Bằng cách tối ưu hóa tham số và mô hình, hiệu quả của chiến lược có thể được nâng cao hơn nữa, trở thành một công cụ quan trọng cho các nhà giao dịch đảo ngược.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/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
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
//
// 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

KRD(nLength) =>
    pos = 0.0
    xHH = highest(high[1], nLength)
    C1 = iff(high > xHH and close < close[1], true, false)
    pos := iff(C1, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & Key Reversal Down", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new high in prices.")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKRD = KRD(nLength)
pos = iff(posReversal123 == 1 and posKRD == 1 , 1,
	   iff(posReversal123 == -1 and posKRD == -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 )