Стратегия MACD Valley Detector

MACD ATR RSI EMA
Дата создания: 2024-04-12 17:01:21 Последнее изменение: 2024-04-12 17:01:21
Копировать: 1 Количество просмотров: 719
1
Подписаться
1617
Подписчики

Стратегия MACD Valley Detector

Обзор

Стратегия MACD Valley Detector - это торговая стратегия, основанная на индикаторе MACD. Стратегия генерирует сигнал к покупке, обнаруживая дно индикатора MACD. Когда индикатор MACD формирует дно, и значение MACD меньше, чем равно -0.4, и разница между MACD и его сигнальной линией меньше, чем 0, стратегия посылает сигнал к покупке, устанавливая при этом стоп-цену.

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

В основе стратегии MACD Valley Detector лежит использование индикатора MACD для поимки потенциальных возможностей для обратного хода. MACD-индикатор рассчитывается как разница между двумя индикаторами (движущейся средней величины (EMA)), отражая динамику изменения цены. Когда индикатор MACD формирует дно долины, это указывает на то, что падение цены может ослабеть и существует возможность обратного хода.

Эта стратегия использует следующие условия для определения нижнего уровня MACD:

  1. Нынешний MACD отклоняется от линии сигнала больше, чем предыдущая
  2. Предыдущая разница меньше двух предыдущих.
  3. MACD меньше или равно -0.4
  4. MACD меньше, чем 0.

Когда вышеперечисленные условия одновременно выполняются, стратегия считает, что появилось дно MACD, и посылает сигнал купить. В то же время, стратегия устанавливает фиксированную стоп-цену, то есть цена покупки плюс фиксированная разница в цене ((takeProfitValue)).

Анализ преимуществ

  1. MACD является широко используемым динамическим индикатором, который эффективно улавливает изменения тенденций цен.
  2. Поиск дна MACD - это попытка захватить потенциальные возможности для обратного движения, чтобы найти возможность покупки после падения цены.
  3. Стратегия использует несколько условий для подтверждения дна долины MACD, что повышает надежность сигнала.
  4. Установление фиксированной цены стоп-стопа помогает контролировать риски и блокировать прибыль.

Анализ рисков

  1. Показатель MACD имеет задержку, которая может вызвать задержку.
  2. Стратегия зависит от фиксированной параметровой настройки, такой как длина быстрого и медленного движущегося среднего значения, длина MACD-сигнальной линии и т. Д., которая может плохо работать в разных рыночных условиях.
  3. Стратегия не имеет четкого механизма остановки убытков и может понести большие убытки в случае продолжающегося падения рынка.
  4. Фиксированная стоп-цена может ограничить потенциал прибыли стратегии, особенно в условиях сильного тренда.

Направление оптимизации

  1. Для лучшего контроля риска следует рассмотреть возможность включения динамических механизмов по уменьшению убытков, например, убытков на основе ATR.
  2. Оптимизация параметров индикатора MACD, например, поиск оптимальной комбинации параметров с использованием генетических алгоритмов.
  3. В сочетании с другими техническими индикаторами или фильтрами состояния рынка, такими как RSI, Брин-Бенд и т. Д., для повышения качества и надежности сигнала.
  4. Исследуйте динамические стратегии остановки, такие как корректировка уровня остановки в зависимости от волатильности рынка или ценового поведения, чтобы максимально использовать тенденции.

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

Стратегия MACD Valley Detector - это торговая стратегия, основанная на обнаружении дна MACD-индикатора. Стратегия пытается найти потенциальные возможности для обратной связи и совершить покупку, захватив дно MACD-индикатора. Стратегия использует несколько условий для подтверждения сигнала и устанавливает фиксированную цену остановки.

Исходный код стратегии
/*backtest
start: 2024-03-12 00:00:00
end: 2024-04-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © freditansari

//@version=5
//@version=5
strategy("MACD Valley Detector", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD

rsi = ta.rsi(close, 14)
atr = ta.atr(14)

qty=1

takeProfitValue =7
// stopLossValue = 1


// close[0] < close[1] and close[1] > close[2]
is_valley= delta[0] > delta[1] and delta[1]<delta[2]? 1:0

// plot(is_valley , "valley?")

if(is_valley==1 and MACD<=-0.4 and delta <0)
	takeProfit = close +takeProfitValue
	action = "buy"
    // strategy.entry("long", strategy.long, qty=qty)
    // // strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)
    // strategy.exit("exit", "long", limit=takeProfit)
    alert('{"TICKER":"'+syminfo.ticker+'","ACTION":"'+action+'","PRICE":"'+str.tostring(close)+'","TAKEPROFIT":"'+str.tostring(takeProfit)+'","QTY":"'+str.tostring(qty)+'"}')

if (ta.crossover(delta, 0))
	stopLoss = low -0.3
    takeProfit = high +0.3
	strategy.entry("MacdLE", strategy.long,qty=qty, comment="MacdLE")
	strategy.exit("exit long", "MacdLE", limit=takeProfit)
	// strategy.exit("exit long", "MacdLE", stop=stopLoss, limit=takeProfit)
if (ta.crossunder(delta, 0))
	stopLoss = high + 0.3
    takeProfit = low - 0.3
	strategy.entry("MacdSE", strategy.short,qty=qty, comment="MacdSE")
	strategy.exit("exit long", "MacdLE", limit=takeProfit)

	// strategy.exit("exit short", "MacdSE", stop=stopLoss, limit=takeProfit)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)