
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.
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
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
Kết hợp hai tín hiệu
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.
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
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ả
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
Kết hợp tín hiệu kép, độ tin cậy cao hơn tín hiệu đơn
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
Rủi ro thất bại
Rủi ro thất bại
Rủi ro bị bỏ qua tín hiệu kép
Rủi ro tần suất giao dịch
Không gian tối ưu hóa tham số lớn
Có thể tham gia vào chiến lược dừng lỗ
Xem xét thêm điều kiện lọc
Tối ưu hóa kết hợp tín hiệu kép
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.
/*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 )