Esta estrategia utiliza primero las líneas de promedio móvil dual de 2 períodos y 20 períodos EMA para determinar si el precio rompe los promedios móviles, como un criterio básico para ingresar al mercado. Al mismo tiempo, el indicador auxiliar
Indicador de media móvil doble
Indicador de equilibrio de poder del toro y el oso
Evaluación combinada de los dos indicadores
La mayor ventaja de esta estrategia combinada es la integración de indicadores de diferentes variedades para lograr un juicio comercial más confiable.
Hay que tener en cuenta algunos riesgos de esta estrategia:
Contramedidas:
La estrategia se puede optimizar aún más en los siguientes aspectos:
Esta estrategia juzga la tendencia principal a través de un indicador de media móvil doble y utiliza el indicador de balance de poder de los osos para ayudar a determinar el momento de entrada. Los dos indicadores se verifican entre sí y pueden reducir efectivamente la probabilidad de operaciones erróneas. Los parámetros de la estrategia son flexibles y se pueden optimizar para diferentes variedades. En general, la estrategia es simple y práctica, vale la pena aprender y usar por la mayoría de los inversores. Las optimizaciones posteriores pueden mejorar aún más el rendimiento de la estrategia.
/*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)