
Обзор
Стратегия использует двойной EMA среднелинейный пересечение в качестве торгового сигнала, быстрый цикл - 65, медленный цикл - 240. При этом используется объем сделки в качестве фильтрующего условия, и сделка будет осуществляться только в том случае, если текущая сделка больше, чем указанный порог. Стратегия устанавливает фиксированную сумму риска на каждую сделку (~ $ 10) и динамически рассчитывает размер позиции в зависимости от суммы риска.
Стратегический принцип
- Вычислить две средние линии EMA, скоростная линия с периодом 65 и медленная линия с периодом 240.
- Определить, происходит ли многоголовый (bullish_crossover) или пустой (bearish_crossover) перекресток.
- Установите порог объема (volume_threshold), чтобы совершать сделки только тогда, когда текущий объем сделки превышает этот порог.
- Установите фиксированную сумму риска на одну сделку (risk_per_trade) в размере $10.
- Размер позиции рассчитывается исходя из суммы риска и стоп-лосс расстояния.
- Когда происходит многооднородное скрещивание и объем сделки удовлетворяет условиям, открывается многооднородное положение, стоп-лосс устанавливается ниже цены открытия позиции на \(100, а стоп-позиция устанавливается выше цены открытия позиции на \)1500.
- Когда появляется свободное перекрестное движение и объем сделки удовлетворяет условиям, открывается позиция, стоп-лост устанавливается на \(100 выше цены открытия позиции, а стоп-лост устанавливается на \)1500 ниже цены открытия позиции.
Стратегические преимущества
- Двойная равнолинейная скрещивание позволяет лучше улавливать рыночные тенденции, 65⁄240 циклическая комбинация может отфильтровать большую часть шума и обратить внимание только на основные тенденции.
- Введение условий фильтрации объема торгов позволяет избежать торговли при низком объеме торгов и снизить риск рыночных колебаний.
- Управление позициями с фиксированной суммой риска позволяет эффективно контролировать риск на каждой сделке и избегать чрезмерных потерь на одной сделке.
- Динамическая стоп-стоп настройка, основанная на расстоянии от цены, позволяет увеличить пространство для получения прибыли, чем пространство для потери, что повышает долгосрочную эффективность стратегии.
- Применяется для высоко волатильных валют, таких как BTC/USD, чтобы максимально использовать возможности, связанные с их волатильностью.
Стратегический риск
- EMA является индикатором, отслеживающим тенденции, и имеет проблемы с задержкой во время обратного тренда, что может привести к задержке входа или задержке выхода из рынка.
- Фиксированная сумма риска может не динамично адаптироваться к рыночным колебаниям и плохо работать в экстремальных ситуациях (например, падение шторма).
- Установка порога объема сдачи имеет определенную субъективность, неправильная установка порога может повлиять на эффективность стратегии.
- Фиксированные настройки стоп-поста и стоп-поста могут не совпадать с реальными колебаниями рынка, что приводит к частым остановкам или отключениям.
- Стратегия может плохо работать в условиях шока, а частое перекрестное использование может привести к последовательным убыточным сделкам.
Направление оптимизации стратегии
- Подумайте о введении большего количества групп равнолинейного сотрудничества в качестве условий фильтрации, таких как включение средней средней линии, построение многолинейной системы для повышения надежности сигнала.
- Оптимизация методов управления позициями, например, использование метода процентной доли риска или формулы Келли, чтобы динамично корректировать позиции в соответствии с различными рыночными условиями.
- Параметрическая оптимизация потолка объемов сделок, чтобы найти оптимальные настройки потолка для повышения стабильности стратегии.
- Оптимизация параметров стоп-стоп-позиций, их корректировка в режиме реального времени в соответствии с последними рыночными колебаниями, повышение гибкости при адаптации к рынку.
- В трендовом методе добавляются определенные компоненты хеджирования, такие как вспомогательные суждения о противоположных трендовых показателях, такие как PSAR, для повышения устойчивости рынка к потрясениям.
Подвести итог
Эта стратегия использует 65⁄240 двойной равнолинейный пересечение в качестве основы для определения тенденции, а также в сочетании с объемом фильтрации условий для улучшения надежности сигнала. фиксированный риск управления позиции и фиксированный ценовой стоп-стоп, можно до некоторой степени контролировать риск и позволить прибыли и убытки склоняются в благоприятную сторону. но стратегия также существует тенденции захват относительно отстало, недостаточная гибкость управления позиции, отсутствие динамической корректировки стоп-стоп и т. д. В будущем можно оптимизировать и улучшить стратегию, например, путем создания многолинейной системы, оптимизации управления позицией, динамического стоп-стоп, внедрения стоп-стоп с точки зрения ударных показателей, чтобы получить более стабильную и надежную торговлю.
Исходный код стратегии
/*backtest
start: 2024-05-06 00:00:00
end: 2024-05-13 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with 1:3 RR, Volume Filter, and Custom Stop Loss/Take Profit (BTC)", overlay=true, currency="USD", initial_capital=100)
// Define EMA lengths
ema_length_fast = 65
ema_length_slow = 240
// Calculate EMAs
ema_fast = ta.ema(close, ema_length_fast)
ema_slow = ta.ema(close, ema_length_slow)
// Define crossover conditions
bullish_crossover = ta.crossover(ema_fast, ema_slow)
bearish_crossover = ta.crossunder(ema_fast, ema_slow)
// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")
// Define volume filter
volume_threshold = 1000 // Adjust as needed
// Define risk amount per trade
risk_per_trade = 0.5 // $10 USD
// Calculate position size based on risk amount
stop_loss_distance = 100
take_profit_distance = 1500
position_size = risk_per_trade / syminfo.mintick / stop_loss_distance
// Execute trades based on crossovers and volume filter
if (bullish_crossover and volume > volume_threshold)
strategy.entry("Buy", strategy.long, qty=position_size)
strategy.exit("Exit", "Buy", stop=close - stop_loss_distance, limit=close + take_profit_distance)
if (bearish_crossover and volume > volume_threshold)
strategy.entry("Sell", strategy.short, qty=position_size)
strategy.exit("Exit", "Sell", stop=close + stop_loss_distance, limit=close - take_profit_distance)