
Эта стратегия является автоматизированной торговой системой, основанной на пересечении и фильтрации пересечения на основе простой движущейся средней (SMA). Она использует пересечение быстрых и медленных SMA для создания входных сигналов, а также комбинирует переменные показатели для подтверждения силы тренда.
Основные принципы этой стратегии основаны на следующих ключевых компонентах:
СМС:
Фильтр объемов сделок:
Динамическая остановка и остановка:
Временная база выхода:
Настройки во время отслеживания:
Следить за тенденциями в сочетании с динамикой: В сочетании с SMA-пересечениями и фильтрацией объема торгов, стратегия позволяет улавливать сильные трендовые явления, избегая при этом частых торгов на слабых рынках.
Гибкое управление рисками: Динамические механизмы остановки и сдерживания убытков позволяют стратегии автоматически корректировать рисковую экспозицию в зависимости от волатильности рынка, что помогает защитить прибыль и ограничить потенциальные потери.
Предотвращение чрезмерного хранения: Ограничение максимального времени удержания позиции помогает предотвратить убыточные позиции стратегии в течение длительного времени в неблагоприятных рыночных условиях и способствует эффективному использованию средств.
Настройка: Многочисленные регулируемые параметры (например, цикл SMA, стоп-стоп, максимальное время удержания позиции и т. д.) позволяют оптимизировать стратегию в зависимости от различных рынков и стилей торговли.
Визуальная поддержка: Стратегия начерчивает на графике линии SMA и торговые сигналы, что облегчает визуальное понимание и анализ эффективности стратегии.
Отсталость: По своей сути, индикатор SMA является отстающим, что может привести к задержке входа или упущенным возможностям в быстро меняющемся рынке.
Фальшивые взломы: На рынках с двойным диапазоном SMA-пересечения могут часто вызывать ложные прорывные сигналы, что приводит к чрезмерной торговле и увеличению стоимости сделки.
Объем продаж зависит от: Чрезмерная зависимость от показателя объема сделок может вводить в заблуждение стратегию при определенных рыночных условиях, особенно в периоды низкой ликвидности или аномального объема сделок.
Фиксированная стопроцентная стоп-стоп: Использование фиксированных процентов стоп-лосса и стоп-стопов может не подходить для всех рыночных условий, особенно в периоды резкого изменения волатильности.
Ограничение выхода на временной основе: Фиксированное максимальное время удержания позиции может привести к преждевременному ликвидации позиции, влияя на потенциальную прибыль, когда благоприятная тенденция еще не закончилась.
Изменение динамических параметров: Достижение динамической корректировки циклов SMA, стоп-лосс-стоп процента и максимального времени удержания позиции в соответствии с различными циклами и волатильностью рынка.
incorporate дополнительные фильтры: Введение других технических индикаторов (например, RSI, MACD и т. Д.) в качестве дополнительных фильтрующих условий повышает точность торговых сигналов.
Приспосабливаясь к снижению объемов поставок: Разработка механизмов динамически корректируемой пониженной стоимости объемов сделок, чтобы лучше адаптироваться к характеристикам объемов сделок на разных этапах рынка.
Улучшение механизма выхода: Исследование механизмов интеллектуального выхода, основанных на структуре рынка или динамических показателях, вместо фиксированного времени выхода и повышения адаптивности стратегии.
Изменение волатильности: Реализация динамических стоп- и стоп-уровней, основанных на волатильности рынка, для лучшего управления рисками и захвата прибыли.
Анализ нескольких временных рамок: Интеграция анализа данных с использованием нескольких временных рамок повышает способность стратегии распознавать рыночные тенденции и обратные тенденции.
Оптимизация машинного обучения: Динамическая оптимизация параметров стратегии с использованием алгоритмов машинного обучения для повышения эффективности стратегии в различных рыночных условиях.
“Адаптивная динамическая стоп-стратегия с перекрестными SMA и фильтрацией на транзакции” - это комплексная торговая система, которая сочетает в себе отслеживание тенденций, анализ транзакций и управление рисками. Используя перекрестные SMA и фильтрацию на транзакции, стратегия направлена на захват сильных рыночных тенденций, а ее динамическая стоп-стратегия и функция временного выхода обеспечивают гибкий контроль риска. Несмотря на некоторые присущие ей ограничения, такие как задержка сигнала и зависимость от фиксированных параметров, стратегия предлагает несколько оптимизируемых направлений, включая динамическую корректировку параметров, введение дополнительных технических показателей и использование технологий машинного обучения.
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple_CrossOver_Bot_V1_EBO", overlay=true)
// INPUTS
dateStart_Year = input.int(2018, title="Start Year", minval=2000)
dateStart_Month = input.int(1, title="Start Month", minval=1, maxval=12)
dateStart_Day = input.int(1, title="Start Day", minval=1, maxval=31)
dateEnd_Year = input.int(2019, title="End Year", minval=2000)
dateEnd_Month = input.int(1, title="End Month", minval=1, maxval=12)
dateEnd_Day = input.int(1, title="End Day", minval=1, maxval=31)
fast_SMA_input = input.int(7, title="SMA Fast")
slow_SMA_input = input.int(25, title="SMA Slow")
volume_SMA_input = input.int(20, title="Volume SMA")
stop_loss_percent = input.float(1.0, title="Stop Loss (%)", step=0.1) / 100
take_profit_percent = input.float(2.0, title="Take Profit (%)", step=0.1) / 100
max_bars_in_trade = input.int(50, title="Max Bars in Trade", minval=1)
// INDICATORS
fast_SMA = ta.sma(close, fast_SMA_input)
slow_SMA = ta.sma(close, slow_SMA_input)
volume_SMA = ta.sma(volume, volume_SMA_input)
// STRATEGY
LONG = ta.crossover(fast_SMA, slow_SMA) and fast_SMA > slow_SMA and volume > volume_SMA
SHORT = ta.crossunder(fast_SMA, slow_SMA) and fast_SMA < slow_SMA and volume < volume_SMA
// TRIGGERS
testPeriodStart = timestamp(dateStart_Year, dateStart_Month, dateStart_Day)
testPeriodEnd = timestamp(dateEnd_Year, dateEnd_Month, dateEnd_Day)
timecondition = true
// Track bar index for entries
var int long_entry_bar_index = na
var int short_entry_bar_index = na
if timecondition
if LONG
strategy.entry(id="LONG", direction=strategy.long)
long_entry_bar_index := bar_index
if SHORT
strategy.entry(id="SHORT", direction=strategy.short)
short_entry_bar_index := bar_index
// Exit conditions for LONG
if not na(long_entry_bar_index) and bar_index - long_entry_bar_index >= max_bars_in_trade
strategy.close("LONG")
long_entry_bar_index := na
// Exit conditions for SHORT
if not na(short_entry_bar_index) and bar_index - short_entry_bar_index >= max_bars_in_trade
strategy.close("SHORT")
short_entry_bar_index := na
// Standard exits
if LONG
strategy.exit("Exit LONG", from_entry="LONG", stop=close * (1 - stop_loss_percent), limit=close * (1 + take_profit_percent))
if SHORT
strategy.exit("Exit SHORT", from_entry="SHORT", stop=close * (1 + stop_loss_percent), limit=close * (1 - take_profit_percent))
// PLOTS
plot(fast_SMA, color=color.green, linewidth=1, title="Fast SMA")
plot(slow_SMA, color=color.yellow, linewidth=1, title="Slow SMA")
plot(volume_SMA, color=color.blue, linewidth=1, title="Volume SMA")
plotshape(series=LONG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=SHORT, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
// Uncomment the following lines for alerts
// alertcondition(LONG, title="LONG")
// alertcondition(SHORT, title="SHORT")