Стратегия "Золотой крест" - это простой рыночный индикатор, который помогает долгосрочным инвесторам определить сроки входа. Стратегия генерирует торговые сигналы на основе перекресток краткосрочных и долгосрочных скользящих средних. Когда краткосрочная скользящая средняя пересекается выше долгосрочной скользящей средней, образуя Золотой крест, это сигнализирует о том, что рынок вступает в бычий тренд и длинные позиции могут быть открыты. Когда краткосрочная скользящая средняя пересекается ниже долгосрочной скользящей средней, образуя Смертный крест, это сигнализирует о том, что рынок входит в медвежий тренд и существующие позиции должны быть закрыты.
Эта стратегия использует функцию sma для вычисления краткосрочных и долгосрочных простых скользящих средних. Длина краткосрочного MA устанавливается на 50 дней, а длина долгосрочного MA устанавливается на 200 дней. Стратегия определяет, пересекает ли краткосрочный MA или пересекает под долгосрочным MA с использованием функций кроссовера и кроссондера, которые генерируют торговые сигналы.
Когда краткосрочный MA пересекает длительный MA, он сигнализирует, что тенденция меняется с нисходящего на восходящий, образуя Золотой Крест, который является сигналом длинного входа. Стратегия откроет длинную позицию с помощью strategy.entry. Когда краткосрочный MA пересекает длительный MA, он сигнализирует, что тенденция меняется с восходящего на нисходящий, образуя Смертный Крест, который является сигналом выхода. Стратегия закрывает все позиции с помощью strategy.close_all.
Захватив точки обратного движения тренда, обозначенные золотыми/смертными крестами, для определения времени входа и выхода, стратегия может эффективно отфильтровывать рыночный шум и является простой и практичной стратегией следования тренду.
Риски можно управлять путем добавления стоп-лосса, оптимизации параметров MA для уменьшения ложных сигналов, объединения с другими индикаторами для подтверждения сигналов и разработки механизмов для обработки событий черного лебедя.
Стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать параметры MA путем корректировки длины краткосрочных и долгосрочных MA, чтобы лучше соответствовать различным характеристикам рынка;
Добавить условие громкости к сигналам запуска только при увеличении громкости;
Включить другие индикаторы, такие как MACD, RSI, чтобы подтвердить перекрестные сигналы и избежать ложных сигналов;
Добавьте стратегии стоп-лосса, такие как стоп-лосс задержки, процент стоп-лосса для контроля одиночных потерь;
Добавить стратегии размещения позиций, такие как фиксированная доля, экспоненциальное размещение для контроля общего риска;
Оптимизируйте вход, наблюдая в течение некоторого времени после перекрестка, чтобы отфильтровать поддельные перекрестки.
С помощью вышеуказанных оптимизаций параметры стратегии могут лучше соответствовать статистическим свойствам рынка, фильтровать ложные сигналы, контролировать риски и еще больше улучшать стабильность и рентабельность стратегии при сохранении простоты.
Стратегия Золотого Креста - это простая, но практичная стратегия следования трендам. Она интуитивно улавливает рыночные тенденции с помощью скользящих средних крестов и может эффективно идентифицировать точки входа и выхода для долгосрочных инвесторов. Легко внедряемая, подходящая для обучения новичков и адаптируемая к различным оптимизациям, стратегия может стать гибкой и надежной торговой системой. В целом, сочетая простоту и практичность, стратегия Золотого Креста является ценным дополнением к количественному набору инструментов для торговли.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) lShort = input(50, title="short length") lLong = input(200, title="long length") src = input(close, title="Source") smaShort = sma(src, lShort) smaLong = sma(src, lLong) plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime) plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red) // //Backtest Time Inputs // testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(1, "Backtest Stop Month") testStopDay = input(01, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na bgcolor(testPeriodBackgroundColor, transp=80) testPeriod() => true if testPeriod() longCondition = crossover(smaShort, smaLong) if (longCondition) strategy.entry("Long Entry", strategy.long) shortCondition = crossunder(smaShort, smaLong) if (shortCondition) strategy.close_all(true)