Стратегия отслеживания тренда «Золотой крест» и «Мертвый крест» на скользящей средней


Дата создания: 2023-12-08 15:23:33 Последнее изменение: 2023-12-08 15:23:33
Копировать: 1 Количество просмотров: 601
1
Подписаться
1621
Подписчики

Стратегия отслеживания тренда «Золотой крест» и «Мертвый крест» на скользящей средней

Эта стратегия использует пересечение движущегося среднего между 20-дневной и 60-дневной линией, чтобы сформировать сигнал о покупке и продаже. Когда цена поднимается, она пробивает 20-дневную линию, и делает больше; когда цена падает, она пробивает 20-дневную линию, и делает меньше.

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

  1. Вычислите 20-дневную простую подвижную среднюю и 60-дневную простую подвижную среднюю
  2. Когда цена на акции выходит за 20-дневную линию, делайте больше.
  3. Когда цены закрытия упали и пересекли 20-дневную линию, позиции были сброшены.
  4. Когда цены на криптовалюту выходят за 60-дневную линию, делайте больше.
  5. Когда конечная цена упала и прошла 60-дневную линию, она была сброшена.

Выше приведены торговые сигналы и правила, которые формируют эту стратегию. Когда цена превышает среднюю, это означает, что началась тенденция, и можно следить за тенденцией; когда цена падает ниже средней, это означает, что тенденция закончилась, и тогда это правильный выбор.

Стратегические преимущества

  1. Двойные скользящие средние, используемые в комбинации, делают стратегию более стабильной. 20-дневная линия позволяет быстрее улавливать краткосрочные трендовые возможности; 60-дневная линия фильтрует часть краткосрочного рыночного шума, блокируя среднесрочные и долгосрочные тенденции.
  2. С 2018 года был выбран тайваньский фондовый рынок, где система торговли была более совершенной, чем на материковой части, и более эффективно отражала стратегический эффект.
  3. Установлен разумный контроль за стоп-страхами и позициями, чтобы максимально контролировать риск.

Стратегический риск

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

Решение риска:

  1. Можно добавить другие пакеты индикаторов, такие как KDJ, MACD и т. Д., чтобы создать многократную проверку и избежать ошибочных сделок.
  2. Оптимизация позиций и эффективность использования торговых средств в зависимости от таких факторов, как рыночная стоимость, волатильность.
  3. Можно использовать асимметричную операцию в зависимости от различных этапов индекса большого рынка, уменьшить торговлю при шок-корректировке и увеличить позиции при четкой тенденции.

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

  1. Оптимизация количества покупок и продаж. Количество позиций может быть скорректировано в зависимости от динамики стоп-информации.
  2. Оптимизация параметров суточных скользящих средних. Лучшие параметры могут быть найдены с помощью методов пошаговой оптимизации, случайной оптимизации и т. д.
  3. Увеличение стратегии стоп-лосса. Перемещение стоп-лосса или установка стоп-лосса может лучше защитить прибыль.
  4. Повышение управляемой позиции. Динамическая корректировка позиции по отдельным сделкам в зависимости от размера капитала и рыночной стоимости.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Astorhsu

//@version=5
strategy("Astor SMA20/60 TW", overlay=true, margin_long=100, margin_short=100)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31)  //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00)  //回測開始的時間函數

//Indicators
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")

//進場條件
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition) and time >= start_time
    strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")


shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition) and time >= start_time
    strategy.close("open long20",comment="跌破m20平倉", qty=1)     
    
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1) and time >= start_time
    strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")


shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1) and time >= start_time
    strategy.close("open long60",comment="跌破m60平倉", qty=1)