Chiến lược theo dõi đảo ngược định lượng của hai tổ chức


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

Chiến lược theo dõi đảo ngược định lượng của hai tổ chức

Tổng quan

Chiến lược này tích hợp các lợi thế của chỉ số hai cơ quan, sử dụng tín hiệu đảo ngược định hình 123, hỗ trợ tín hiệu năng lượng lượng định lượng bằng chỉ số tích cực, để nắm bắt các hoạt động đảo ngược đường ngắn.

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

  1. 123 hình dạng phán đoán tín hiệu đảo ngược

    • Xây dựng đường nhanh và đường chậm bằng chỉ số 9 ngày của Stoch

    • Khi giá đóng cửa giảm hai ngày liên tiếp, giá đóng cửa tăng lên vào ngày thứ ba và đường nhanh của Stoch thấp hơn 50, tạo ra tín hiệu mua

    • Khi giá đóng cửa tăng hai ngày liên tiếp, giá đóng cửa giảm vào ngày thứ ba, và đường Stoch nhanh hơn 50, tạo ra tín hiệu bán

  2. Chỉ số chính xác tín hiệu năng lượng

    • Chỉ số khối lượng chính (PVI) có thể đánh giá sự thay đổi khối lượng giao dịch bằng cách so sánh ngày hôm qua và ngày hôm nay

    • Khi PVI vượt qua đường trung bình di chuyển N ngày của nó, chỉ số có thể được phóng to, tạo ra tín hiệu mua

    • Khi PVI đi qua đường trung bình di chuyển N ngày của nó, chỉ số có thể thu hẹp, tạo ra một tín hiệu bán

  3. Kết hợp hai tín hiệu

    • Tín hiệu giao dịch chỉ được tạo ra khi tín hiệu 123 reverse và tín hiệu năng lượng PVI phát ra đồng hướng

Tóm lại, chiến lược này tận dụng lợi thế của chỉ số của cả hai cơ quan để xác định hiệu quả các cơ hội đảo ngược giá cả đường ngắn.

Phân tích lợi thế

  1. Xác định hình dạng, có thể nắm bắt các điểm quay vòng ngắn quan trọng

  2. Chỉ số năng lượng PVI, đánh giá sự hợp tác giữa giá và số lượng, tránh phá vỡ giả

  3. Các tham số Stoch được tối ưu hóa để lọc các tín hiệu vô hiệu trong hầu hết các khu vực bồn chồn

  4. Kết hợp tín hiệu kép, độ tin cậy cao hơn tín hiệu đơn

  5. Sử dụng phán đoán trong ngày, tránh rủi ro qua đêm, phù hợp cho hoạt động ngắn hạn

Phân tích rủi ro

  1. Rủi ro thất bại

    • Tín hiệu đảo ngược hình dạng 123 không phải lúc nào cũng hiệu quả, có nguy cơ thất bại hình dạng
  2. Rủi ro thất bại

    • Trong một số trường hợp đặc biệt, các chỉ số như Stoch và PVI sẽ không có hiệu lực
  3. Rủi ro bị bỏ qua tín hiệu kép

    • Các điều kiện tín hiệu song song song song song là nghiêm ngặt hơn, có thể bỏ qua một số cơ hội tín hiệu đơn phương
  4. Rủi ro tần suất giao dịch

    • Tỷ lệ giao dịch chiến lược cao, cần giám sát chặt chẽ vị trí và kiểm soát gió

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

  1. Không gian tối ưu hóa tham số lớn

    • Các tham số như thời gian cửa sổ Stoch, số chu kỳ PVI có không gian tối ưu hóa
  2. Có thể tham gia vào chiến lược dừng lỗ

    • Có thể kết hợp chiến lược bảo đảm dừng lỗ di động
  3. Xem xét thêm điều kiện lọc

    • Có thể kiểm tra thêm các chỉ số sóng xung quanh như đường trung bình, dao động
  4. Tối ưu hóa kết hợp tín hiệu kép

    • Có thể kiểm tra nhiều đợt đánh giá hợp nhất của hai chỉ số

Tóm tắt

Chiến lược này tạo thành một chiến lược giao dịch đảo ngược giá trị ngắn hạn có độ tin cậy cao thông qua sự kết hợp của chỉ số Stoch và chỉ số PVI. Với tỷ lệ thắng và kỳ vọng tích cực cao hơn so với chỉ số đơn lẻ. Bằng cách tối ưu hóa tham số và cài đặt kiểm soát rủi ro, tỷ lệ Sharpe có thể được mở rộng hơn nữa.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/04/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 theory behind the indexes is as follows: On days of increasing volume, 
// you can expect prices to increase, and on days of decreasing volume, you can 
// expect prices to decrease. This goes with the idea of the market being in-gear 
// and out-of-gear. Both PVI and NVI work in similar fashions: Both are a running 
// cumulative of values, which means you either keep adding or subtracting price 
// rate of change each day to the previous day`s sum. In the case of PVI, if today`s 
// volume is less than yesterday`s, don`t add anything; if today`s volume is greater, 
// then add today`s price rate of change. For NVI, add today`s price rate of change 
// only if today`s volume is less than yesterday`s.
//
// 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


PVI(EMA_Len) =>
    pos = 0.0
    xROC = roc(close, 1)
    nRes = 0.0
    nResEMA = 0.0
    nRes := iff(volume > volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
    nResEMA := ema(nRes, EMA_Len)
    pos := iff(nRes > nResEMA, 1,
        	 iff(nRes < nResEMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Positive Volume Index", 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, "---- Positive Volume Index ----")
EMA_Len = input(255, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPVI = PVI(EMA_Len)
pos = iff(posReversal123 == 1 and posPVI == 1 , 1,
	   iff(posReversal123 == -1 and posPVI == -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 )