Торговые стратегии, основанные на скорости изменения


Дата создания: 2023-09-28 11:26:44 Последнее изменение: 2023-09-28 11:26:44
Копировать: 1 Количество просмотров: 642
1
Подписаться
1617
Подписчики

Обзор

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

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

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

  1. Быстрая простая скользящая средняя ((по умолчанию 14 дней): краткосрочные тенденции, используемые для оценки цен
  2. Медленно-простые скользящие средние ((по умолчанию 100 дней): используются для определения долгосрочных тенденций цен
  3. Справочная простая скользящая средняя ((по умолчанию 30 дней): используется для определения широкого направления покупок и продаж
  4. Изменение: измерение колебаний цены путем расчета максимальных и минимальных изменений цены за определенный период времени (на 12 K-линий)

Конкретные правила:

  1. Цены ниже базовой простой скользящей средней
  2. Изменение выше установленного порога низкой изменчивости (по умолчанию 2,3%)
  3. Быстрый рост SMA и медленный падение SMA указывают на то, что две кривые могут пересекаться

В частности, продажи:

  1. Цены выше от базовой простой скользящей средней
  2. Изменение выше установленного порога высокой изменчивости (по умолчанию 4,7%)
  3. Цены выросли на 3 K-линии
  4. Нынешняя прибыль
  5. Быстрый SMA выше медленного SMA

Размер заказа устанавливается в процентах от общей доли прав (по умолчанию 96%), что дает возможность использовать рычаг.

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

Основные преимущества этой стратегии:

  1. Используя коэффициент изменения для оценки колебаний, можно воспользоваться возможностью быстрого роста или падения цен в краткосрочной перспективе для достижения более высокой прибыли.
  2. В сочетании с динамикой SMA, можно более точно определить, когда стоит покупать или продавать.
  3. Настройка СМА в качестве ориентира позволяет избежать ошибочного понимания коротких линий, отмеченных ценами.
  4. Использование стоп-лосса для блокировки прибыли и снижения риска.
  5. Размер заказов дает рычаг для увеличения прибыли.

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

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

Также существуют следующие риски:

  1. Неправильная настройка параметров изменения коэффициента и SMA может привести к ошибкам или ошибкам в торговых сигналах. Параметры необходимо корректировать для разных рынков.

  2. Оптимизировать объем заказов на тестовом этапе рекомендуется.

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

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

  5. Риск отслеживания данных соответствия. Должна быть проведена многократная экспериментальная проверка стратегии на разных рынках.

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

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

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

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

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

  3. В сочетании со стратегией прорыва, устанавливается сигнал прорыва вблизи ключевых уровней цены.

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

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

  6. Учитывайте особенности различных видов, таких как акции, иностранная валюта и т. д., и установите специальный набор параметров.

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

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

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

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

// @version=4
// Author: Sonny Parlin (highschool dropout)
// Best if run on 5m timeframe
strategy(shorttitle="ROC+Strategy", title="Rate of Change Strategy",
                                      overlay=true,  currency=currency.USD,
                                      initial_capital=10000)

// Inputs and variables
ss = input(14, minval=10, maxval=50, title="SMA Fast (days)")
ff = input(100, minval=55, maxval=200, title="SMA Slow (days)")
ref = input(30, minval=20, maxval=50, title="SMA Reference (days)")
lowOffset = input(0.023, "ROC Low (%)", minval=0, step=0.01)
highOffset = input(0.047, "ROC High (%)", minval=0, step=0.01)
orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01)
lookback = input(12, "Lookback Candles", minval=1, step=1) 

// SMA
smaFast = sma(close, ss)
smaSlow = sma(close, ff)
smaRef = sma(close, ref)
ROC = (max(close[lookback],close) - min(close[lookback],close)) / max(close[lookback],close)

// Set up SMA plot but don't show by default
plot(smaFast, "smaFast", color=#00ff00, display = 0)
plot(smaSlow, "smaSlow", color=#ff0000, display = 0)
plot(smaRef, "smaRef", color=#ffffff, display = 0)

// The buy stratey:
// Guard that the low is under our SMA Reference line 
// Guard that the rate of change over the lookback period is greater than our 
// ROC lowOffset %, default is 0.023. (low < smaRef) and (ROC > lowOffset)
// SMA fast is on the rise and SMA slow is falling and they are very likely
// to cross. (rising(smaFast,1)) and (falling(smaSlow, 1)) 
enterLong = (low < smaRef) and (ROC > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow,1)) 

// The sell Strategy:
// Guard that close is higher than our SMA reference line and that the rate of 
// change over the lookback period is greater than our highOffset %, default
// is 0.047. (close > smaRef) and (ROC > highOffset)
// Guard that close has risen by 3 candles in a row (rising(close,3)) 
// Guard that we currently have profit (strategy.openprofit > 0)
// Guard that SMA fast is higher than smaSlow (smaFast > smaSlow)
// If it keeps going up past our close position the trailing stoploss will kick in!
enterShort = (close > smaRef) and (ROC > highOffset) and (rising(close,3)) and (strategy.openprofit > 0) and (smaFast > smaSlow)

// Order size is based on total equity
// Example 1:
// startingEquity = 2000
// close = 47434.93
// orderStake = 0.45
// (2,000 × orderStake) / close = orderSize = 0.0189733599 = approx $900

// Example 2:
// startingEquity = 2000
// close = 1.272
// orderStake = 0.45
// (startingEquity × orderStake) / close = orderSize = 707.5471698113 = approx $900
orderSize = (strategy.equity * orderStake) / close

// Trailing Stoploss
// I'm using 2.62 as my default value, play with this for different results.
longTrailPerc = input(title="Trailing Stoploss (%)",
     type=input.float, minval=0.0, step=0.1, defval=3.62) * 0.01
     
longStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0

if (enterLong)
    strategy.entry("Open Long Position", strategy.long, orderSize, when=strategy.position_size <= 0)
    
if (enterShort)
    strategy.exit(id="Close Long Position", stop=longStopPrice)


//plot(strategy.equity)