Краткосрочная стратегия разворота импульса


Дата создания: 2023-11-13 10:02:25 Последнее изменение: 2023-11-13 10:02:25
Копировать: 0 Количество просмотров: 604
1
Подписаться
1617
Подписчики

Краткосрочная стратегия разворота импульса

Обзор

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

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

  1. Вводящий параметр x представляет собой количество циклов проверки K-линии, при этом по умолчанию 5 представляет собой 5-минутную K-линию.

  2. Вычислить процентное изменение текущей цены закрытия линии K относительно цены закрытия до x цикла, сохранив trueChange1 и trueChange2.

  3. Вводящие параметры percentChangePos и percentChangeNeg представляют собой установленные процентные пороги изменения, по умолчанию 0.4% и -0.4% .

  4. Когда trueChange1 больше, чем percentChangePos, генерируется сигнал купить, когда trueChange2 меньше, чем percentChangeNeg, генерируется сигнал продать.

  5. Текстовые и фоновые маркировки для Buy и Sell.

  6. Условия входа и выхода в зависимости от настроек сигнала.

  7. Настройка сигнализации и картографии.

Стратегические преимущества

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

  2. Гибкость в установке процентных порогов положительных и отрицательных изменений, чтобы идентифицировать прорывы с обеих сторон пояса Брин.

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

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

  5. Простая, непосредственная логика сигналов покупки и продажи, легко понятная в использовании.

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

Стратегический риск

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

  2. Параметры по умолчанию могут не подходить для всех стандартов и требуют адаптации.

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

  4. Сигналы бывают частыми, а расходы на транзакции могут быть высокими.

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

Решение проблемы:

  1. Показатели, такие как линейная регрессия в сочетании с тенденцией, определяют большую тенденцию.

  2. Оптимизация параметров в зависимости от характеристик различных стандартов.

  3. Установка соответствующих условий для остановки убытков

  4. Фильтрация сигналов, чтобы избежать слишком частых сделок

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

Оптимизация стратегии

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

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

  3. Оптимизация позиции покупки и продажи, например, в сочетании с MACD и другими индикаторами.

  4. Автоматическая оптимизация параметров с использованием методов машинного обучения.

  5. Повышение оценки структуры рынка, чтобы избежать слепой торговли в условиях колебаний.

  6. Различия, такие как волатильность, ликвидность, динамические параметры настройки.

  7. В сочетании с высокоуровневым анализом временных циклов можно определить направление основных тенденций.

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

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

Исходный код стратегии
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by Oliver
strategy("Percentage Change strategy w/BG color", overlay=true, scale=scale.none, precision=2)

x = input(5, title = 'x candles difference', minval = 1)
trueChange1 = (close - close[x]) / close[x] * 100
percentChangePos = input(0.4, title="Percent Change")

//if (percentChange > trueChange) then Signal  

plotChar1 = if percentChangePos > trueChange1
    false
else
    true

plotchar(series=plotChar1, char='🥶', color=color.green, location=location.top, size = size.tiny )

trueChange2 = (close - close[x]) / close[x] * 100
percentChangeNeg = input(-0.4, title="Percent Change")

plotChar2 = if percentChangeNeg < trueChange2
    false
else
    true
plotchar(series=plotChar2, char='🥵', color=color.red, location=location.top, size = size.tiny)

//------------------------------------------------------------------------
UpColor() => percentChangePos < trueChange1
DownColor() => percentChangeNeg > trueChange2

//Up = percentChangePos < trueChange1
//Down = percentChangeNeg > trueChange2


col = percentChangePos < trueChange1 ? color.lime : percentChangeNeg > trueChange2 ? color.red : color.white
//--------
condColor = percentChangePos < trueChange1 ? color.new(color.lime,50) : percentChangeNeg > trueChange2 ? color.new(color.red,50) : na
//c_lineColor = condUp ? color.new(color.green, 97) : condDn ? color.new(color.maroon, 97) : na
//barcolor(Up ? color.blue : Down ? color.yellow : color.gray, transp=70)

//Background Highlights
//bgcolor(condColor, transp=70)


//---------

barcolor(UpColor() ? color.lime: DownColor() ? color.red : na)
bgcolor(UpColor() ? color.lime: DownColor() ? color.red : na)

//------------------------------------------------------------------------

buy = percentChangePos < trueChange1
sell = percentChangeNeg > trueChange2


//------------------------------------------------------------------------
/////////////// Alerts /////////////// 
alertcondition(buy, title='buy', message='Buy')
alertcondition(sell, title='sell', message='Sell')

//-------------------------------------------------

if (buy)
    strategy.entry("My Long Entry Id", strategy.long)

if (sell)
    strategy.entry("My Short Entry Id", strategy.short)


/////////////////// Plotting //////////////////////// 
plotshape(buy, title="buy", text="Buy", color=color.green, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.white, transp=0)  //plot for buy icon
plotshape(sell, title="sell", text="Sell", color=color.red, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.white, transp=0)