Стратегия Breakout Scalper - это стратегия трейдинга, которая использует быстрые и медленные скользящие средние для выявления изменений тренда. Она устанавливает остановки входа и остановки выхода для управления рисками. Стратегия закрывает позиции вручную, когда рынок идет в сторону.
Стратегия использует быстрое окно и медленное окно. Периоды по умолчанию составляют 13 и 52 соответственно. Быстрое окно фиксирует краткосрочные тенденции, а медленное окно определяет общее направление рынка. Показаны средние цены двух окон. Когда быстрая средняя цена пересекает медленную среднюю цену, может образовываться восходящий тренд. Когда быстрая средняя цена пересекает низкую, может начаться нисходящий тренд.
Когда быстрая средняя цена выше медленной средней цены, а мгновенная цена также выше быстрой средней цены, генерируется сигнал покупки. Стоп входа размещается на самой высокой цене медленного окна. Когда быстрая средняя цена ниже медленной, а мгновенная цена ниже быстрой средней цены, запускается сигнал продажи, при этом стоп входа осуществляется на самой низкой цене медленного окна.
Кроме того, остановки выхода определяются для контроля риска. Длинный остановка выхода - это максимум самых низких цен быстрых и медленных окон. Короткий остановка выхода - это минимум самых высоких цен быстрых и медленных окон. Это гарантирует, что остановки размещены за пределами текущего направления тренда для снижения риска.
Позиции закрываются, когда условия входа больше не действительны, избегая ненужных потерь на боковых рынках.
Ключевые преимущества этой стратегии:
Быстро обнаруживает изменения тренда, подходящие для волатильных активов.
Эффективное управление рисками с помощью разумных остановок.
Простая и понятная логика, основанная на скользящих средних пересечениях и остановках.
Легко оптимизируемый и расширяемый.
Основными рисками являются:
Рыночный шум может генерировать неправильные сигналы.
Медленное отставание окна. Повороты могут быть обнаружены поздно.
Стопы слишком близко к рынку. Стопы, основанные непосредственно на ценах окна, могут быть слишком тесными.
Боковые рынки приводят к падениям, а неуравновешенные рынки порождают ложные сигналы.
Уменьшение последствий:
Оптимизируйте быстрое окно и добавьте фильтры.
Улучшить медленное окно и добавить подтверждающие показатели.
Буфер останавливается от рыночной цены.
Узнайте, что происходит, и избегайте сигналов.
Стратегия может быть улучшена в нескольких аспектах:
Оптимизировать периоды окна для различных активов.
Добавьте размер позиции для лучшего контроля риска.
Внедрить механизмы получения прибыли.
Добавьте больше фильтров, чтобы создать сильные сигналы.
Включите обнаружение шаблонов, таких как треугольники и расхождения.
Используйте машинное обучение для оптимизации параметров.
Breakout Scalper предназначен для быстрого улавливания изменений тренда на основе быстрого и медленного пересечения среднего движения. Он подходит для волатильных рынков, таких как золото. Стопы обеспечивают управление рисками. Простая логика позволяет легко понять и оптимизировать. Выявленные риски и улучшения предлагают способы дальнейшего улучшения стратегии. В целом, это эффективная система торговли трендом, которую можно усовершенствовать в надежный подход.
/*backtest start: 2023-10-17 00:00:00 end: 2023-10-24 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Breakout Scalper", overlay=true) fast_window = input(title="Fast Window", defval=13, minval=1) slow_window = input(title="Slow Window", defval=52, minval=1) instant_period = input(title="Instant Period", defval=3, minval=1) fast_low = lowest(fast_window) fast_high = highest(fast_window) fast_mid = (fast_low + fast_high) / 2 slow_low = lowest(slow_window) slow_high = highest(slow_window) slow_mid = (slow_low + slow_high) / 2 instant_price = ema(close, instant_period) plot(instant_price, title="Instant Price", color=black, transp=50) fp = plot(fast_mid, title="Fast Mid", color=green) sp = plot(slow_mid, title="Slow Mid", color=red) fill(fp, sp, color=(fast_mid > slow_mid ? green : red)) is_buy_mode = (instant_price > fast_mid) and (fast_mid > slow_mid) is_sell_mode = (instant_price < fast_mid) and (fast_mid < slow_mid) entry_color = is_buy_mode ? green : (is_sell_mode ? red : na) exit_color = is_buy_mode ? red : (is_sell_mode ? green : na) entry_buy_stop = slow_high entry_sell_stop = slow_low exit_buy_stop = max(fast_low, slow_low) exit_sell_stop = min(fast_high, slow_high) strategy.entry("long", strategy.long, stop=entry_buy_stop, when=is_buy_mode) strategy.exit("stop", "long", stop=exit_buy_stop) strategy.entry("short", strategy.short, stop=entry_sell_stop, when=is_sell_mode) strategy.exit("stop", "short", stop=exit_sell_stop) strategy.close("long", when=(not is_buy_mode)) strategy.close("short", when=(not is_sell_mode)) entry_buy_stop_color = (strategy.position_size == 0) ? (is_buy_mode ? green : na) : na plotshape(entry_buy_stop, location=location.absolute, color=entry_buy_stop_color, style=shape.circle) entry_sell_stop_color = (strategy.position_size == 0) ? (is_sell_mode ? red : na) : na plotshape(entry_sell_stop, location=location.absolute, color=entry_sell_stop_color, style=shape.circle) exit_buy_stop_color = (strategy.position_size > 0) ? red : na plotshape(exit_buy_stop, location=location.absolute, color=exit_buy_stop_color, style=shape.xcross) exit_sell_stop_color = (strategy.position_size < 0) ? green : na plotshape(exit_sell_stop, location=location.absolute, color=exit_sell_stop_color, style=shape.xcross)