Стратегия гистограммы MACD


Дата создания: 2023-12-25 11:45:10 Последнее изменение: 2023-12-25 11:45:10
Копировать: 0 Количество просмотров: 832
1
Подписаться
1623
Подписчики

Стратегия гистограммы MACD

Обзор

Эта стратегия основана на MACD для создания торговых сигналов по RSI. Она объединяет в себе характеристики RSI, определяющие перекуп и перепродажу рынка, и преимущества MACD для определения тенденций рынка и изменений в динамике, чтобы разработать стратегию, которая будет предоставлять торговые сигналы с использованием нескольких индикаторов.

Стратегический принцип

Эта стратегия сначала рассчитывает RSI, а затем MACD на основе RSI. RSI может судить о том, что рынок перекупается и перепродается, а MACD может улавливать изменения в тенденциях и динамике рынка.

В частности, сначала стратегия рассчитывает показатель RSI на 14 циклов. Затем на основе показателя RSI рассчитывается показатель MACD, включая среднюю линию EMA на 12 и 26 циклов, а также сигнальную линию на 9 циклов.

Когда MACD пересекает 0-ую ось, генерируется сигнал покупки; когда MACD пересекает 0-ую ось, генерируется сигнал продажи. Таким образом, используется RSI, чтобы определить, что рынок перекупает и перепродает, а MACD используется для определения тенденций рынка и изменений в динамике, чтобы генерировать торговые сигналы.

Стратегические преимущества

Такая стратегия объединяет в себе преимущества RSI и MACD, позволяя более полно судить о состоянии рынка, а также дает более надежные сигналы.

  1. Использование RSI для определения состояния перекупа и перепродажи помогает в выборе акций и предотвращении ложных прорывов.

  2. Показатель MACD определяет тенденции и динамику, а торговые сигналы более ясные.

  3. RSI в сочетании с MACD, объединяя множество факторов, может отфильтровывать ложные сигналы.

Стратегический риск

  1. Параметры RSI и MACD влияют на эффективность стратегии и требуют корректировки.

  2. Многопоказательная комбинация увеличивает сложность стратегии, а также увеличивает вероятность ошибок.

  3. Торговые сигналы MACD могут задерживаться, поэтому необходимо сочетать их с другими индикаторами.

Оптимизация стратегии

  1. Оптимизируйте параметры RSI и MACD, чтобы найти оптимальную комбинацию параметров.

  2. Добавление других показателей, таких как KDJ, брин-пояса и т. д., формирует кластер показателей, повышает точность сигнала.

  3. Присоединяйтесь к стратегии Stop Loss, чтобы контролировать убытки.

  4. Оптимизация логики открытия и закрытия складов, предотвращение конфликтных сигналов.

Подвести итог

Стратегия использует преимущества RSI и MACD для формирования торговых сигналов. Она определяет тенденции и динамические факторы, одновременно учитывающие перепродажу и перепродажу, что позволяет эффективно отфильтровывать ложные сигналы. Сигнал имеет высокое качество.

Исходный код стратегии
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "MACD of RSI", overlay = false)
//////////////////////// RSI ///////////////////////////

src = close, len = input(14, minval=1, title="Length")

up = sma(max(change(src), 0), len)

down = sma(-min(change(src), 0), len)

rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//////////////////////// RSI   //////////////////////////

//////////////// MACD  ////////////////////////////

sourcemacd = rsi

fastLength = input(12, minval=1), slowLength=input(26,minval=1)

signalLength=input(9,minval=1)


fastMA = ema(sourcemacd, fastLength)

slowMA = ema(sourcemacd, slowLength)

macd = fastMA - slowMA

signal = ema(macd, signalLength)

delta=macd-signal

swap1 = delta>0?green:red


plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)

p1 = plot(macd,color=blue,title='MACD Line')

p2 = plot(signal,color=red,title='Signal')

fill(p1, p2, color=blue)

hline(0)

/////////////////////////MACD  //////////////////////////

// Conditions

longCond = na

sellCond = na

longCond :=  crossover(delta,0)

sellCond :=  crossunder(delta,0)

monthfrom =input(6)

monthuntil =input(12)

dayfrom=input(1)

dayuntil=input(31)

if (  longCond   )

    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")

else

    strategy.cancel(id="BUY")

if ( sellCond   )

    strategy.close("BUY")