В этой статье представлена система стратегии торговли, которая сочетает в себе множество технических индикаторов. Система интегрирует различные методы технического анализа, включая MACD, EMA, простые скользящие средние и MA100, в сочетании с управлением рисками и временными фильтрами, направленными на предоставление трейдерам комплексного торгового решения.
Эта стратегия представляет собой многостратегическую систему технического анализа, состоящую из четырех независимых подстратегий: стратегия MACD, стратегия EMA8, стратегия Simple MA и стратегия MA100. Система позволяет трейдерам гибко выбирать различные типы стратегий на основе рыночных условий, причем каждая подстратегия имеет свою уникальную логику входа и выхода, поддерживаемую соответствующими механизмами управления рисками.
Стратегия MACD: фиксирует рыночные тенденции путем выявления последовательных восходящих и падающих моделей в гистограмме MACD. Сигналы покупки запускаются тремя последовательными восходящими полосками гистограммы, в то время как сигналы продажи запускаются двумя последовательными падающими полосками.
Стратегия EMA8: сочетает в себе еженедельную EMA8, предыдущие максимумы и анализ моделей свечей. Система входит в длинные позиции, когда цена превышает еженедельную EMA8, закрывается выше предыдущих максимумов и показывает сильные модели свечей. Эта стратегия включает установку стоп-лосса 2%.
Простая стратегия MA: использует несколько экспоненциальных скользящих средних (10,15,25,35,40 периодов) для построения системы, следующей за трендом. Сигналы покупки запускаются, когда кратковременные MAs выше длительных периодов MAs и цены прерываются выше кратковременного MA. Внедряется стоп-лосс 2%.
Стратегия MA100: объединяет 100-дневный MA, 8-дневный MA и 25-дневный MA, включая стохастический осциллятор для условий перепродажи.
Эта многостратегическая торговая система технического анализа предоставляет трейдерам всеобъемлющую основу для принятия решений в торговле путем интеграции нескольких зрелых методов технического анализа. Основные преимущества системы заключаются в ее гибкости и возможностях контроля рисков, хотя для правильной реализации трейдеры должны иметь глубокое понимание рынков. Благодаря постоянной оптимизации и улучшению эта система имеет потенциал стать все более совершенным торговым инструментом.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ v5 code implements multiple trading strategies //@version=5 strategy("Multi-Strategy Trading System", overlay=true) // Input parameters for customization strategy_type = input.string("MACD", "Strategy Type", options=["MACD", "EMA8", "SimpleMA", "MA100"]) show_macd = input.bool(true, "Show MACD Signals") show_ema = input.bool(true, "Show EMA Signals") show_ma = input.bool(true, "Show MA Signals") // MACD Strategy Components [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // Function to detect three consecutive ascending histogram bars isThreeAscendingBars(hist) => not na(hist[3]) and hist[3] < hist[2] and hist[2] < hist[1] and hist[1] < hist[0] // Function to detect two consecutive descending histogram bars isTwoDescendingBars(hist) => not na(hist[2]) and hist[2] > hist[1] and hist[1] > hist[0] // EMA Strategy Components ema8_weekly = request.security(syminfo.tickerid, "W", ta.ema(close, 8)) weeklyHigh = request.security(syminfo.tickerid, "W", high) previousWeekHigh = weeklyHigh[1] isStrongCandleWeekly = request.security(syminfo.tickerid, "W", close > open and (close - open) > (high - low) * 0.6) // Simple MA Strategy Components ema10 = ta.ema(close, 10) ema15 = ta.ema(close, 15) ema25 = ta.ema(close, 25) ema35 = ta.ema(close, 35) ema40 = ta.ema(close, 40) // MA100 Strategy Components ma100 = ta.sma(close, 100) ma8 = ta.sma(close, 8) ma25 = ta.sma(close, 25) // Corrected Stochastic Oscillator Calculation stochK = ta.stoch(high, low, close, 14) stochD = ta.sma(stochK, 3) isOversold = stochK < 20 and stochD < 20 // MACD Strategy Logic if strategy_type == "MACD" // Buy condition: Three ascending histogram bars after lowest if isThreeAscendingBars(histLine) strategy.entry("MACD Buy", strategy.long) // Sell condition: Two descending histogram bars after highest if isTwoDescendingBars(histLine) strategy.close("MACD Buy") // EMA8 Strategy Logic if strategy_type == "EMA8" if close > ema8_weekly and close > previousWeekHigh and isStrongCandleWeekly strategy.entry("EMA8 Buy", strategy.long) strategy.exit("EMA8 Exit", "EMA8 Buy", stop=low - (low * 0.02)) // Simple MA Strategy Logic if strategy_type == "SimpleMA" isUptrend = ema10 > ema15 and ema15 > ema25 and ema25 > ema35 and ema35 > ema40 if isUptrend and close > ema10 and close[1] <= ema10[1] strategy.entry("MA Buy", strategy.long) strategy.exit("MA Exit", "MA Buy", stop=low - (low * 0.02)) // MA100 Strategy Logic if strategy_type == "MA100" isUptrend = ma8 > ma100 and ma25 > ma100 isPriceNearMA100 = math.abs(close - ma100) / ma100 * 100 < 1 if isUptrend and isPriceNearMA100 and isOversold strategy.entry("MA100 Buy", strategy.long) strategy.exit("MA100 Exit", "MA100 Buy", stop=low - (low * 0.03)) // Plotting components for visualization plot(ma100, "MA100", color=color.blue, linewidth=2) plot(ema8_weekly, "EMA8 Weekly", color=color.yellow, linewidth=2) plot(series=histLine, title="MACD Histogram", style=plot.style_histogram, color=histLine > 0 ? color.green : color.red)