
В этой статье будет представлена система торговой стратегии, объединяющая несколько технических индикаторов. Система предназначена для предоставления трейдерам всеобъемлющего торгового решения путем интеграции нескольких методов технического анализа, таких как MACD, EMA, SIMPLE MOVING AVERAGE и MA100, в сочетании с управлением риском и временными фильтрами.
Стратегия представляет собой многостратегическую комбинацию технических аналитических систем, состоящих из четырех независимых подстратегий: MACD-стратегия, EMA8-стратегия, простая MA-стратегия и MA100-стратегия. Система позволяет трейдерам гибко выбирать различные типы стратегий в зависимости от рыночных условий. Каждая из подстратегий имеет свою уникальную логику входа и выхода, а также соответствующие механизмы управления рисками.
MACD-стратегия: для захвата рыночных тенденций с помощью идентификации последовательных восходящих и нисходящих моделей на диаграмме MACD. При появлении трех последовательных восходящих столбцов диаграммы запускается сигнал покупки, а два последовательных нисходящих столбца диаграммы запускаются сигнал продажи.
Стратегия EMA8: в сочетании с круговой EMA8 средней, предыдущих высоких и K-линии анализом формы. Когда цена прорывает круговой EMA8 и закрытие цены выше предыдущей высокой, а также появляется сильная K-линия, система совершает покупку. Эта стратегия оснащена 2%-ной установкой на остановку убытка.
Простая стратегия MA: создание системы отслеживания трендов с использованием многочисленных индексных скользящих средних (с 10, 15, 25, 35, 40 циклов). Вызывает сигнал покупки, когда более короткие средние циклы находятся выше более длинных средних циклов, и цена прорывает самые короткие средние циклы.
Стратегия MA100: в сочетании со 100-дневным средним, 8-дневным средним и 25-дневным средним и с введением случайных индикаторов для суждения о перепродаже. Когда краткосрочный средний находится выше долгосрочного среднего и цена колеблется вблизи MA100, система ищет возможности покупки в перепроданной зоне.
Эта многостратегическая комбинация технического анализа торговой системы обеспечивает трейдерам всеобъемлющую рамку для принятия решений по торговле путем интеграции нескольких устоявшихся методов технического анализа. Основные преимущества системы заключаются в ее гибкости и способности контролировать риск, но в то же время она требует от трейдеров более глубокого понимания рынка, чтобы правильно его использовать.
/*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)