Эта стратегия использует EMA для определения направления тренда и адаптивный ретрасемент Фибоначчи для автоматического выявления точек перелома, направленный на продажу высоких и покупку низких, отслеживая тенденции.
Для определения направления тренда используйте 9-дневную EMA и 21-дневную EMA. 21-дневная EMA, пересекающая 55-дневную EMA, сигнализирует о начале нисходящего тренда.
Внедрить адаптивное ретрацирование Фибоначчи со 100 периодами для автоматического определения ключевых уровней ретрацирования на основе недавних колебаний цен.
Прорыв цены на 0,236 Фибоначчи указывает на перелом и закрывает существующую позицию.
Когда 9-дневная EMA пересекается ниже 21-дневной EMA, и цена ниже адаптивного максимума Фибоначчи, перейдите на короткий.
Цель длинной прибыли - пересечение выше 200-дневной ЕМА.
EMA дает четкие сигналы о тенденциях, которые легко реализовать
Адаптивный Фибоначчи избегает ручной настройки параметров
Частая торговля ловит краткосрочные движения для высокочастотных стратегий
Ключевые уровни ретрекчеринга для своевременного стоп-лосса
Конфигурируемые параметры для оптимизации в разных циклах
Отставание по ЕМА требует подтверждения с помощью других показателей
Риски адаптивного Фибоначчи при переподходе к нестабильным уровням
Высокочастотная торговля увеличивает затраты на комиссионные и сдвиги
Неэффективная фильтрация тенденций, связанных с диапазоном, приводит к ложным сигналам
Необходимо улучшить управление использованием средств и контроль риска и вознаграждения
Добавление показателей объема для предотвращения ложных сигналов от расхождения цены и объема
Оптимизировать периоды EMA для лучшего соответствия текущим рыночным условиям
Внедрение динамического стоп-лосса для улучшения контроля рисков
Включите индекс силы тренда, чтобы избежать сбоев
Рассмотреть влияние затрат на торговлю и установить минимальную цель прибыли
Эта стратегия идентифицирует направление тренда с EMA и определяет уровни обратного движения динамически с использованием адаптивного ретрассемента Фибоначчи, который автоматически адаптируется к различным рыночным условиям. Но она больше опирается на индикаторы без сегментации тренда и логику волны Эллиота, оставляя место для оптимизации. В целом, как высокочастотная краткосрочная торговая стратегия, она может улавливать быстрые изменения цен, но включает в себя риски частых стоп-лосс и переторговли, которые трейдеры должны управлять.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 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/ // © CheatCode1 //@version=5 strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 ) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) ema55 = ta.ema(close, 55) ema200 = ta.ema(close, 200) plot(ema200, '22', color.blue, 2) FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement') len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement') len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement') highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL) lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL) AvgFib = highF - lowF //Fibonacci Executions LL2 = highF + .618 * AvgFib LL1 = highF + .272 * AvgFib L1 = highF L236 = highF - 0.236 * AvgFib L382 = highF - 0.382 * AvgFib Mid = highF - 0.50 * AvgFib S382 = lowF + 0.382 * AvgFib S236 = lowF + 0.236 * AvgFib S1 = lowF SS1 = lowF - .272 * AvgFib SS2 = lowF - .618 * AvgFib //Fibonacci Plot's high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true) high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true) highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true) L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true ) L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true ) MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true ) S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true) S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true) lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true) low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true) low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true) plot(ema9, '22', color.yellow, 2) plot(ema55, '55', color.aqua, 2) plot(ema200, '200', color.maroon, 2) shortCondition = close[1] < highF and ema21 < ema55 if (shortCondition) strategy.entry("Short", strategy.short) shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0 if (shorttp) strategy.close('Short', 'Short TP', qty_percent = 100) shortclose2 = close[1] > L236 and not (shortCondition) if(shortclose2) strategy.close('Short', 'Short RM', qty_percent = 100)