Chiến lược đường trung bình động chỉ số đảo ngược kép


Ngày tạo: 2023-12-08 11:37:36 sửa đổi lần cuối: 2023-12-08 11:37:36
sao chép: 2 Số nhấp chuột: 650
1
tập trung vào
1621
Người theo dõi

Chiến lược đường trung bình động chỉ số đảo ngược kép

Tổng quan

Chiến lược đường trung bình chỉ số điểm xoay ngược kép là một chiến lược kết hợp giao dịch đảo ngược và kháng cự hỗ trợ động. Nó sử dụng chỉ số stok để xác định điểm xoay của thị trường và tính toán mức kháng cự hỗ trợ động kết hợp với giá thấp và giá đóng cửa cao trong ngày, đặt hàng khi cả hai tín hiệu chiến lược phát ra tín hiệu mua hoặc bán cùng một lúc.

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

Chiến lược đảo ngược

Chiến lược đảo ngược dựa trên nguyên tắc: khi thị trường bị đánh giá quá cao hoặc thấp, giá sẽ quay trở lại phạm vi giá trị. Cụ thể, chiến lược đảo ngược này được tham khảo bởi quy tắc của Ulf Jensen:

Khi giá đóng cửa 2 ngày liên tiếp cao hơn giá đóng cửa trước đó và đường Slow K ngày 9 thấp hơn 50, làm nhiều; Khi giá đóng cửa 2 ngày liên tiếp thấp hơn giá đóng cửa trước đó và đường Fast K ngày 9 cao hơn 50, làm trống.

Chiến lược hỗ trợ kháng cự động

Chiến lược kháng cự hỗ trợ động tính mức kháng cự hỗ trợ hàng ngày dựa trên giá cao nhất, giá thấp nhất và giá đóng cửa của ngày trước. Cách tính là:

Điểm trung tâm = ((giá cao + giá thấp + giá đóng cửa) / 3

Hỗ trợ 1 = điểm trung tâm - ((giá cao nhất - điểm trung tâm)

Kháng lực 1 = điểm trung tâm + (() điểm trung tâm - giá thấp nhất)

Khi giá đóng cửa cao hơn đường kháng cự 1 ngày, và khi giá đóng cửa thấp hơn đường hỗ trợ 1 ngày, hãy làm trống.

Tín hiệu kép

Chiến lược này kết hợp chiến lược đảo ngược và chiến lược kháng cự hỗ trợ động. Chỉ khi cả hai tín hiệu phát ra cùng một lúc, thì lệnh sẽ được đặt. Điều này có thể lọc ra một số giao dịch tiếng ồn và cải thiện sự ổn định.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược đường trung bình chỉ số điểm xoay ngược kép là kết hợp lợi thế của chiến lược đảo ngược và chiến lược kháng cự hỗ trợ động, có thể nắm bắt được xu hướng lớn hơn tại các điểm biến động của thị trường, đồng thời có thể đánh giá hướng dựa trên mối quan hệ của giá với các điểm quan trọng trong ngày. So với chiến lược đơn lẻ, nó có thể lọc một phần của tiếng ồn giao dịch và tăng sự ổn định.

Ngoài ra, chiến lược này có ít tham số, dễ thực hiện và tối ưu hóa.

Phân tích rủi ro

Chiến lược đường trung bình chỉ số điểm xoay ngược kép cũng có những rủi ro sau:

  • Rủi ro thất bại của sự đảo ngược. Giá thị trường có thể bị mở rộng quá mức, và giá tiếp tục hoạt động mà không có sự đảo ngược đáng kể sau khi tín hiệu đảo ngược được gửi.

  • Rủi ro bị phá vỡ ngưỡng hỗ trợ hoặc kháng cự. Giá có thể phá vỡ ngưỡng hỗ trợ hoặc kháng cự được tính toán trong ngày và tạo ra tín hiệu sai.

  • Các tín hiệu kép có nguy cơ quá bảo thủ và bỏ lỡ thị trường. Các cơ chế tín hiệu kép có thể lọc ra nhiều cơ hội giao dịch hơn.

Phản ứng:

  • Điều chỉnh các tham số phù hợp, xác định mức hỗ trợ và kháng cự chính.

  • Sử dụng Stop Loss để kiểm soát lỗ.

  • Điều chỉnh đúng quy tắc tín hiệu kép để giữ lại nhiều cơ hội giao dịch hơn.

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. Kiểm tra các tham số chỉ số Stokes khác nhau để xác định độ nhạy của tín hiệu đảo ngược.

  2. Tracking longer term trends. Kiểm tra xu hướng dài hạn.

  3. Thêm các yếu tố khác để xác định cấu trúc thị trường, chẳng hạn như chỉ số năng lượng khối lượng giao dịch.

  4. Tối ưu hóa quy tắc tín hiệu kép để cho phép nhiều cơ hội giao dịch hơn.

  5. Thêm chiến lược dừng lỗ để kiểm soát rủi ro.

Tóm tắt

Chiến lược đường thẳng chỉ số điểm xoay ngược kép kết hợp với giao dịch đảo ngược và phán đoán kháng cự hỗ trợ động, có thể mang lại lợi nhuận lớn hơn tại các điểm biến đổi của thị trường, đồng thời có thể đánh giá hướng xu hướng dựa trên mối quan hệ giữa giá và các điểm quan trọng trong ngày. So với chiến lược đơn lẻ, nó có thể lọc tiếng ồn, ổn định tốt hơn. Chiến lược này có thể tối ưu hóa các tham số thích hợp, kiểm tra các chỉ số khác để tăng hiệu quả.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/03/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 Pivot points is calculated on the current day.
// Pivot points simply took the high, low, and closing price from the previous period and 
// divided by 3 to find the pivot. From this pivot, traders would then base their 
// calculations for three support, and three resistance levels. The calculation for the most 
// basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and 
// resistance levels.
//
// 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

DPP() =>
    pos = 0
    xHigh  = security(syminfo.tickerid,"D", high[1])
    xLow   = security(syminfo.tickerid,"D", low[1])
    xClose = security(syminfo.tickerid,"D", close[1])
    vPP = (xHigh+xLow+xClose) / 3
    vR1 = vPP+(vPP-xLow)
    vS1 = vPP-(xHigh - vPP)
    pos := iff(close > vR1, 1,
             iff(close < vS1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Dynamic Pivot Point", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPP = DPP()
pos = iff(posReversal123 == 1 and posDPP == 1 , 1,
	   iff(posReversal123 == -1 and posDPP == -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 )