Это импульсная стратегия торговли, основанная на перекрестке скользящей средней. Для определения торговых сигналов используется две экспоненциальные скользящие средние (EMAs) с разными периодами. Сигнал покупки генерируется, когда более быстрая EMA пересекает более медленную EMA. Сигнал продажи генерируется, когда более быстрая EMA пересекает ниже более медленной EMA.
Основная логика этой стратегии основана на системе пересечения скользящей средней. $$EMA_t = \frac{P_t \times k}{1+k}+\frac{EMA_{t-1}\times(1-k)}{1+k}$$ где $P_t$ - цена закрытия текущего дня, $EMA_{t-1}$ - значение EMA предыдущего дня, $k = \frac{2}{n+1}$, а n - период EMA.
В этой стратегии быстрый период EMA устанавливается на 55 и медленный период EMA на 34. Когда короткий период EMA пересекает длинный период EMA снизу вверх, это указывает на то, что краткосрочная скользящая средняя начинает вести долгосрочную вверх, генерируя золотой крестный сигнал покупки. Напротив, когда короткий период EMA пересекает ниже длинной период EMA сверху вниз, это указывает на то, что краткосрочная скользящая средняя начинает отставать от долгосрочной вниз, генерируя сигнал продажи смерти.
Преимущества этой стратегии включают:
При использовании этой стратегии есть некоторые риски:
Стратегия может быть усовершенствована из следующих аспектов:
В целом, это очень классическая и практичная краткосрочная торговая стратегия. Она имеет простые ясные сигналы и гибкое пространство применения. Благодаря настройке параметров, фильтрующим механизмам, контролю рисков и т. Д., Производительность стратегии может постоянно улучшаться, что делает ее важным инструментом для высокочастотного внутридневного трейдинга. В целом, эта стратегия очень практична с сильной ценностью применения как базовый модуль для количественной торговли.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("mohammad tork strategy", overlay=true) // Input parameters lengthShortEMA = input(55, title="Short EMA Length") lengthLongEMA = input(34, title="Long EMA Length") // Calculate EMAs emaShort = ta.ema(close, lengthShortEMA) emaLong = ta.ema(close, lengthLongEMA) // Conditions for Long Signal longCondition = ta.crossover(emaLong, emaShort) // Conditions for Short Signal shortCondition = ta.crossunder(emaLong, emaShort) // Execute Long Signal strategy.entry("Long", strategy.long, when = longCondition) // Execute Short Signal strategy.entry("Short", strategy.short, when = shortCondition) // Plot EMAs on the chart plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") // Plot Long Signal Icon with Buy Label plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.abovebar, size=size.small, text="Buy") // Plot Short Signal Icon with Sell Label plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sell")