- Площадь
- В конце месяца прорыв на 200-дневной стратегии скользящей средней
В конце месяца прорыв на 200-дневной стратегии скользящей средней
Автор:
Чао Чжан, Дата: 2023-12-08 16:02:08
Тэги:
Обзор
Эта стратегия основана на ценовом прорыве 200-дневной скользящей средней в конце месяца, чтобы определить направление тренда цен на акции.
Принцип стратегии
- Использовать 200-дневную простую скользящую среднюю dma200 в качестве индикатора для оценки тенденции цен
- В последний торговый день каждого месяца оценить, является ли цена закрытия выше dma200
- Если цена закрытия превышает 200-дневную МР, устанавливается полная длинная позиция на открытии следующего торгового дня.
- Если цена закрытия превышает 200-дневную МР, очистить все позиции в начале следующего торгового дня.
- Это может достичь эффекта следующего тренда, устанавливая позиции, когда цены на акции вступают в восходящую тенденцию и избегая нисходящих тенденций.
Анализ преимуществ
- Преимущество стратегии заключается в том, что она проста и эффективна, легко понятна и реализована.
- Принятие позиций в конце месяца может уменьшить частоту торговли и минимизировать затраты на торговлю и влияние скольжения
- 200-дневный MA является очень часто используемым средне- и долгосрочным индикатором оценки тренда, эффективным для большинства акций
- Стратегия имеет относительно небольшое использование и максимальное снижение, с контролируемыми рисками
Анализ рисков
- 200-дневный MA может быть недостаточно чувствительным для некоторых акций, чтобы вовремя отслеживать изменения цен
- Для занятия позиций в месяц существует только одна торговая точка, которая может упустить возможности для подъема/снижения.
- Стратегия может не дать правильной оценки, когда общая тенденция рынка неопределена
- Чтобы снизить эти риски, следует объединить другие показатели
Руководство по оптимизации
- Подумайте об увеличении торговых точек в начале или середине месяца для улучшения частоты стратегии
- Добавьте такие индикаторы, как полосы Боллинджера, чтобы оценить колебания цен и избежать неправильных сделок.
- Оценить эффекты приспособления различных параметров МД на различные запасы для поиска оптимальных комбинаций параметров
- Создать механизмы динамического размещения позиций для активного прекращения потерь при слишком высоком снижении.
Резюме
Стратегия относительно проста и практична в целом, эффективно отражая средне- и долгосрочные ценовые тенденции акций через выход в конце месяца из 200-дневной МА, с относительно небольшим снижением и рисками.
/*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/
// © muscleriot
//200 dma
//2000-2016 backtested
//1 signal per month only at end of month
//If > 200DMA enter long
//If < 200DMA goto cash
//results: 318% drawdown 17% vs 125% with 55% drawdown for buy and hold
//@version=5
strategy("200DMA last DOM - ajh", overlay =true,default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Use 100% of equity always
dma200 = ta.sma(close, 200)
plot(dma200, color=color.red, linewidth = 2)
//e =dayofmonth(time)
// backtesting date range
from_day = input.int(defval=1, title="From Day", minval=1, maxval=31)
from_month = input.int(defval=1, title="From Month", minval=1, maxval=12)
from_year = input.int(defval=2018, title="From Year", minval=1900)
to_day = input.int(defval=1, title="To Day", minval=1, maxval=31)
to_month = input.int(defval=1, title="To Month", minval=1, maxval=12)
to_year = input.int(defval=9999, title="To Year", minval=1900)
time_cond = time > timestamp(from_year, from_month, from_day, 00, 00) and
time < timestamp(to_year, to_month, to_day, 23, 59)
xLong = dayofmonth(time) == 30 and (close > dma200) ? true : na
xSell = dayofmonth(time) == 30 and (close < dma200) ? true : na
plotchar(xLong, "long","L", color=color.green)
plotchar(xSell, "Sell","S", color=color.red)
if (xLong == true) and time_cond
strategy.entry("long", strategy.long)
if (xSell == true) and time_cond
strategy.close("long")
Больше