Скользящая средняя опережающий индикатор краткосрочная стратегия коротких продаж


Дата создания: 2023-10-17 14:00:41 Последнее изменение: 2023-10-17 14:00:41
Копировать: 1 Количество просмотров: 699
1
Подписаться
1617
Подписчики

Скользящая средняя опережающий индикатор краткосрочная стратегия коротких продаж

Обзор

Эта стратегия сочетает в себе показатели равновесия и силы медведей, чтобы создать краткосрочный сигнал о понижении. Показатели равновесия и силы медведей определяют тенденцию, а силы медведей определяют свободный момент.

Стратегический принцип

  1. Среднелинейный предыдущий индикатор: рассчитывается показательная скользящая средняя EMA на 220 циклов, когда цена ниже SMA и понижается, когда она выше.

  2. Медвежий показатель силы: рассчитывается разница между ценой закрытия и ценой открытия в день, как значение силы . Сила больше, чем заданный продажи параметров, для медвежьего ish сигнала, -1, чтобы сделать пустой; Сила меньше, чем заданные покупать параметры, для многоглазый сигнала, 1, чтобы сделать больше; в противном случае, чтобы оставаться равной 0.

  3. Объединение двух индикаторов создает сигнал замыкания, когда средний предыдущий показатель и медвежий показатель <-1 .

  4. В зависимости от сигнала дисконтирования, стратегия открывает позицию и делает дисконтирование; в зависимости от сигнала дисконтирования, стратегия устраняет позицию. Можно настроить параметр обратного отсчета, который будет скорректирован в сторону дисконтирования.

Анализ преимуществ

  1. Среднелинейный предварительный индикатор позволяет заранее определить обратный момент тренда.

  2. Показатель силы медведя позволяет зафиксировать сильные падения в течение дня.

  3. Комбинированный бинарный индикатор, который может отфильтровывать ложные прорывы, определяет короткие линии с более сильными падениями и точки заикания.

  4. Настраиваемые параметры гибкие, подходят для разных сортов и рыночных условий.

  5. Можно поменять направление вдоль, чтобы справиться с двунаправленным движением.

Анализ рисков

  1. Среднелинейный индикатор задерживается и может пропустить оптимальную точку для изменения тренда.

  2. Индекс медвежьей силы может привести к ошибочным сигналам в отношении рыночных колебаний.

  3. Невозможно определить длинную линию тренда, существует риск быть подкованным.

  4. Необходимо тщательно выбирать параметры, такие как слишком короткий цикл EMA, продажа слишком большого порога и т. Д. Это увеличивает ложный сигнал.

  5. Необходимо обращать внимание на публикацию важных экономических данных и избегать планируемой торговли в определенный период времени.

Направление оптимизации

  1. Можно рассмотреть возможность включения стратегии Stop Loss, чтобы снизить индивидуальные потери.

  2. Вместе с фильтрами, такими как индикатор динамики, уменьшается количество ложных сигналов, которые могут быть слабыми.

  3. Добавляется более длинная средняя циклическая линия, которая определяет направление тенденции, избегая обратной операции.

  4. Оптимизируемые параметры, такие как адаптация к циклам EMA, коррекция в режиме реального времени продажи и т. д.

  5. Можно рассматривать комбинации с различными временными периодами, обращая внимание на короткие, средние и длинные индикаторные сигналы.

Подвести итог

Эта стратегия сначала использует среднюю линию, чтобы определить движение большого пакета и обратную точку тренда, а затем использует индикатор силы медведя, чтобы захватить сильный короткий день, чтобы сформировать более сильную короткую линию. Преимущество стратегии заключается в том, что она проста и практична, может гибко адаптироваться к различным рыночным условиям и может быть обращена в обратном направлении.

Исходный код стратегии
/*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)