Эта стратегия покупает, когда цена превышает исторический n-дневный максимум на бычьем рынке, с EMA стоп-лосс.
Вычислить самую высокую цену за последние n дней как историческую высокую цену.
Купить, когда текущая цена закрытия превысит историческую высоту.
Используйте X-Day EMA как стоп-лосс. Выходите, когда цена опустится ниже EMA.
Значения n и x регулируемые с помощью параметров, по умолчанию до 200-дневного максимума и 90-дневного EMA.
Простая и понятная логика, легко реализуемая.
Автоматически следует за тенденциями, сформированными новыми максимумами.
Продолжающая движение EMA блокирует большинство прибылей.
Не нужно предсказывать цены, просто следуйте сигналам покупки.
Параметры по умолчанию хорошо работают на бычьих рынках.
Конкретный код, легкий для понимания и изменения.
Огромные потери, когда бычий рынок заканчивается.
Неправильная установка стоп-лосса приводит к преждевременным или задержанным остановкам.
Не в состоянии предсказать силу и откат новых максимумов.
Сильная предвзятость делает его непригодным для других рынков.
Оптимизация параметров рискует переувязать с историческими данными.
Испытывать различные комбинации параметров для получения оптимальных значений.
Оцените другие методы остановки, такие как фиксированные процентные остановки.
Оптимизируйте остановки, чтобы сбалансировать частоту и контроль рисков.
Добавьте фильтры, чтобы не покупать на шум.
Исследуйте способы измерения силы сигнала покупки.
Можно добавить прибыль, выходя из системы, чтобы закрепить прибыль.
Эта стратегия автоматизирует тренд, следующий за новыми максимумами с остановками EMA. Хотя она эффективна в некоторых случаях, она нуждается в расширении и оптимизации, чтобы стать надежной на всех рынках.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gmhfund //@version=5 strategy("ATH 200d",overlay=1) plot(close) bars = input.int(200, "ATH period", minval=5, maxval=2000, step=1) range_ema = input.int(90,"ema line",minval=100,maxval=400,step=1) ath_price = ta.highest(bars)[1] plot(ath_price,color=color.blue) line_ema = ta.ema(close,range_ema) exit_condition = ta.crossunder(close,line_ema) plot(line_ema,color=color.orange) strategy.entry("Buy", strategy.long, 1, when = close > ath_price) // enter long by market if current open great then previous high //strategy.close("Buy",when = close < strategy.position_avg_price*0.9 ) strategy.close("Buy",when = exit_condition )