Это стратегия для отслеживания трендов, основанная на перекрестных скользящих средних, в сочетании с управлением стоп-стоп и леверингом, предназначенная для выявления тенденций на нескольких рынках и максимизации прибыли.
Стратегия использует как торговый сигнал перекрестные движения быстрых и медленных средних. При пересечении медленных средних на высоте быстрых средних принимаются позиции с большим преимуществом; при пересечении медленных средних ниже высоты принимаются позиции без преимущества.
Чтобы отфильтровать шумные сделки, не являющиеся основными тенденциями, в качестве фильтра на тренды в стратегии также введены 200-дневные скользящие средние. Торговый сигнал подается только тогда, когда цена выше или ниже 200-дневных скользящих средних.
Стратегия применяет стратегию остановки на промежуточных торгах. После торговли устанавливается фиксированный пропорциональный уровень остановки и остановки, например, установка остановки на 1% и остановки на 1%, а затем ликвидация, когда цена достигает остановки или остановки.
В целях увеличения прибыли от торговли, используются стратегии с использованием эффекта леверинга. В зависимости от особенностей различных рынков, можно выбрать подходящий уровень леверинга, например, 10-кратный леверинг.
Одним из преимуществ стратегии является возможность выявления тенденций на различных рынках, включая криптовалютный, фондовый и фьючерсный рынки, что расширяет применение стратегии.
Используя быстрое и медленное среднелинейное скрещивание и фильтрацию тенденций, можно лучше идентифицировать направление тенденции и получить лучшую победную ставку в трендовых ситуациях.
Применение стратегии промежуточного остановки убытков позволяет контролировать одиночные убытки в пределах приемлемого диапазона, что способствует стабильной работе стратегии.
Леверинг может увеличить прибыль от торговли, что позволяет использовать преимущества стратегии.
Визуализированный дизайн интерфейса, использование различных цветов фона для обозначения многоголового и пустого рынка, пользователь может интуитивно судить о текущей ситуации на рынке.
Стратегия основана на идее трендового трейдинга, в рынок, который переживает потрясение, эффективность торговли может быть снижена.
Существует риск, что фиксированный стоп-стоп может быть арбитражным, и его величину следует корректировать в зависимости от конкретного рынка.
Леверидж увеличивает масштаб сделки, но также увеличивает риск сделки. Необходимо контролировать уровень левериджа, чтобы избежать превышения допустимого уровня потерь.
Сам по себе движущийся средний имеет задержку, что может привести к задержке торгового сигнала.
Можно изучать эффективность стратегии при различных комбинациях параметров, выбирая оптимальную комбинацию параметров для средней скоростной длины.
Для повышения точности стратегии можно использовать другие индикаторы или модели в качестве фильтрующих сигналов. Например, внедрение стоп-лода ATR, индикатора RSI и т. Д.
Можно использовать индикаторы для определения тенденций, такие как индикатор DC, чтобы улучшить способность стратегии оценивать тенденции.
Оптимизация стратегического сигнала может быть связана с моделью машинного обучения, чтобы идентифицировать более эффективные моменты торговли.
Можно рассматривать возможность динамической корректировки стоп-стоп, устанавливая более разумные стоп-стоп в зависимости от волатильности и рыночных условий.
В целом, эта стратегия использует более научные методы отслеживания тенденций, а также контролирует риски и увеличивает доходы с помощью сдерживания убытков и рычага. Эта стратегия может быть широко применена на различных рынках, и ожидается стабильная прибыль.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////////////////////////////////////////////
// Bozz Strategy
// Developed for Godstime
// Version 1.1
// 11/28/2021
////////////////////////////////////////////////////////////////////////////////
//@version=4
// strategy("Bozz Strategy", "", true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, margin_long=0, margin_short=0)
// ----------------------------- Inputs ------------------------------------- //
source_ma_type = input("EMA", "Source MA Type", options=["SMA", "EMA"])
source_ma_length = input(50, "Source MA Length")
fast_ma_length = input(20, "Fast MA Length")
slow_ma_length = input(50, "Slow MA Length")
use_trend_filter = input(true, "Trend Filter")
trend_filter_ma_type = input("EMA", "Trend Filter MA Type", options=["SMA", "EMA"])
trend_filter_ma_length = input(200, "Trend Filter MA Period")
show_mas = input(true, "Show MAs")
swing_trading_mode = input(false, "Swing Trading")
// -------------------------- Calculations ---------------------------------- //
fast_ma = ema(close, fast_ma_length)
slow_ma = ema(close, slow_ma_length)
source_ma = source_ma_type == "EMA"? ema(close, source_ma_length):
sma(close, source_ma_length)
trend_filter_ma = trend_filter_ma_type == "EMA"? ema(close, trend_filter_ma_length):
sma(close, trend_filter_ma_length)
// --------------------------- Conditions ----------------------------------- //
uptrend = not use_trend_filter or close > trend_filter_ma
buy_cond = crossover(fast_ma, slow_ma) and uptrend
downtrend = not use_trend_filter or close < trend_filter_ma
sell_cond = crossunder(fast_ma, slow_ma) and downtrend
// ---------------------------- Plotting ------------------------------------ //
bgcolor(use_trend_filter and downtrend? color.red: use_trend_filter? color.green: na)
plot(show_mas? fast_ma: na, "Fast MA", color.green)
plot(show_mas? slow_ma: na, "Slow MA", color.red)
plot(show_mas? source_ma: na, "Source MA", color.purple)
plot(show_mas? trend_filter_ma: na, "Trend Filter MA", color.blue)
// ---------------------------- Trading ------------------------------------ //
// Inputs
sl_perc = input(1.0, "Stop Loss (in %)", group="Backtest Control")/100
tp_perc = input(1.0, "Take Profit (in %)", group="Backtest Control")/100
leverage = input(10, "Leverage", maxval=100, group="Backtest Control")
bt_start_time = input(timestamp("2021 01 01"), "Backtest Start Time", input.time, group="Backtest Control")
bt_end_time = input(timestamp("2021 12 31"), "Backtest End Time", input.time, group="Backtest Control")
// Trading Window
in_trading_window = true
trade_qty = (strategy.equity * leverage) / close
// Long Side
strategy.entry("Long Entry", strategy.long, when=buy_cond and in_trading_window)
long_tp = strategy.position_avg_price * (1 + tp_perc)
long_sl = strategy.position_avg_price * (1 - sl_perc)
if not swing_trading_mode
strategy.exit("Long Exit", "Long Entry", limit=long_tp, stop=long_sl)
// Short Side
strategy.entry("Short Entry", strategy.short, when=sell_cond and in_trading_window)
short_tp = strategy.position_avg_price * (1 - tp_perc)
short_sl = strategy.position_avg_price * (1 + sl_perc)
if not swing_trading_mode
strategy.exit("Short Exit", "Short Entry", limit=short_tp, stop=short_sl)
// End of trading window close
strategy.close_all(when=not in_trading_window)