
Chiến lược này kết hợp các chỉ số tiền đạo đồng bằng và chỉ số sức mạnh của con gấu để tạo ra tín hiệu hướng giảm ngắn hạn. Chỉ số tiền đạo đồng bằng đánh giá xu hướng, chỉ số sức mạnh của con gấu xác định thời gian nghỉ ngơi. Chiến lược này phù hợp với hoạt động ngắn hạn, theo dõi hành vi điều chỉnh thị trường.
Chỉ số hàng đầu trung bình: tính toán chỉ số trung bình di chuyển EMA của chu kỳ 2⁄20, giảm khi giá thấp hơn SMA và tăng khi cao hơn SMA.
Chỉ số sức mạnh gấu: tính toán chênh lệch giữa giá đóng cửa và giá mở cửa trong ngày, làm giá trị sức mạnh gấu. Nếu sức mạnh lớn hơn tham số bán tháo được đặt trước, tín hiệu gấuish, -1 làm trống; Nếu sức mạnh nhỏ hơn tham số mua mua được đặt trước, tín hiệu đa đầu, 1 làm nhiều; Nếu không thì giữ bằng 0
Kết hợp hai chỉ số, tạo ra tín hiệu tắt khi chỉ số đường trung bình và chỉ số sức mạnh gấu <-1
Theo tín hiệu giảm giá, chiến lược mở vị trí giảm giá; theo tín hiệu giảm giá, chiến lược xóa vị trí. Các tham số đảo ngược có thể được thiết lập, điều chỉnh hướng giảm giá nhiều hơn.
Chỉ số đường trung bình có thể dự đoán trước điểm đảo ngược xu hướng.
Chỉ số sức mạnh của gấu có thể nắm bắt thời gian giảm giá mạnh trong ngày.
Các chỉ số kép kết hợp có thể lọc các đột phá giả mạo, xác định điểm dừng ngắn của đường giảm mạnh hơn.
Các tham số có thể được điều chỉnh linh hoạt để phù hợp với các giống và môi trường thị trường khác nhau.
Có thể làm theo chiều ngược, đối phó với tình trạng hai chiều của nhiều không gian.
Chỉ số đường trung bình có sự chậm trễ, có thể bỏ lỡ điểm tốt nhất để đảo ngược xu hướng.
Chỉ số sức mạnh gấu có thể gây ra tín hiệu sai cho thị trường biến động.
Không thể xác định được đường dài của xu hướng, có nguy cơ bị mắc kẹt.
Cần cẩn thận lựa chọn các tham số, chẳng hạn như chu kỳ EMA quá ngắn, bán threshold quá lớn sẽ làm tăng tín hiệu giả.
Cần chú ý đến việc công bố các dữ liệu kinh tế quan trọng và tránh các giai đoạn giao dịch dự kiến.
Có thể xem xét thêm chiến lược dừng lỗ để giảm tổn thất đơn lẻ.
Có thể kết hợp với các bộ lọc như chỉ số động lượng, giảm tín hiệu sai lệch yếu hơn.
Có thể thêm đường trung bình chu kỳ dài hơn để xác định hướng của xu hướng lớn, tránh hoạt động ngược.
Cài đặt tham số có thể được tối ưu hóa, chẳng hạn như thích ứng với chu kỳ EMA, điều chỉnh giá trị bán thềm trong thời gian thực.
Có thể xem xét sự kết hợp theo chu kỳ thời gian, đồng thời chú ý đến các tín hiệu chỉ số ngắn và dài.
Chiến lược này được sử dụng để đánh giá trước các biến động lớn và các điểm đảo ngược xu hướng, sau đó sử dụng chỉ số sức mạnh của gấu để nắm bắt thời điểm giảm giá mạnh mẽ trong ngày, tạo thành chiến lược giảm giá ngắn. Ưu điểm của chiến lược là đơn giản thực tế, có thể điều chỉnh các tham số linh hoạt để thích ứng với các môi trường thị trường khác nhau, và có thể đảo ngược nhiều hướng giảm giá.
/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 19/04/2022
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// Bear Power Indicator
// To get more information please see "Bull And Bear Balance Indicator"
// by Vadim Gimelfarb.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
pos = 0.0
xPrice = close
xXA = ta.ema(xPrice, Length)
nHH = math.max(high, high[1])
nLL = math.min(low, low[1])
nXS = nLL > xXA or nHH < xXA ? nLL : nHH
iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
pos := nXS > close[1] ? -1 : iff_1
pos
BP(SellLevel,BuyLevel) =>
pos = 0.0
value = close < open ?
close[1] > open ? math.max(close - open, high - low): high - low:
close > open ?
close[1] > open ? math.max(close[1] - low, high - close): math.max(open - low, high - close):
high - close > close - low ?
close[1] > open ? math.max(close[1] - open, high - low) : high - low :
high - close < close - low ?
close > open ? math.max(close - low, high - close) : open - low :
close > open ? math.max(close[1] - open, high - close) :
close[1] < open ? math.max(open - low, high - close) : high - low
pos := value > SellLevel ? -1 :
value <= BuyLevel ? 1 :nz(pos[1], 0)
pos
strategy(title='Combo 2/20 EMA & Bear Power', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bear Power ═════●'
SellLevel = input.float(10, step=0.01, group=I2)
BuyLevel = input.float(1, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBP = BP(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBP == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBP == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)