Стратегия экстремального распределения Swing


Дата создания: 2023-11-13 17:03:08 Последнее изменение: 2023-11-13 17:03:08
Копировать: 0 Количество просмотров: 653
1
Подписаться
1617
Подписчики

Стратегия экстремального распределения Swing

Эта стратегия предназначена для использования крайнего распределения для обнаружения крайних значений индикатора динамического колебания Чанде для торгов в 1-минутную временную рамку для биткойнов и криптовалют. Однако параметры могут быть скорректированы для использования в любой торговой паре.

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

Стратегия проверяет, находится ли значение Чанде в пределах крайних процентов, рассчитанных на основе последних сотен значений Чанде, и если да, то открывает позицию.

Стоп-лосс и стоп-стоп еще не интегрированы в эту стратегию, но это будет следующая функция, которая будет добавлена, чтобы максимально снизить потери и увеличить потенциальную прибыль.

Любая текущая криптовалютная пара может принести хорошие результаты на низкой временной шкале.

Мы также предлагаем бесплатные 15-минутные и 1-часовые стратегии.

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

Сначала стратегия рассчитывает динамический индикатор колебаний Чанде, который рассчитывается на основе изменения цены закрытия за день до закрытия. В частности, он измеряет динамику изменения цены, рассчитывая соотношение изменений вверх и соотношение изменений вниз.

Затем стратегия записывает значения Чанде за прошедшие определенные периоды (например, 425 циклов) и вычисляет различные процентные уровни. Когда текущие значения Чанде достигают предельных процентов от заданного значения (например, по умолчанию покупка составляет 1%, а продажа - 99%), сигнал открытия длинной/короткой позиции запускается.

Таким образом, стратегия может улавливать крайние прорывы в цене Chande, позволяя улавливать внезапные тенденции. В то же время, также избегается риск повторного открытия позиции при длительном сохранении экстремального состояния в цене Chande.

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

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

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

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

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

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

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

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

  4. Сочетание нескольких временных рамок, определение направления тенденции в высоких временных рамах, вывод на рынок в низких временных рамах.

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

  6. Внедрение алгоритмов машинного обучения с использованием ИИ для оптимизации параметров и условий фильтрации, для динамической корректировки.

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

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

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

//@version=4
strategy("Chande Minute Swinger", overlay=true)

//Chande

length = input(9, minval=1)
src = close
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)

//Parameters to change

lengthLookback = 425 //425 golden number
buyPercentile = 1
sellPercentile = 99
linePercentileLow = 2.5
linePercentileHigh = 97.5

buy = percentile_nearest_rank(chandeMO, lengthLookback, buyPercentile)
exitBuy= percentile_nearest_rank(chandeMO, lengthLookback, linePercentileHigh)
sell = percentile_nearest_rank(chandeMO, lengthLookback, sellPercentile)
exitSell = percentile_nearest_rank(chandeMO, lengthLookback, linePercentileLow)

chandeMA = sma(chandeMO, 9) //sma for potential other strategies implementing cross / trend

//Entry conditions

closeLongCondition = chandeMO > exitBuy ? true : false
closeShortCondition = chandeMO < exitSell ? true : false
longCondition = chandeMO < buy
shortCondition = chandeMO > sell

if (longCondition)
    strategy.entry("long", strategy.long)
    

if (shortCondition)
    strategy.entry("short", strategy.short)
    
//Introducing the closes and a stoploss will minimise loss and bring up the sharpe ratio
//Current settings are enabled for maximum potential but big risk
    
//strategy.close("long", when=(closeLongCondition == true))
//strategy.close("short", when=(closeShortCondition == true))