Эта стратегия рассчитывает скользящие средние линии нескольких временных рамок для определения тенденции в разные периоды. Она длинная, когда цена пересекает скользящие средние, и короткая, когда цена пересекает ниже скользящих средних. Кроме того, для сбалансирования рисков и прибыли включаются стоп-лосс и прибыль.
Стратегия основана на следующих ключевых моментах:
Вычислить 21-дневные, 50-дневные, 100-дневные и 200-дневные простые скользящие средние.
Идите длинный, когда цена пересекает любой из скользящих средних, и идти короткий, когда он пересекает ниже.
Установите стоп-лосс близко к самой низкой цене предыдущей панели после открытия длинных позиций и к самой высокой цене после открытия коротких позиций.
Установите цели получения прибыли ниже самой низкой цены для длинных позиций и выше самой высокой цены для коротких позиций в определенных диапазонах.
Закрыть позиции, когда цена достигнет уровня стоп-лосса или уровень прибыли.
Суждение о тенденциях в нескольких временных рамках может улучшить надежность торговых сигналов и позволить нам следовать за тенденциями, когда они относительно ясны.
Основными преимуществами этой стратегии являются:
Улучшенная надежность сигнала с помощью анализа нескольких временных рамок. Различные перекрестки скользящих средних помогают отфильтровать некоторые ложные сигналы и позволяют торговать в более четкие моменты тренда.
Динамические остановки облегчают контроль риска. Расчет остановок на основе ценового действия обеспечивает разумные диапазоны для ограничения максимальных потерь на основе каждой сделки.
Простая и понятная структура кода. Синтаксис Pine предлагает читаемые структуры для легкой настройки параметров и оптимизации.
Легкое практическое применение. Кроссоверы скользящих средних являются классической стратегической идеей, которая может быть легко реализована в живой торговле с правильной настройкой параметров.
Также следует учитывать некоторые риски:
Неточная оценка тренда. Движущиеся средние могут производить смешанные сигналы и отставание, что приводит к неправильным торговым сигналам.
Стоп-потери могут быть легко вызваны огромными разрывами в ценах или реверсиями, что приводит к большим потерям.
Неправильное установление параметров увеличивает убытки. Слишком широкие остановки или узкие прибыли могут увеличить максимальную потерю на сделку.
Долгосрочные риски держания: эта тенденция, следующая за стратегией, не учитывает долгосрочную рентабельность и может потреблять значительный капитал с течением времени.
Реальные торговые различия: затраты на торговлю, скольжение и т.д. могут влиять на доходность при применении на реальных торговых платформах.
Решения:
Добавьте подтверждение сигнала с другими индикаторами, такими как KDJ, MACD и т.д.
Регулировать ширину остановки на основе рыночных условий, чтобы избежать преждевременного запуска.
Оптимизировать параметры и оценивать долгосрочную отдачу и снижение.
Тщательно проверяйте стратегии в бумажной торговле и добавляйте ручные остановки.
Есть возможности для дальнейшего совершенствования:
Добавьте количественные правила входа и выхода, например, проверьте новые максимумы и минимумы, чтобы обеспечить торговлю с более четкими тенденциями.
Инклюзивное размещение позиций и управление рисками. Динамический размер позиций на основе размера счета и рыночных условий.
Используйте такие индикаторы, как PRZ, ATR, DMI и т. д., чтобы отфильтровать и выбрать соответствующие тенденции.
Сменяйте длинные и короткие периоды хранения.
Создать фондовый пул с использованием моделей инвестирования факторов.
Добавьте машинное обучение для контроля рисков. Используйте LSTM, RNN и т. Д., Чтобы помочь в суждении и предотвратить человеческие ошибки.
Эта простая стратегия пересечения скользящей средней предлагает легкую реализацию для следования тренду. Динамические остановки помогают контролировать риски. Но существуют некоторые неточности сигнала и риски випса. Дальнейшие оптимизации параметров и дополнительные методы могут привести к более надежной производительности.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true) // Input for Moving Averages ma21 = ta.sma(close, 21) ma50 = ta.sma(close, 50) ma100 = ta.sma(close, 100) ma200 = ta.sma(close, 200) // Calculate the lowest point of the previous candle for stop loss lowestLow = ta.lowest(low, 2) // Calculate the highest point of the previous candle for stop loss highestHigh = ta.highest(high, 2) // Calculate take profit levels takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh) takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh) // Entry Conditions longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200) shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200) // Stop Loss Levels stopLossLong = lowestLow * 0.995 stopLossShort = highestHigh * 1.005 // Exit Conditions longExitCondition = low < stopLossLong or high > takeProfitLong shortExitCondition = high > stopLossShort or low < takeProfitShort if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (longExitCondition) strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong) if (shortExitCondition) strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)