Количественная торговая стратегия, основанная на ежемесячной скользящей средней


Дата создания: 2023-12-15 11:49:06 Последнее изменение: 2023-12-15 11:49:06
Копировать: 1 Количество просмотров: 357
1
Подписаться
1166
Подписчики

Количественная торговая стратегия, основанная на ежемесячной скользящей средней

Обзор

Эта стратегия основана на равномерных операциях на лунной и квартальной линиях, в частности, на 20-й лунной и 60-й квартальной линиях. Сигналы стратегии исходят из двух равномерных линий.

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

Эта стратегия использует 20-дневную простую скользящую среднюю как показатель месячной линии, 60-дневную простую скользящую среднюю как показатель квартальной линии. Логика генерации конкретных торговых сигналов следующая:

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

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

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

  1. Использование среднемесячной квартальной линии для фильтрации рыночного шума и улавливания средне- и длиннолинейных тенденций.
  2. Параметры стратегии просты и легко реализуемы.
  3. Конфигурируемые параметры Stop Loss, контролирующие риск.

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

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

Решение проблемы:

  1. Применение мобильного отслеживания убытков, своевременное устранение убытков.
  2. В сочетании с другими показателями фильтруют сигналы, чтобы определить тенденцию.
  3. Настройка среднелинейных параметров, оптимизация стратегии.

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

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

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

Эта стратегия Overall XXXXX systematically использует преимущества среднемесячной средней линии, чтобы определить направление средне-длинной линии через золотой и серебряный мертвый форк на средней линии. При этом имеет разумный механизм контроля риска.

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

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")