Стратегия динамического прорыва порогового изменения цены


Дата создания: 2024-04-01 12:03:59 Последнее изменение: 2024-04-01 12:03:59
Копировать: 0 Количество просмотров: 631
1
Подписаться
1617
Подписчики

Стратегия динамического прорыва порогового изменения цены

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

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

В основе стратегии лежит вычисление коэффициента изменения цены, полученного путем вычитания 1 от предыдущей цены закрытия. Затем вычисленный коэффициент изменения цены сравнивается с вводимым пользователем значением понижения. Если коэффициент изменения цены выше, чем равнозначно понижению, то в случае отсутствия позиций или свободных позиций в настоящее время создается сигнал к покупке; если коэффициент изменения цены меньше, чем равнозначно понижению, то в случае отсутствия позиций или свободных позиций в настоящее время создается сигнал продажи.

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

  1. Эта стратегия использует динамическую пониженную стоимость, которая может быть адаптирована к различным рыночным условиям и имеет определенную гибкость.
  2. Стратегическая логика проста и понятна, легко понятна и реализуема.
  3. Установка стоп-лосса, в какой-то степени контролируя риск.
  4. Подходит для использования в наркологических ситуациях, эффективно фиксирует тенденции наркомании.

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

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

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

  1. Для повышения надежности стратегии можно рассмотреть возможность внедрения дополнительных показателей, таких как объем сделок, волатильность и т.д.
  2. Можно оптимизировать параметры остановки убытков, например, использовать мобильную остановку или динамическую остановку, чтобы сделать остановку более гибкой.
  3. Можно оптимизировать параметры, такие как величина порога, циклы расчета остановки, чтобы найти оптимальное сочетание параметров.
  4. Можно присоединиться к управлению позициями, динамически корректируя позиции в зависимости от рыночных условий, чтобы контролировать риск.

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

“Динамическая стратегия преодоления ценовых изменений в падении” создает торговый сигнал, сравнивая скорость изменения цен с динамической падением, и подходит для использования в условиях повышения. Логика стратегии проста и ясна, имеет определенную гибкость и способность контролировать риск. Однако в этой стратегии также есть некоторые недостатки, такие как частота торговли, которая может возникать в условиях шока, недостаточная гибкость настройки остановочных потерь и т. Д. В будущем можно рассмотреть оптимизацию стратегии с помощью введения большего количества показателей, оптимизации настройки остановочных потерь, оптимизации параметров и добавления управления позициями для дальнейшего улучшения эффективности стратегии.

Исходный код стратегии
/*backtest
start: 2023-04-01 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Price Change", shorttitle="Price Change", overlay=true)

change = input(00.1, title="Change", minval=0.0001, maxval=1, type=input.float)


// Calculate price change
priceChange = close / close[1] - 1

// Buy and Sell Signals
buyp = priceChange >= change
sellp = priceChange <= (change * -1)

// Initialize position and track the current position
var int position = na

// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)

var float stop = na

if (buy_condition)
    strategy.entry("Long", strategy.long)
    stop := lowest(low, 6)
    position := 1
if (sell_condition or low < stop)
    strategy.close("Long")
    position := -1

// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)