В этой статье представлена стратегия отслеживания тенденций акций на основе индикатора Stochastics Momentum Index (SMI). Стратегия называется
Индикатор SMI используется для выявления зон перекупления и перепродажи. Значения в красной зоне указывают на перепродажу акций, в то время как зеленая зона означает перекупленные условия. Торговые сигналы генерируются из перекрестка между SMI и его линией EMA.
В частности, длинный сигнал запускается, когда SMI пересекает его EMA и SMI находится ниже уровня перепродажи -40; короткий сигнал запускается, когда SMI пересекает его EMA и SMI находится выше уровня перекупки -40.
Таким образом, стратегия может зафиксировать изменение цены и реализовать покупку низкой продажи высокой.
Поскольку он использует SMI для определения точек входа и выхода, сигналы идеально совпадают с переломом цен.
Кроме того, сам SMI обладает характеристикой сглаживания цен. По сравнению с простыми скользящими средними, он более стабильно реагирует на изменения цен. Торговые сигналы более надежны, не подвергаясь легкому воздействию рыночного шума.
Подводя итог, стратегия успешно использует силы SMI для эффективного отслеживания тенденций акций.
Стратегия в значительной степени опирается на показатель SMI и, следовательно, испытывает некоторые связанные с ним риски.
Во-первых, SMI чувствителен к настройке параметров. Неправильные параметры могут значительно подорвать качество сигнала. Для поиска оптимального требуется обширное тестирование.
Кроме того, ни один индикатор не застрахован от ложных сигналов, включая SMI. В случае высокой волатильности могут возникать сбои, которые приводят к ненужным потерям. Использование SMI вместе с другими индикаторами помогает подтвердить сигналы и уменьшить ошибки.
Наконец, это не смягчает системный рыночный риск. Серьезные потери неизбежны, если весь рынок погрузится в медвежье состояние. Это ограничение применяется ко всем техническим стратегиям.
Стратегия может быть улучшена в следующих аспектах:
Включить другие показатели для формирования синдикатной системы. Это помогает повысить надежность и рентабельность сигнала. Можно добавить фундаментальные факторы и меры волатильности.
Использование машинного обучения для автоматической оптимизации параметров SMI на основе больших исторических данных.
Добавьте механизмы стоп-лосса.
Сочетание количественных правил проверки запасов для улучшения общего качества запасов.
В этой статье мы представляем стратегию Momentum Surfer, которая отслеживает тенденции с помощью индикатора SMI. Ее самая большая сила заключается в том, чтобы улавливать переломы и плавно следовать за тенденциями. Некоторые риски, такие как чувствительность параметров и качество сигнала, присутствуют. Мы предлагаем несколько способов его улучшения. В целом стратегия привлекательна для торговли алгоритмами и стоит реальной проверки торговли.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Stochastics Momentum Index Strategy", shorttitle="Stoch_MTM_Doan", overlay=true) // Input parameters a = input.int(10, "Percent K Length") b = input.int(3, "Percent D Length") ob = input.int(40, "Overbought") os = input.int(-40, "Oversold") // Range Calculation ll = ta.lowest(low, a) hh = ta.highest(high, a) diff = hh - ll rdiff = close - (hh+ll)/2 avgrel = ta.ema(ta.ema(rdiff,b),b) avgdiff = ta.ema(ta.ema(diff,b),b) // SMI calculations SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0 SMIsignal = ta.ema(SMI,b) emasignal = ta.ema(SMI, 10) // Color Definition for Stochastic Line col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white plot(SMIsignal, title="Stochastic", color=color.white) plot(emasignal, title="EMA", color=color.yellow) level_40 = ob level_40smi = SMIsignal > level_40 ? SMIsignal : level_40 level_m40 = os level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40 plot(level_40, "Level ob", color=color.red) plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line) plot(level_m40, "Level os", color=color.green) plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line) //fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold") //fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought") // Strategy Tester longCondition = ta.crossover(SMIsignal, emasignal) and (SMI < os) if (longCondition) strategy.entry("Buy", strategy.long) shortCondition = ta.crossunder(SMIsignal, emasignal) and (SMI > ob) if (shortCondition) strategy.entry("Sell", strategy.short)