
Chiến lược cảnh báo lịch sử RSI đảo ngược kép tạo ra tín hiệu giao dịch chính xác hơn bằng cách kết hợp chiến lược 123 đảo ngược và chiến lược cảnh báo lịch sử RSI. Chiến lược 123 đảo ngược đánh giá điểm biến động giá, chiến lược cảnh báo lịch sử RSI đánh giá điểm bán tháo.
Chiến lược đảo ngược dựa trên giả định: tín hiệu đảo ngược giá cổ phiếu thường xuất hiện 2 ngày trước khi giá cổ phiếu đảo ngược.
Các quy định cụ thể là:
Chiến lược này sử dụng các mối quan hệ giá trị 2 ngày trước khi giá cổ phiếu đảo ngược để đánh giá điểm đảo ngược có thể. Trong khi đó, chỉ số K-line loại bỏ một số tín hiệu tiếng ồn.
Chiến lược cảnh báo lịch sử RSI được sửa đổi dựa trên các chỉ số RSI:
Chiến lược này tạo ra tín hiệu giao dịch bằng cách đánh giá kích thước tuyệt đối của chỉ số RSI, gợi ý tình trạng quá mua quá bán.
Chiến lược này kết hợp hai loại chiến lược khác nhau, có lợi thế bổ sung cho nhau, tạo ra tín hiệu đáng tin cậy hơn. Các lợi thế cụ thể là:
Chiến lược này có những rủi ro:
Các giải pháp tương ứng là:
Chiến lược này có thể được tối ưu hóa theo các hướng sau:
Chiến lược báo động lịch sử RSI đảo ngược kép có thể tạo ra tín hiệu giao dịch đáng tin cậy hơn bằng cách kết hợp chiến lược đảo ngược giá và chiến lược phán đoán mua bán quá mức. So với chiến lược đơn lẻ, có khả năng tín hiệu giả thấp hơn và có lợi thế về phán đoán toàn diện hơn. Chiến lược này có rất nhiều không gian tối ưu hóa, có thể nâng cao hơn nữa sự ổn định và khả năng lợi nhuận của chiến lược thông qua các phương tiện như điều chỉnh tham số, kiểm tra đa yếu tố và tối ưu hóa vị trí.
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/06/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
// This simple indicator modified RSI
//
// 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
RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify) =>
pos = 0.0
xPrice = close
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
pos:= iff(RSIMain > BuyAlertLevel, 1,
iff(RSIMain < SellAlertLevel, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & RSI HistoAlert", 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, "---- RSI HistoAlert ----")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRSI_Hist = RSI_Hist(RSIPeriod,BuyAlertLevel,SellAlertLevel,RSIHistoModify)
pos = iff(posReversal123 == 1 and posRSI_Hist == 1 , 1,
iff(posReversal123 == -1 and posRSI_Hist == -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 )