
Описание: Эта стратегия основана на движущихся средних трех различных периодов, чтобы реализовать торговлю в золотом, бинарном и криптовалютном диапазонах. Когда короткие средние периоды проходят через длинные средние периоды, они делают больше, а когда короткие средние периоды проходят через длинные средние периоды, они делают меньше.
Принципы стратегии:
Определены три скользящих средних: краткосрочная средняя, долгосрочная средняя и трендовая средняя. Период краткосрочной средней составляет 20, долгосрочной - 200 и трендовой - 50.
Когда короткосрочная средняя линия проходит через долгосрочную среднюю линию, это создает сигнал к покупке. Когда короткосрочная средняя линия проходит через долгосрочную среднюю линию, это создает сигнал к продаже.
В то же время проверяйте, находятся ли краткосрочная и долгосрочная средние линии над средними линиями тренда, и фильтруйте сигнал, если они не удовлетворяют. Это позволяет избежать обратной операции.
Стоп-лосс и стоп-стоп устанавливаются как определенная доля от цены входа, параметры могут быть оптимизированы в зависимости от реальных обстоятельств.
Нарисуйте точки пересечения равномерной линии, чтобы вспомочь наблюдению за временем входа в зал.
Анализ силы:
Стратегическая концепция проста, интуитивно понятна и легко реализуема.
Это позволяет эффективно отслеживать краткосрочные и среднесрочные тенденции.
В сочетании с трендовым равновесием можно дополнительно фильтровать сигналы, избегая обратной операции.
Параметры трех равномерных линий могут быть адаптированы к особенностям различных рынков.
Настраиваемые параметры сдерживания ущерба для контроля риска.
Анализ рисков:
В случае резких рыночных потрясений, это может привести к свертыванию убытков.
В случае сдвига тенденции, возможны большие убытки.
Неправильная настройка параметров может привести к частым сделкам или упущенным возможностям.
Необходимо обратить внимание на влияние стоимости транзакций.
Направление оптимизации:
Для дальнейшей фильтрации сигналов, таких как ATR, можно использовать индикатор волатильности.
Для динамической оптимизации параметров можно использовать алгоритмы машинного обучения.
Можно объединить больше показателей, чтобы оценить тенденции, например, MACD.
Для блокировки прибыли можно установить движущийся стоп.
Параметры, которые можно оптимизировать для остановки убытков путем обратного измерения.
В заключение:
Общая концепция стратегии ясна и проста в реализации. Систематическое захват трендов с помощью золотых форк и мертвых форков. Контроль риска осуществляется с помощью сбалансированных трендов и стоп-стоп. Параметры должны быть оптимизированы в соответствии с конкретными тенденциями рынка.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("XAU M15", overlay=true)
// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")
// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)
// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")
// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma
if (enterLong)
strategy.entry("Long", strategy.long)
if (enterShort)
strategy.entry("Short", strategy.short)
// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100
short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100
strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))
plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)