Стратегия следования за трендом в офлайн-режиме


Дата создания: 2024-03-01 10:50:03 Последнее изменение: 2024-03-01 10:50:03
Копировать: 2 Количество просмотров: 562
1
Подписаться
1617
Подписчики

Стратегия следования за трендом в офлайн-режиме

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

Принципы стратегии

Центральным показателем стратегии является 200-дневная EMA. Стратегия определяет, отклоняется ли цена от 200-дневной линии после достижения установленного процента, и устанавливает позиции, когда ближайшая K-линия является солнечной линией (многоголовый вход) или солнечной (пустой вход).

Условие выхода: выйти из позиции, когда цена вернется к 200-дневной линии или достигнет стоп-маркета (в 1,5 раза больше цены входа). Установка стоп-убытка в размере 20% от заявленной стоимости опциона.

Подробные условия для входа и выхода:

Многоголосное вступление:Закрытие цены < 200-дневная линия и закрытие цены от 200-дневная линия в процентном отношении ≥ отклонение от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения

Вход с пустыми ногами:Заключительная цена > 200-дневная линия и закрытие цена от 200-дневная линия в процентном отношении ≥ отклонение от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения

Многогласное участие:Заключительная цена ≥ 200-дневная линия или достижение цели остановки или конец дня торговли

Появление головы:Заключительная цена <= 200-дневная линия или достижение цели остановки или конец дня торговли

Стоп-лосс составляет 20% от заявленной стоимости опциона.

Второе: стратегические преимущества

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

  1. Используйте 200-дневную скользящую среднюю для определения направления длинной линии цены, чтобы избежать помех от шума краткосрочного рынка
  2. Создание механизма отслеживания тенденций, отслеживающего тенденции цен в средней и долгой линии
  3. Оптимизируйте своевременность входа, входя в то время, когда направление последней K-линии совпадает с большим трендом
  4. Разумные механизмы остановки и сдерживания, чтобы избежать увеличения убытков

Третье: стратегические риски.

Основные риски этой стратегии:

  1. Ценовые колебания могут повторяться во время крупных рыночных колебаний и приводить к многократным потерям.
  2. Внезапное изменение тренда привело к срыву убытков
  3. Неправильно выбранные параметры, такие как циклы скользящих средних, не позволяют точно определить тенденцию

Для снижения этих рисков можно оптимизировать следующее:

  1. Настройка параметров скользящих средних или добавление других показателей для определения тенденции
  2. Оптимизация механизмов погашения убытков, например, корректировка расстояния погашения убытков с учетом изменения цены
  3. Оптимизация условий поступления, добавление дополнительных критериев оценки

В-четвертых, оптимизация стратегии

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

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

Пятое: резюме

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

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

//@version=4
strategy("Intraday Price Away from 200 EMA Strategy", overlay=true)

// Define inputs
emaPeriod = input(200, title="EMA Period")
thresholdPercent = input(0.75, title="Threshold Percent", minval=0)  // Define the threshold percentage

// Calculate 200 EMA
ema = ema(close, emaPeriod)

// Calculate distance from 200 EMA as a percentage
distance_percent = ((close - ema) / ema) * 100

// Track average entry price
var float avgEntryPrice = na

// Buy conditions
buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2]

// Exit conditions for buy
exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close

// Sell conditions
sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2]

// Exit conditions for sell
exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close

// Execute buy and sell orders only if there are no open trades
if strategy.opentrades == 0
    strategy.entry("Buy", strategy.long, when=buy_condition)
    strategy.entry("Sell", strategy.short, when=sell_condition)

// Update average entry price for buy condition
if buy_condition
    avgEntryPrice := close

// Update average entry price for sell condition
if sell_condition
    avgEntryPrice := close

// Close buy position if exit condition is met
strategy.close("Buy", when=exit_buy_condition)

// Close sell position if exit condition is met
strategy.close("Sell", when=exit_sell_condition)

// Plot 200 EMA
plot(ema, color=color.blue, linewidth=2)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)