Эта стратегия, написанная в Pine Script, направлена на выявление потенциальных сигналов покупки и продажи на основе модели 1-2-3, в сочетании с дополнительными условиями, включающими экспоненциальные скользящие средние (EMAs) и индикатор конвергенции скользящей средней (MACD).
Основой этой стратегии является выявление паттерна 1-2-3, который представляет собой общий ценовой паттерн, состоящий из трех последовательных свечей, указывающих на потенциальное изменение тренда. Для сигналов покупки первая свеча закрывается выше своего открытия, вторая свеча закрывается ниже своего открытия, третья свеча закрывается выше закрытия первой свечи и, наконец, четвертая свеча закрывается выше закрытия третьей свечи. Условия для сигналов продажи прямо противоположны.
В дополнение к модели 1-2-3, стратегия использует индикаторы EMA и MACD для подтверждения направления тренда и потенциальных переворотов тренда.
При выполнении всех условий покупки, т.е. формировании паттерна 1-2-3, когда цена закрытия выше обеих EMA, а линия MACD выше линии сигнала, стратегия открывает длинную позицию. Аналогичным образом, при выполнении всех условий продажи стратегия открывает короткую позицию. Стратегия закрывает соответствующие позиции, когда генерируется противоположный сигнал или когда текущая свеча закрывается в противоположном направлении позиции.
Эта стратегия, основанная на модели 1-2-3, EMA и индикаторах MACD, обеспечивает комплексный подход к выявлению потенциальных сигналов покупки и продажи. Она сочетает в себе ценовые модели, подтверждение тренда и индикаторы импульса для создания надежных торговых сигналов. Однако стратегия также имеет некоторые ограничения, такие как отсутствие мер управления рисками и оптимизации параметров. Благодаря включению многочасового анализа, динамического стоп-лосса, размеров позиций и оптимизации параметров, можно еще больше улучшить производительность стратегии. Кроме того, включение других технических индикаторов или индикаторов настроения рынка также может помочь повысить надежность сигналов. Несмотря на эти улучшения, стратегия все еще нуждается в тщательной поддержке и проверке, прежде чем применять ее к живой торговле.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("1-2-3 Pattern Strategy with EMAs, MACD, and 4th Candle Extension", overlay=true) // Define conditions for the 1-2-3 pattern for buy orders buy_candle1_above_open = close[3] > open[3] buy_candle2_below_open = close[2] < open[2] buy_candle3_above_close = close[1] > close[3] buy_candle4_above_close = close > close[3] // Define conditions for the 1-2-3 pattern for sell orders sell_candle1_below_open = close[3] < open[3] sell_candle2_above_open = close[2] > open[2] sell_candle3_below_close = close[1] < close[3] sell_candle4_below_close = close < close[3] // Fetch 9 EMA, 20 EMA, and MACD ema_9 = ta.ema(close, 9) ema_20 = ta.ema(close, 20) [macd_line, signal_line, _] = ta.macd(close, 12, 26, 9) // Implement strategy logic for buy orders if (buy_candle1_above_open and buy_candle2_below_open and buy_candle3_above_close and buy_candle4_above_close and strategy.opentrades == 0 and close > ema_9 and close > ema_20 and macd_line > signal_line) strategy.entry("Buy", strategy.long, qty=5) if (close < open and strategy.opentrades > 0) strategy.close("Buy", qty=5) // Implement strategy logic for sell orders if (sell_candle1_below_open and sell_candle2_above_open and sell_candle3_below_close and sell_candle4_below_close and strategy.opentrades == 0 and close < ema_9 and close < ema_20 and macd_line < signal_line) strategy.entry("Sell", strategy.short, qty=5) if (close > open and strategy.opentrades > 0) strategy.close("Sell", qty=5)