Эта стратегия представляет собой длинно-короткую торговую систему, основанную на индикаторе MACD, специально разработанную для 15-минутных графиков. Она генерирует торговые сигналы с использованием линии MACD и перекресток линии сигнала, ограничивая торговлю определенными часами открытия рынка. Стратегия использует метод управления рисками фиксированной пропорции, динамически корректируя риск для каждой сделки на основе размера счета.
Расчет индикатора MACD: использует стандартные настройки MACD с 12-периодной быстрой линией, 26-периодной медленной линией и 9-периодной сигнальной линией.
Производство торговых сигналов:
Ограничение времени торговли: выполняет сделки только в часы открытия рынка Лондона (08:00-17:00 по Гринвичу) и рынка Нью-Йорка (13:30-20:00 по Гринвичу).
Управление рисками:
Исполнение сделки: заключает сделки с рыночными ордерами, одновременно устанавливая ордера на остановку потери и получение прибыли.
Поиск рыночного импульса: индикатор MACD эффективно фиксирует изменения рыночного импульса, помогая определить потенциальные точки переворота тренда.
Контроль рисков: Управление рисками в фиксированной пропорции обеспечивает соответствие риска каждой сделки размеру счета, способствуя долгосрочному росту капитала.
Фильтрация по времени: ограничение времени торговли помогает избежать ложных сигналов в периоды низкой ликвидности, улучшая качество торговли.
Приспособляемость: стратегия автоматически корректирует размер сделки в зависимости от размера счета, что подходит для трейдеров с различными суммами капитала.
Четкие правила входа и выхода: четкая логика генерации сигнала и фиксированные параметры стоп-лосса и прибыли снижают необходимость в ручном вмешательстве.
Боковой рыночный риск: на рынках с ограниченным диапазоном MACD может генерировать частые перекрестные сигналы, что приводит к переоценке и последовательным потерям.
Риск сдвига: использование рыночных ордеров для входа может привести к сдвигу, особенно на быстро меняющихся рынках.
Риск фиксированных стоп-лосса: фиксированные стоп-лосы могут быть недостаточно гибкими в периоды высокой волатильности, что может привести к преждевременным стоп-лосам.
Отсутствие больших движений: строгие настройки прибыли могут привести к тому, что стратегия потеряет большую часть прибыли от значительных движений тренда.
Ограничение временного окна: торговля только в течение определенных периодов времени может упустить потенциальные возможности в других сессиях.
Многочасовое подтверждение: внедрить подтверждение тренда с более длительных временных рамок (например, 1 час или 4 часа), чтобы повысить надежность торговых сигналов.
Динамическая стоп-лосс: рассматривайте возможность использования индикатора ATR (средний истинный диапазон) для установки динамических стоп-лосс, адаптируясь к изменениям волатильности рынка.
Включать дополнительные технические индикаторы: такие как индекс относительной силы (RSI) или скользящие средние в качестве фильтров для сигналов MACD для уменьшения ложных сигналов.
Оптимизировать торговые окна: с помощью анализа обратного тестирования, определить оптимальные периоды торговли, потенциально корректировать сезонно на основе различных рыночных условий.
Улучшить стратегию получения прибыли: внедрить механизмы отставания или частичной защиты прибыли, чтобы уловить более крупные тенденции при обеспечении частичной прибыли.
Корректировка волатильности: динамическая корректировка размера сделки и уровня стоп-лосса на основе волатильности рынка, что снижает риск во время периодов высокой волатильности.
Добавить фундаментальные фильтры: Рассмотрим влияние важных экономических данных на рынок, приостанавливая торговлю до и после объявления ключевых данных.
Стратегия Multi-Timeframe Market Momentum Crossover является адаптивной торговой системой, основанной на индикаторе MACD, повышающей качество торговли за счет ограниченного времени торговли и строгого управления рисками. Основные преимущества стратегии заключаются в ее четкой логике генерации сигналов и динамическом методе управления рисками, что делает ее подходящей для торговых счетов различных размеров.
Внедрение многочасового подтверждения, динамических стоп-лоссов и дополнительных технических индикаторов позволяет стратегии еще больше улучшить свою производительность и стабильность. В частности, добавление корректировок волатильности и улучшенные стратегии получения прибыли могут помочь стратегии лучше адаптироваться к различным рыночным условиям. Кроме того, учет фундаментальных факторов может повысить всеобъемлющую стратегию.
В целом, эта стратегия предоставляет трейдерам надежную основу, которая может быть персонализирована и оптимизирована для удовлетворения конкретных предпочтений риска и торговых целей.
/*backtest start: 2024-06-28 00:00:00 end: 2024-07-28 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("交易霸傑15掏金策略", overlay=true) // 設置參數 fastLength = input.int(12, title="MACD 快線長度") slowLength = input.int(26, title="MACD 慢線長度") signalSmoothing = input.int(9, title="MACD 信號線平滑") riskPercentage = input.float(2, title="每筆交易的風險比例 (%)") stopLossPoints = 10 takeProfitPoints = 15 // 設置倫敦和紐約市場的開盤時間 londonOpen = timestamp("GMT+0", year, month, dayofmonth, 8, 0) londonClose = timestamp("GMT+0", year, month, dayofmonth, 17, 0) nyOpen = timestamp("GMT+0", year, month, dayofmonth, 13, 30) nyClose = timestamp("GMT+0", year, month, dayofmonth, 20, 0) // 計算MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) macdHist = macdLine - signalLine // 畫出MACD線 hline(0, "0軸", color=color.gray) plot(macdLine, color=color.blue, title="MACD 快線") plot(signalLine, color=color.red, title="MACD 慢線") plot(macdHist, color=color.green, style=plot.style_histogram, title="MACD Histogram") // 動態計算每筆交易的風險和止損、止盈點數 capital = strategy.equity riskAmount = capital * (riskPercentage / 100) contracts = 1 stopLossValue = stopLossPoints * syminfo.mintick takeProfitValue = takeProfitPoints * syminfo.mintick // 確定是否在交易時段內 isLondonOpen = (time >= londonOpen and time <= londonClose) isNyOpen = (time >= nyOpen and time <= nyClose) // 偏空進場條件 shortCondition = ta.crossover(signalLine, macdLine) and macdLine > 0 and (isLondonOpen or isNyOpen) if (shortCondition) strategy.entry("Short", strategy.short, qty=contracts) strategy.exit("Take Profit/Stop Loss", "Short", limit=close - takeProfitValue, stop=close + stopLossValue) // 偏多進場條件 longCondition = ta.crossunder(signalLine, macdLine) and macdLine < 0 and (isLondonOpen or isNyOpen) if (longCondition) strategy.entry("Long", strategy.long, qty=contracts) strategy.exit("Take Profit/Stop Loss", "Long", limit=close + takeProfitValue, stop=close - stopLossValue)