Эта стратегия сочетает в себе индикатор кроссовера EMA и индикатор медвежьей силы для генерации краткосрочных медвежьих сигналов.
EMA Crossover: рассчитывает экспоненциальную скользящую среднюю (EMA) периода 2/20 и генерирует сигналы продажи, когда цена ниже EMA.
Bear Power: рассчитывает разницу между ценой закрытия и ценой открытия дня как
Сочетание этих двух показателей создает короткий сигнал, когда перекресток EMA <0 и мощность подъема <-1.
Стратегия открывает короткую позицию на основе сигнала продажи и закрывает позицию на основе сигнала выхода.
Кроссовер EMA может заранее предсказать точки переворота тренда.
Медвежья сила захватывает возможности короткой продажи во время сильного внутридневного падения.
Сочетание двух индикаторов помогает отфильтровать ложные прорывы и определить более сильный медвежий импульс.
Гибкие параметры подходят для различных продуктов и рыночных условий.
Функция обратного движения адаптируется к двусторонним рынкам.
Кроссовер EMA может отставать от оптимальных поворотных точек.
Сила медведя может генерировать ложные сигналы во время консолидации с диапазоном.
Она не может определить средне- и долгосрочные тенденции, и рискует оказаться в ловушке.
Настройка параметров, требуемая в качестве ненадлежащих настроек, таких как слишком короткий период EMA или слишком высокий порог продажи, может увеличить ложные сигналы.
Обратите внимание на ключевые экономические события, чтобы избежать запланированных торговых сессий.
Подумайте о добавлении стоп-лосса к лимиту по торговым потерям.
Добавьте фильтры, такие как индикаторы импульса, чтобы избежать слабых медвежих сигналов.
Добавить длинные периоды EMA для определения основного направления тренда и избежать контратендентных сделок.
Оптимизировать такие параметры, как адаптивный период EMA и динамический порог продажи.
Рассмотрим возможность объединения нескольких временных рамок для включения краткосрочных, среднесрочных и долгосрочных показателей.
Эта стратегия сначала использует перекресток EMA для определения основных трендов и точек переворота, затем захватывает сильные возможности продажи внутридневного использования с помощью индикатора медвежьей силы, формируя надежную краткосрочную медвежью стратегию. Преимущества заключаются в ее простоте, гибкости адаптации к различным рыночным условиям и способности обращать длинные / короткие направления. Однако остаются риски, такие как отсутствие оптимальных точек и генерирование ложных сигналов. Дальнейшие улучшения оптимизации параметров, добавление фильтров и стоп-лосс могут помочь повысить стабильность стратегии.
/*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)