
В данной статье подробно рассматривается стратегия отслеживания трендов, основанная на расстоянии от 200-дневных скользящих средних от цены, называемая стратегией отслеживания трендов в офлайнном режиме. Эта стратегия отслеживает расстояние от цены до 200-дневных скользящих средних и устанавливает позиции при превышении установленного порога, а после достижения цели получения прибыли - выходит из позиции.
Принципы стратегии
Центральным показателем стратегии является 200-дневная EMA. Стратегия определяет, отклоняется ли цена от 200-дневной линии после достижения установленного процента, и устанавливает позиции, когда ближайшая K-линия является солнечной линией (многоголовый вход) или солнечной (пустой вход).
Условие выхода: выйти из позиции, когда цена вернется к 200-дневной линии или достигнет стоп-маркета (в 1,5 раза больше цены входа). Установка стоп-убытка в размере 20% от заявленной стоимости опциона.
Подробные условия для входа и выхода:
Многоголосное вступление:Закрытие цены < 200-дневная линия и закрытие цены от 200-дневная линия в процентном отношении ≥ отклонение от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения
Вход с пустыми ногами:Заключительная цена > 200-дневная линия и закрытие цена от 200-дневная линия в процентном отношении ≥ отклонение от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения от отклонения
Многогласное участие:Заключительная цена ≥ 200-дневная линия или достижение цели остановки или конец дня торговли
Появление головы:Заключительная цена <= 200-дневная линия или достижение цели остановки или конец дня торговли
Стоп-лосс составляет 20% от заявленной стоимости опциона.
Второе: стратегические преимущества
Основные преимущества этой стратегии:
Третье: стратегические риски.
Основные риски этой стратегии:
Для снижения этих рисков можно оптимизировать следующее:
В-четвертых, оптимизация стратегии
Эта стратегия может быть оптимизирована в следующих аспектах:
Пятое: резюме
В этой статье подробно анализируются принципы, преимущества, риски и направления оптимизации стратегии отслеживания тренда, основанной на расстоянии цены от 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)