Стратегия циклической торговли на основе тренда


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

Стратегия циклической торговли на основе тренда

Обзор

Циклическая торговая стратегия, основанная на тенденции, - это количественная торговая стратегия, основанная на 200-дневных простых движущихся средних для определения направления тенденции. Эта стратегия предлагает две модели “следить за восходящей тенденцией” и “следить за нисходящей тенденцией”, которые можно выбрать в соответствии с предпочтениями трейдера.

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

Ключевым показателем стратегии является 200-дневная простая скользящая средняя. Стратегия делится на две модели:

  1. Следить за восходящей тенденцией: делать больше, когда цена закрытия выше 200-дневного скользящего среднего; снять позиции, когда возникают остановки или остановки.

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

Принятие нескольких условийlongConditionОпределение переменных, основанных на взаимосвязи между ценой закрытия и 200-дневным скользящим средним.closeConditionОпределение переменных, основанных на отношениях между стоп-стоп, ценой стоп-принтов и скользящей средней.

В частности, если выполняется несколько условий, то принятиеstrategy.entryОткрытие позиции, если выполняются условия для закрытия позиции,strategy.exitНикаких проблем.

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

Эта стратегия имеет следующие преимущества:

  1. Простая и понятная логика транзакций, легко понятная реализация.

  2. Существует два варианта, которые могут быть выбраны в соответствии с различными рыночными условиями.

  3. Риск-прибыль характеристики, которые могут быть скорректированы в стратегии путем настройки стоп-лосса и стоп-поста.

  4. Используйте 200-дневную скользящую среднюю для определения направления тенденции.

  5. Автоматически генерируемые торговые сигналы, не требующие человеческого вмешательства, снижают операционный риск.

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

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

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

  2. Стоп-потери и остановки слишком малы, подвержены рыночным колебаниям; слишком велики, могут пропустить идеальную точку выхода. Должны быть должным образом протестированы и оптимизированы параметры.

  3. При использовании сигналов по оценке по цене закрытия, существует отклонение в сторону потери / падения. Можно рассмотреть возможность изменения сущности по оценке по линии K или подтверждения следующей линии K после генерации сигнала.

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

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

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

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

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

  3. Добавление фильтрации трендов, торгуйте только в том случае, если тренд очевиден. Например, введение индикатора ADX.

  4. Изменение способа доступа, принятие во внимание отношений между субъектами линии K или включение в механизм подтверждения.

  5. Рассмотрим влияние объема торгов. Проверьте надежность сигнала при большом количестве.

  6. Тестирование различных параметров скользящих средних для поиска оптимальных.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L

//@version=5
strategy("Cycle Position Trading", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false)

// Input for selecting the mode
mode = input.string("Buy Uptrend", options = ["Buy Uptrend", "Buy Downtrend"])

// Input for customizing stop loss and take profit levels
stopLoss = input.float(0.9, title="Stop Loss (SL) level", step=0.01)
takeProfit = input.float(1.1, title="Take Profit (TP) level", step=0.01)

// Calculate the 200-day Simple Moving Average (SMA)
sma = ta.sma(close, 200)

// Plot the SMA on the chart
plot(sma)

// Define the conditions for entering a long position based on the selected mode
longCondition = mode == "Buy Uptrend" ? close > sma and close[5] > sma : close < sma

// Define the conditions for closing a position based on the selected mode
closeCondition = mode == "Buy Uptrend" ? (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close < sma * 0.95) : (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close > sma * 1.05)

// Execute a long position if the longCondition is met
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

// Close the position if the closeCondition is met
if (closeCondition)
    strategy.exit("Exit", limit = close)