Chiến lược định lượng chỉ số kép


Ngày tạo: 2023-12-21 10:59:16 sửa đổi lần cuối: 2023-12-21 10:59:16
sao chép: 1 Số nhấp chuột: 402
1
tập trung vào
1237
Người theo dõi

Chiến lược định lượng chỉ số kép

Tổng quan

Chiến lược này tạo ra tín hiệu giao dịch bằng cách kết hợp 123 chỉ số đảo ngược và chỉ số RAVI. Trong đó, 123 đảo ngược là chiến lược đảo ngược, sử dụng giá cổ phiếu trong hai ngày liên tiếp để xác định xu hướng giá trong tương lai. Chỉ số RAVI xác định liệu giá có lọt vào vùng quá mua quá bán hay không. Chiến lược quyết định thực hiện thêm tháo lỗ bằng cách đánh giá tổng hợp cả hai tín hiệu.

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

123 quay lại

Chỉ số này dựa trên giá trị K của chỉ số ngẫu nhiên. Cụ thể hơn, giá đóng cửa hiện tại thấp hơn hai ngày trước và làm nhiều hơn khi đường chậm ngẫu nhiên dưới 50 vào ngày 9. Giá đóng cửa hiện tại cao hơn hai ngày trước và đường nhanh ngẫu nhiên trên 50 vào ngày 9 bằng cách xác nhận vào cửa.

Chỉ số RAVI

Chỉ số này đánh giá mua bán bằng cách phân cách giữa đường nhanh và đường chậm. Cụ thể là đường trung bình 7 ngày và đường trung bình 65 ngày, khi lớn hơn một tham số nào đó thì làm nhiều, khi nhỏ hơn một tham số nào đó thì làm trống.

Tín hiệu chiến lược

Khi 123 quay ngược và RAVI đồng hướng làm nhiều dấu trượt sẽ tạo ra tín hiệu. Tín hiệu làm nhiều cho hai chỉ số là 1, tín hiệu làm trống cho hai chỉ số là -1. Như vậy, thông qua xác nhận kép chỉ số, tránh tín hiệu sai của chỉ số đơn.

Phân tích lợi thế

  • Sử dụng sự kết hợp của hai chỉ số có thể cải thiện độ chính xác của tín hiệu và tránh các tín hiệu sai
  • 123 sử dụng thông tin đường K, RAVI sử dụng thông tin đường đồng, đánh giá thị trường từ nhiều góc độ
  • Các tham số RAVI có thể điều chỉnh, có thể được tối ưu hóa cho các giống và môi trường thị trường khác nhau
  • Có thể nắm bắt và theo dõi xu hướng.

Rủi ro và tối ưu hóa

  • Gói chỉ số kép, dễ tạo ra tín hiệu không phù hợp. Các tham số chênh lệch giá có thể được xem xét, và khi hai chỉ số chênh lệch giá trong một tham số cũng có thể phát ra tín hiệu
  • 123 reversal thuộc chiến lược tần số cao, cần kết hợp với các chiến lược tần số thấp khác để giảm tần số giao dịch
  • RAVI có khả năng nắm bắt các xu hướng đường dài và đường trung bình, và Combine có thể giúp chiến lược của bạn chống lại rủi ro.

Tóm tắt

Chiến lược tổng hợp xem xét các yếu tố đảo ngược và yếu tố xu hướng, xác nhận giảm khả năng phát ra tín hiệu sai bằng cách xác định hai chỉ số. Bước tiếp theo, có thể giới thiệu các thuật toán học máy, để tối ưu hóa tham số thích ứng.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/05/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 indicator represents the relative convergence/divergence of the moving 
// averages of the financial asset, increased a hundred times. It is based on 
// a different principle than the ADX. Chande suggests a 13-week SMA as the 
// basis for the indicator. It represents the quarterly (3 months = 65 working days) 
// sentiments of the market participants concerning prices. The short moving average 
// comprises 10% of the one and is rounded to seven.
//
// 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


RAVI(LengthMAFast, LengthMASlow, TradeLine) =>
    pos = 0.0
    xMAF = sma(close, LengthMAFast)
    xMAS = sma(close, LengthMASlow)
    xRAVI = ((xMAF - xMAS) / xMAS) * 100
    pos:= iff(xRAVI > TradeLine, 1,
    	   iff(xRAVI < TradeLine, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Range Action Verification Index (RAVI)", 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, "---- Range Action Verification Index (RAVI) ----")
LengthMAFast = input(title="Length MA Fast", defval=7)
LengthMASlow = input(title="Length MA Slow", defval=65)
TradeLine = input(0.14, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRAVI = RAVI(LengthMAFast, LengthMASlow, TradeLine)
pos = iff(posReversal123 == 1 and posRAVI == 1 , 1,
	   iff(posReversal123 == -1 and posRAVI == -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 )