Стратегия следования за трендом на основе линии MA


Дата создания: 2024-02-22 17:24:02 Последнее изменение: 2024-02-22 17:24:02
Копировать: 0 Количество просмотров: 589
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе линии MA

Обзор

Эта стратегия определяет направление рыночных тенденций, рассчитывая движущиеся средние МА различных периодов, делая больше, когда тенденция идет вверх, и делая пустоту, когда тенденция идет вниз, для достижения отслеживания тенденции.

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

  1. Вычислить MA-линии с 20 циклами, 60 циклами и 120 циклами
  2. Сравнение отношений размеров MA20, MA60 и MA120 для определения направления текущих тенденций
    • Если MA20>MA60>MA120, то это будет восходящий тренд.
    • Если MA20
  3. Дополнительный вход на MA20 при ношении MA60, пополнительный вход на MA20 при ношении MA60
  4. С точки зрения MA60 как отметки для остановки убытка
    • В 3 раза больше, чем у MA60
    • В 0,9 раза больше, чем у MA60

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

  1. Используйте комбинацию МА разных периодов для определения тенденции, избегайте whipsaws
  2. “Все, что нужно сделать, это играть в точку перемены и увеличивать шансы на победу”.
  3. Ясные правила по сдерживанию убытков, снижение риска

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

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

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

  1. Повышение показателей, позволяющих оценивать шокирующие ситуации, чтобы избежать частых торгов на шокирующих рынках
  2. Оптимизация комбинации параметров цикла MA, чтобы найти оптимальные параметры
  3. Тестирование и оптимизация стоп-стоп коэффициентов для обеспечения баланса между максимизацией доходов и снижением рисков

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

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

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

//@version=5
strategy("MA60上多下空", overlay=true)

// 计算MA20/60/120
ma20 = ta.sma(close, 20)
ma60 = ta.sma(close, 60)
ma120 = ta.sma(close, 120)

// 判断MA的趋势
maUpTrend = ma20 > ma60 and ma60 > ma120
maDownTrend = ma20 < ma60 and ma60 < ma120

// 画竖直线标记MA趋势转折点
plotshape(maUpTrend and ta.crossover(ma20, ma60), style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(maDownTrend and ta.crossunder(ma20, ma60), style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)

// 画背景标记MA趋势
bgcolor(maUpTrend ? color.new(color.green, 90) : na)
bgcolor(maDownTrend ? color.new(color.red, 90) : na)

// 建立多头仓位的条件
longCondition = ta.crossover(close, ma60)

// 建立空头仓位的条件
shortCondition = ta.crossunder(close, ma60)

// 在穿过MA60时,根据条件建立相应的多头或空头仓位
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// 止盈止损规则
calculateReturns() =>
    close / strategy.position_avg_price - 1

takeProfitCondition = calculateReturns() >= 3  // 仓位盈利达到300%
stopLossCondition = calculateReturns() <= -0.1  // 仓位亏损达到10%

if (takeProfitCondition)
    strategy.close("Long", comment="Take Profit")
    strategy.close("Short", comment="Take Profit")

if (stopLossCondition)
    strategy.close("Long", comment="Stop Loss")
    strategy.close("Short", comment="Stop Loss")