Стратегия двойного перехода


Дата создания: 2023-09-21 16:40:01 Последнее изменение: 2023-09-21 16:40:01
Копировать: 0 Количество просмотров: 606
1
Подписаться
1617
Подписчики

Обзор

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

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

Стратегия основана на двух средних показателях sma ((close, 14) и sma ((close, 28).

В первую очередь определим среднюю длину:

short_ma = sma(close, 14)
long_ma = sma(close, 28)

В конце концов, это был не тот случай, в котором я был бы счастлив.

longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)

Если вы используете долгосрочную среднюю линию в краткосрочной перспективе, то:

strategy.entry("Buy", strategy.long, when = longCondition) 

Прямая позиция при прохождении долгосрочной средней линии под краткосрочной средней линией:

strategy.close_all(when = shortCondition)

Принцип этой стратегии прост, используя двойную равнолинейную золотую спираль для суждения, с определенной способностью отслеживать тенденции.

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

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

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

  • Двухлинейная стратегия чувствительна к рыночным колебаниям и может привести к многократным убыточным сделкам.
  • Средняя линия является отсталой и может пропустить поворот цены
  • Позиции, созданные вблизи пересечения равновесия, легко могут быть заперты.
  • Необходимо оптимизировать параметры среднелинейных циклов, различные эффекты циклов могут быть разными
  • Невозможно быстро остановиться, когда тренд меняется насильственно

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

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

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

Можно попробовать различные краткосрочные и долгосрочные среднелинейные циклы, чтобы найти оптимальную комбинацию. Например, параметры (5, 10), (…, 10, 20), (…, 20, 60) и т.д.

  1. Добавить фильтрацию, чтобы избежать ложных сигналов

При пересечении средних линий могут быть добавлены фильтры, такие как объем сделки и разница в цене, чтобы избежать чрезмерной торговли на волатильных рынках.

  1. Увеличение стратегии по удержанию

Установка стоп-стоп или использование средней линии в качестве стоп-линии позволяет контролировать одиночные потери.

  1. В сочетании с другими показателями

Для улучшения эффективности стратегии можно использовать вспомогательные индикаторы, такие как MACD, KDJ и другие.

  1. Оптимизация входных мест

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

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

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

||

Overview

This strategy is designed based on the golden cross and death cross of dual moving averages. It goes long when the short period moving average crosses above the long period moving average, and closes position when the short period moving average crosses below the long period moving average. The strategy is simple and easy to understand, suitable for beginners to learn.

Strategy Logic

The strategy is mainly based on the sma(close, 14) and sma(close, 28) indicators.

First define the short and long moving averages:

short_ma = sma(close, 14)  
long_ma = sma(close, 28)

Then determine entry and exit based on golden cross and death cross:

longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma) 

Go long when the short MA crosses above the long MA:

strategy.entry("Buy", strategy.long, when = longCondition)

Close position when the short MA crosses below the long MA:

strategy.close_all(when = shortCondition) 

The logic is simple and clear, utilizing the crossovers of dual MAs to determine entries and exits. It has some trend following capacity.

Advantage Analysis

  • Simple logic, easy for beginners to use
  • Utilizes MA crossovers to determine trends
  • Customizable MA periods for parameter optimization
  • Allows stop loss to control single trade loss

Risk Analysis

  • Sensitive to market fluctuation, may generate multiple losing trades
  • Lagging nature of MAs, may miss price reversal points
  • Prone to being trapped near MA crossover points
  • Need to optimize MA periods, different periods may lead to different results
  • Unable to quickly cut loss when trend changes violently

Optimization Directions

The strategy can be optimized in the following aspects:

  1. Optimize MA periods to find the best combination

Test different short and long MA periods, such as (5, 10), (10, 20), (20, 60) etc to find the optimal combination.

  1. Add filters to avoid false signals

Add filters like trading volume, price gap etc. near MA crossovers to avoid excessive trades in ranging markets.

  1. Incorporate stop loss

Set stop loss price or use MA as stop loss line to control single trade loss.

  1. Combine with other indicators

Add auxiliary indicators like MACD, KDJ etc. to improve strategy performance.

  1. Optimize entry points

Find better entry points near MAs instead of entering right at the crossover. For example, enter on MA divergence points.

Summary

The dual MA strategy is simple for beginners to use. But it is sensitive to market fluctuations and has risks of losses. We can improve it by optimizing parameters, adding filters, incorporating stop loss, combining other indicators etc. It can perform well in strong trends but should be used with caution or proper stop loss in ranging markets.
[/trans]

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

//@version=2
// strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25)

minGainPercent = input(0.6)
gainMultiplier = minGainPercent * 0.01 + 1


longCondition = crossover(sma(close, 14), sma(close, 28))
shortCondition = crossunder(sma(close, 14), sma(close, 28))


avg_protection = input(1)
gain_protection = input(1)


strategy.entry("Buy", strategy.long, when = longCondition    and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition  and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))