Основная идея этой стратегии состоит в том, чтобы использовать золотой крест и смертельный крест быстрых и медленно движущихся средних линий, чтобы судить о тенденции рынка и реализовать торговлю с низким риском. Когда быстрая движущаяся средняя линия пересекает линию над медленно движущейся средней линией, это указывает на то, что рынок может вступить в восходящий тренд, поэтому идите в длинный; когда быстрая движущаяся средняя линия пересекает линию ниже медленно движущегося среднего, это указывает на то, что рынок может вступить в нисходящий тренд, поэтому идите в короткий.
Эта стратегия использует экспоненциальную скользящую среднюю цены. Кользящая средняя - это индикатор анализа тренда, который сглаживает данные о ценах для оценки ценовых тенденций. Быстрая скользящая средняя имеет меньший параметр и может быстрее реагировать на изменения цен; медленная скользящая средняя имеет больший параметр и реагирует на изменения цен медленнее. Когда быстрая скользящая средняя пересекает более медленной скользящей средней, это указывает на то, что рынок может входить в бычий рынок, и должна быть установлена длинная позиция; когда быстрая скользящая средняя пересекает ниже медленной скользящей средней, это указывает на то, что рынок может входить в медвежий рынок, и должна быть установлена короткая позиция.
В частности, эта стратегия определяет две экспоненциальные скользящие средние, с периодами 21 и 55 для быстрого и медленного скользящего среднего соответственно. Стратегия определяет вход и выход на основе золотого креста и смертного креста двух скользящих средних линий.
Кроме того, эта стратегия также использует индикатор волатильности ATR для установки стоп-лосса и получения прибыли. ATR может эффективно оценить степень волатильности рынка. Стоп-лосс устанавливается на расстоянии 1,5 раз от цены ATR; прибыль устанавливается близко к расстоянию 1 раз от цены ATR.
Эта стратегия имеет следующие преимущества:
Эта стратегия также сопряжена с некоторыми рисками:
Для устранения вышеуказанных рисков мы можем оптимизировать следующие аспекты:
Эта стратегия может быть дополнительно оптимизирована в следующих аспектах:
Использовать методы машинного обучения для автоматической оптимизации параметров скользящей средней для лучшей адаптации.
Добавьте фундаментальные показатели в качестве фильтрующих условий, чтобы избежать слепого длинного или короткого курса, когда появятся серьезные негативные новости, такие как решения ФРС по ставкам и важные выпуски макроданных.
Установите верхние и нижние пределы волатильности, приостановить торговлю, когда ATR становится слишком высоким или слишком низким, чтобы избежать потерь в экстремальных рыночных условиях.
Включайте основные показатели акций, такие как соотношение P / E и увеличение объема торговли, чтобы установить динамические диапазоны стоп-лосса и прибыли.
Добавить механизмы размещения позиций, постепенное сокращение позиций, когда коэффициент прибыли достигает определенного уровня, приостановление торговли в течение периода, когда они испытывают относительно большие потери и т. Д.
Общая логика этой стратегии ясна и проста, используя двойные пересечения скользящих средних для определения рыночных тенденций, типичный тренд после стратегии. Между тем, стратегия также очень хорошо контролирует риски, используя индикатор ATR для динамического настройки стоп-лосса и получения прибыли. При дальнейшей оптимизации стратегия может быть улучшена с точки зрения контроля за снижением и трендовой езды, что приводит к более устойчивой инвестиционной эффективности.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="No-Nonsense Strategy Template [WM]", overlay = true) price = close // // ATR stuff // atrLength = input(14, "ATR Length") slMultiplier = input(1.5, "SL") tpMultiplier = input(1, "TP1") atr = atr(atrLength) // // Strategy under test. MA crossover // fastInput = input(21) slowInput = input(55) fast = ema(price, fastInput) slow = ema(price, slowInput) plot(fast, color = red) plot(slow, color = blue) goLong = crossover(fast, slow) goShort = crossunder(fast, slow) if (goLong) sl = price - atr * slMultiplier tp = price + atr * tpMultiplier strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop = sl, limit = tp) if (goShort) sl = price + atr * slMultiplier tp = price - atr * tpMultiplier strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop = sl, limit = tp)