
Эта стратегия основана на движущемся среднем (MA) для выявления переломных точек в рыночной тенденции, чтобы поймать падение и падение цен на акции в краткосрочной перспективе. Стратегия рассчитывает два различных цикла MA, то есть MA с более коротким периодом и MA с более длительным периодом. Когда короткий период MA пересекает длинный период MA, создается сигнал покупки; когда короткий период MA пересекает длинный период MA, создается сигнал продажи.
Центральная логика определения этой стратегии заключается в перекрестной связи между краткосрочным МА и долгосрочным МА. Краткосрочный МА более быстро реагирует на изменения цен в течение последнего периода времени, в то время как долгосрочный МА обладает лучшей способностью к шумоизоляции и отражает долгосрочные ценовые тенденции.
В частности, стратегия применяет функцию ta.sma к цене закрытия, рассчитывая две линии MA: maShort (на 9 циклов) и maLong (на 21 цикл). Затем использует функции ta.crossover и ta.crossunder для определения перекрестной связи между коротким и длинным MA, чтобы генерировать сигналы покупки и продажи. В конце концов, устанавливается логика стоп-стопа для блокирования прибыли и контроля риска.
По сравнению с системой с единственным МА, эта стратегия комплексно учитывает ценность краткосрочного и долгосрочного МА, что позволяет уменьшить ложные сигналы и повысить вероятность получения прибыли. В то же время, перекрестные сигналы МА четко и легко читаются, правила работы являются непосредственно эффективными и очень подходят для использования трейдером, знакомым с техническим анализом.
Если только механизм следит за сигналом пересечения MA и не может судить о тенденциях рынка и характеристиках отдельных акций, то может возникнуть проблема низкой прибыльности или повышения стоимости сделки при высокой частоте торгов. Кроме того, сам сигнал пересечения MA может отставать от истинной точки перехода тренда и, таким образом, упустить оптимальный момент перехода.
Например, можно использовать другие технические показатели, такие как MACD, KDJ и т. Д., чтобы проверить сигналы перекрестного MA, чтобы избежать ошибочных суждений. Также можно корректировать параметры MA для различных типов торгов, что повышает стабильность стратегии. При этом следует корректировать уровень остановки, чтобы предотвратить чрезмерную потерю одной купюры.
Эта стратегия основана на принципе перекрестных МА. Она одновременно сочетает в себе преимущества краткосрочных МА и долгосрочных МА, учитывает как недавние ценовые движения, так и долгосрочные тенденции, что приводит к высокому качеству торговых сигналов. Эта стратегия подходит для активных трейдеров, привыкших к использованию инструментов технического анализа, которые могут оптимизировать методы, такие как корректировка параметров МА, и получать от этого богатую дополнительную прибыль.
/*backtest
start: 2023-12-19 00:00:00
end: 2024-01-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Intraday MA Crossover Strategy", overlay=true)
// Define MA lengths
maLengthShort = input.int(9, title="Short MA Length", minval=1)
maLengthLong = input.int(21, title="Long MA Length", minval=1)
// Calculate MAs
maShort = ta.sma(close, maLengthShort)
maLong = ta.sma(close, maLengthLong)
// Plot MAs on the chart
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")
// Generate Buy Signal (Golden Cross: Short MA crosses above Long MA)
buySignal = ta.crossover(maShort, maLong)
strategy.entry("Buy", strategy.long, when=buySignal)
// Generate Sell Signal (Death Cross: Short MA crosses below Long MA)
sellSignal = ta.crossunder(maShort, maLong)
strategy.entry("Sell", strategy.short, when=sellSignal)
// Set stop loss and take profit levels
stopLossPercent = input.float(1, title="Stop Loss %", minval=0.1, maxval=5)
takeProfitPercent = input.float(1, title="Take Profit %", minval=0.1, maxval=5)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=close * stopLossPercent / 100, profit=close * takeProfitPercent / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", loss=close * stopLossPercent / 100, profit=close * takeProfitPercent / 100)