
Chiến lược này đầu tiên sử dụng chỉ số di chuyển trung bình của kỳ 2 và kỳ 20 để xây dựng chỉ số đường hai đồng bằng, để đánh giá xem giá có phá vỡ đường trung bình hay không, như là phán đoán cơ bản trong trường nhập. Đồng thời, các chỉ số phán đoán hỗ trợ các chỉ số cân bằng lực lượng không khí để tiếp tục xác định sức mạnh tương đối của nhiều đầu và đầu trống, lọc các hoạt động sai lầm.
Chỉ số đường trung bình 2⁄20
Chỉ số cân bằng lực lượng trên không
Kết hợp 2 chỉ số
Lợi thế lớn nhất của chiến lược kết hợp này là kết hợp các chỉ số khác nhau để đưa ra quyết định giao dịch đáng tin cậy hơn. Cụ thể, có một số lợi thế sau:
Tuy nhiên, chiến lược này cũng có một số rủi ro cần lưu ý:
Phản ứng:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này sử dụng chỉ số hai đường bằng nhau để đánh giá xu hướng lớn và sử dụng chỉ số cân bằng sức mạnh đa không gian để xác định thời gian nhập cảnh. Hai chỉ số được xác minh lẫn nhau, có thể làm giảm hiệu quả khả năng sai lệch. Các tham số chiến lược được lựa chọn linh hoạt, có thể được điều chỉnh tối ưu hóa cho các giống khác nhau.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 23/05/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
// This new indicator analyzes the balance between bullish and
// bearish sentiment.
// One can cay that it is an improved analogue of Elder Ray 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
BBB(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
value2 =close < open ?
close[1] < open ? math.max(high - close[1], close - low) : math.max(high - open, close - low) :
close > open ?
close[1] > open ? high - low : math.max(open - close[1], high - low) :
high - close > close - low ?
close[1] < open ? math.max(high - close[1], close - low) : high - open :
high - close < close - low ?
close[1] > open ? high - low : math.max(open - close, high - low) :
close[1] > open ? math.max(high - open, close - low) :
close[1] < open? math.max(open - close, high - low): high - low
nBBB = value2 - value
pos := nBBB < SellLevel ? -1 :
nBBB >= BuyLevel ? 1 : nz(pos[1], 0)
pos
strategy(title='Combo 2/20 EMA & Bull And Bear Balance', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bull And Bear Balance ═════●'
SellLevel = input.float(-15, step=0.01, group=I2)
BuyLevel = input.float(15, 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)
prePosBBB = BBB(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBBB == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBBB == 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)