Стратегия открытия пересечения двойной скользящей средней

MA5 SMA
Дата создания: 2024-04-30 17:37:53 Последнее изменение: 2024-04-30 17:37:53
Копировать: 10 Количество просмотров: 592
1
Подписаться
1617
Подписчики

Стратегия открытия пересечения двойной скользящей средней

Обзор

Основная идея этой стратегии заключается в том, чтобы открыть позицию на определенном расстоянии выше или ниже MA5 и закрыть позицию, когда цена закрытия выше цены открытия, или вернуться к цене открытия. Эта стратегия предназначена для захвата краткосрочных тенденций, контролируя при этом риск.

Стратегический принцип

Стратегия использует 5-дневную простую скользящую среднюю ((SMA) в качестве основного индикатора. Исполняется сценарий купли-продажи, когда цена открытия новой карты выше MA5; сценарий купли-продажи, когда цена открытия новой карты ниже MA5 и находится на расстоянии более 0,002 от MA5; сценарий купли-продажи, когда цена открытия открытой позиции выше средней цены открытой позиции или равна средней цене открытой позиции; сценарий купли-продажи, когда цена открытой позиции ниже средней цены открытой позиции на 0,1%.

Анализ преимуществ

  1. Эта стратегия основана на краткосрочных тенденциях и позволяет быстро улавливать изменения на рынке.
  2. Некоторые сигналы шума можно отфильтровать, установив порог расстояния от MA5.
  3. Установка условий стоп-лосса позволяет эффективно контролировать риск.
  4. Стратегическая логика ясна, легко понятна и реализуема.

Анализ рисков

  1. Стратегия опирается на один показатель, который может быть подвергнут риску неудачи.
  2. Стратегии краткосрочных трендов могут быть подвержены риску частых сделок и увеличения стоимости сделок.
  3. Фиксированная стоп-раздел может быть непригодна для различных рыночных условий.

Направление оптимизации

  1. Для повышения надежности сигналов можно рассмотреть возможность внедрения других показателей, таких как RSI, MACD и т. д.
  2. Можно оптимизировать условия остановки и остановки, например, с помощью мобильной остановки или динамической остановки.
  3. Различные параметры могут быть установлены для различных рыночных условий, что повышает адаптивность стратегии.

Подвести итог

Эта стратегия является простой стратегией, основанной на краткосрочных тенденциях. Через переход вверх и вниз по MA5, а также настройка на расстояние от отметки, можно захватить краткосрочные возможности тренда. В то же время, фиксированная стоп-процент может контролировать риск. Но у этой стратегии также есть некоторые ограничения, такие как зависимость от одного показателя, частые сделки и т. д. В будущем можно рассмотреть возможность введения большего количества показателей, оптимизировать условия стоп-порогов, повысить устойчивость и адаптивность стратегии.

Исходный код стратегии
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("YBS Strategy 1.1", overlay=true)

// Moving Average Settings
ma5 = ta.sma(close, 5)

// Scenario 1: Buy when a new candle opens above the MA5
buy_condition_scenario1 = open > ma5

// Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5
distance_from_ma5 = open - ma5
buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here

// Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price
sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price
sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price

// Execute buy and sell orders
if (buy_condition_scenario1 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 1", strategy.long)

if (buy_condition_scenario2 and not (strategy.opentrades > 0))
    strategy.entry("Buy Scenario 2", strategy.long)

if (sell_condition_scenario1)
    strategy.close("Buy Scenario 1")

if (sell_condition_scenario2)
    strategy.close("Buy Scenario 2")