Chiến lược giao dịch hỗn hợp đảo ngược nhiều yếu tố

Tác giả:ChaoZhang, Ngày: 2023-09-20 15:13:58
Tags:

Tổng quan

Chiến lược này kết hợp nhiều chỉ số đảo ngược để có các vị trí ngược hướng khi các tín hiệu đảo ngược giá xuất hiện.

Chiến lược logic

  1. Đầu tiên, hệ thống đảo ngược 123 được sử dụng để xác định các tín hiệu đảo ngược giá, dựa trên hành động giá của hai thanh liên tiếp và chỉ số Stochastic.

  2. Thứ hai, chỉ số Fast and Slow Kurtosis (FSK) đánh giá sự đảo ngược tâm lý dựa trên gia tốc động lực.

  3. Hệ thống đảo ngược 123 và chỉ số đảo ngược FSK được kết hợp như một sự kết hợp.

  4. Giao dịch ngược có thể được kích hoạt, rút ngắn khi tín hiệu ban đầu dài, và ngược lại.

Phân tích lợi thế

  1. Kết hợp nhiều yếu tố có thể cải thiện độ chính xác tín hiệu và tránh tín hiệu sai.

  2. Hệ thống 123 và chỉ số FSK bổ sung nhau trong việc phát hiện sự đảo ngược qua các khung thời gian.

  3. Giao dịch ngược cho phép lợi nhuận từ những sự đảo ngược mạnh.

  4. Sử dụng nhiều yếu tố đảo ngược tăng cường tính mạnh mẽ của chiến lược.

  5. Dễ hiểu và thực hiện, phù hợp với những người mới bắt đầu giao dịch số lượng.

Phân tích rủi ro

  1. Các tín hiệu đảo ngược có thể tạo ra các tín hiệu sai dẫn đến tổn thất.

  2. Thời điểm không phù hợp của sự đảo ngược có thể dẫn đến việc theo đuổi đỉnh và đáy.

  3. Giao dịch ngược có thể tạo ra tổn thất trong xu hướng bền vững.

  4. Tối ưu hóa tham số không đúng dẫn đến quá phù hợp.

  5. Tần suất giao dịch cao có thể gây ra chi phí giao dịch cao hơn.

Hướng dẫn tối ưu hóa

  1. Thử thêm các yếu tố đảo ngược khác như RSI, KD để làm giàu sự kết hợp.

  2. Tối ưu hóa các tham số để có độ nhạy tốt hơn của chỉ số.

  3. Thêm bộ lọc xu hướng để tránh giao dịch ngược xu hướng.

  4. Sử dụng kích thước vị trí năng động để tối ưu hóa hiệu quả vốn.

  5. Tối ưu hóa dừng lỗ để hạn chế lỗ cho mỗi giao dịch.

  6. Đánh giá tác động của chi phí giao dịch để tránh giao dịch quá mức.

Kết luận

Chiến lược này kết hợp hệ thống đảo ngược 123 và chỉ số FSK để giao dịch đảo ngược giá theo hướng ngược. Nó có thể lọc các tín hiệu sai và cải thiện độ chính xác. Nhưng các chiến lược đảo ngược phải đối mặt với rủi ro đảo ngược không chắc chắn.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/10/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 Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// 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

FSK(Triger) =>
    pos = 0.0
    xMOM_R = mom(mom(close, 3), 1)
    xMOM_RAvr = ema(xMOM_R, 65)
    xMOM_RWAvr = wma(xMOM_RAvr, 3)
    pos := iff(xMOM_RAvr > Triger and xMOM_RWAvr > Triger, 1,-1) 
    pos

strategy(title="Combo Backtest 123 Reversal & FSK (Fast and Slow Kurtosis)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Triger = input(0, minval=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFSK = FSK(Triger)
pos = iff(posReversal123 == 1 and posFSK == 1 , 1,
	   iff(posReversal123 == -1 and posFSK == -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