Долгосрочная бычья стратегия, основанная на пересечении скользящих средних


Дата создания: 2024-02-04 14:56:00 Последнее изменение: 2024-02-04 14:56:00
Копировать: 1 Количество просмотров: 613
1
Подписаться
1617
Подписчики

Долгосрочная бычья стратегия, основанная на пересечении скользящих средних

Обзор

Эта стратегия является долголинейной стратегией отслеживания, основанной на скрещивании простых скользящих средних (СМА). Она производит отслеживание путем вычисления различных циклов SMA, генерирует сигнал покупки при прохождении длительных SMA на краткосрочных SMA. В то же время она также устанавливает стоп-стоп-потери на основе определенной доли цены входа, управляет риском позиций.

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

Стратегия основана на кристаллическом крестовом сигнале SMA для определения времени входа в рынок. В частности, она рассчитывает два различных цикла SMA, 9-й и 21-й линии. Когда короткосрочная 9-я линия пересекает более длинную 21-ю линию снизу, это означает, что цена акций переходит из фазы полного затяжения в фазу подъема, которая относится к хорошему времени для отслеживания, когда стратегия генерирует сигнал покупки для отслеживания.

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

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

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

Риски и решения

  • Смежные сигналы SMA могут иметь ложные прорывы, что приводит к ненужным потерям. Они могут быть объединены с другими показателями фильтрации сигналов.
  • Стоп-стоп-потери относительно одноразовые, и возможны случаи, когда ожидается стоп-стоп, а фактические потери. Можно рассмотреть возможность динамического отслеживания стоп-стоп-потерей.
  • Прибыль/убыток в фиксированном режиме, не поддается корректировке в зависимости от рыночной волатильности. Прибыль/убыток может быть установлена в комбинации с динамическим режимом ATR.
  • Существует определенная задержка во времени. Можно рассмотреть вопрос об уменьшении периодических параметров SMA или введении других ведущих показателей.

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

  • Добавление фильтров на другие индикаторы SMA, чтобы избежать ложного прорыва. Например, индикатор KDJ, индикатор волатильности и т. Д.
  • Динамическое отслеживание стоп-стоп-лосс. Например, используйте алгоритм Chandelier Exit.
  • При использовании показателя ATR, например, прибыль и убыток корректируются в зависимости от динамики рыночной волатильности.
  • Сокращение циклов SMA или введение других ведущих индикаторов, снижающих отставание.

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

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

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Masterdata

//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)

// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)

// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)

// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price

stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price

// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)

// Set the take profit and stop loss for the trade
if (longCondition)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)