Эта стратегия использует MACD-индикатор для определения рыночных тенденций и поиска потенциальных точек купли-продажи, а также в сочетании с RSI-индикатором для подтверждения сверхпокупки и сверхпродажи. Когда MACD-индикатор посылает сигнал покупки/продажи, только тогда, когда RSI также подтверждает, что рынок находится в состоянии сверхпродажи/сверхпокупки, будет генерироваться торговый сигнал, чтобы купить или продать. Эта стратегия может эффективно отфильтровать ложные сигналы и повысить стабильность стратегии.
MACD-индикатор представляет собой разницу между скоростной скользящей средней (EMA) и медленной скользящей средней, отражающую разницу между краткосрочными и долгосрочными тенденциями средних ценовых изменений. В этой стратегии скоростная линия имеет период 12 дней, а медленная линия - 26 дней.
Когда быстрая линия пересекает медленную линию, это является золотым форком, который указывает на то, что рынок вступил в восходящую тенденцию; когда быстрая линия пересекает медленную линию, это является мертвым форком, который указывает на то, что рынок вступил в нисходящую тенденцию.
RSI отражает тенденцию к перекупу и перепродаже на рынке. В этой стратегии RSI имеет циклический параметр 14.
RSI BELOW 30 when buyers outpaced sellers for an extended period suggests ASSET was OVERSOLD.
RSI ABOVE 70 when selling pressure outpaced buying pressure over the tracked timeline suggests ASSET was OVERBOUGHT.
Когда RSI ниже 30, рынок находится в состоянии перепродажи; когда RSI выше 70, рынок находится в состоянии перекупа.
При создании торговых сигналов, основанных только на MACD, возникают определенные ложные сигналы. Эта стратегия использует фильтрующий сигнал индикатора RSI, и только тогда, когда MACD посылает сигнал, RSI также подтверждает, что рынок перекупил и перепродал, чтобы создать фактический торговый сигнал.
В частности, когда MACD формирует золотой форк, если RSI <= 34, подтверждает, что рынок находится в состоянии перепродажи, то создает сигнал покупки; когда MACD формирует мертвый форк, если RSI> = 75, подтверждает, что рынок находится в состоянии перепродажи, то создает сигнал продажи.
Этот механизм двойного подтверждения позволяет отфильтровывать многие ненадёжные торговые сигналы, что повышает стабильность и надежность стратегии.
Эта стратегия использует MACD в сочетании с двумя показателями RSI для двойного подтверждения. Это позволяет эффективно уменьшить помехи от ложных сигналов и отфильтровать некоторые ненадежные торговые сигналы, что повышает надежность и стабильность сигнала.
MACD, как индикатор количественных цен, позволяет четко определять тенденцию к снижению рынка. В сочетании с RSI, он может точно уловить важные рыночные переломы и четко определить позиционные сигналы.
Параметры этой стратегии MACD и RSI могут быть оптимизированы, чтобы адаптироваться к различным периодам и различным видам.
Такие показатели, как MACD и RSI, используемые в этой стратегии, являются очень типичными и часто используемыми техническими показателями, легко понятными, а реализация кода очень проста и интуитивно понятна. Это облегчает настройку и оптимизацию параметров.
Эта стратегия использует более осторожную стратегию двойного подтверждения, которая может пропустить некоторые торговые возможности, которые приносят прибыль при условии использования одного индикатора.
При резких изменениях в рыночных условиях MACD и RSI могут задерживаться в принятии решений, что приводит к убыткам, связанным с неправильными торговыми сигналами, генерируемыми стратегией.
Эффективность этой стратегии во многом зависит от параметров MACD и RSI. Если параметры установлены неправильно, легко получить обратный торговый сигнал.
Можно установить правила ценового или индикаторного стоп-лосса, чтобы остановить убытки, когда убытки расширяются до определенного уровня, эффективно контролируя одиночные убытки.
Параметры могут быть настроены так, чтобы они были более подходящими для различных периодов и разновидностей рынка, путем корректировки таких параметров, как быстрый и медленный циклы MACD и превышение превышения RSI.
Для определения наиболее эффективной стратегии можно провести обратную проверку на различные виды, такие как индексы акций, цифровые валюты, иностранные валюты, товары и т. д.
На базе существующих MACD и RSI можно ввести другие показатели, такие как stoch, OBV, CCI, чтобы обеспечить подтверждение нескольких показателей и еще больше улучшить качество сигнала.
Эта стратегия основана на MACD-индикаторе, который определяет направление тенденции рынка и торговый сигнал. Для фильтрации ложных сигналов, добавляется индикатор RSI, подтверждающий сверхпокупку и сверхпродажу, только когда оба условия одновременно выполняются. Этот механизм подтверждения двойных индикаторов может эффективно повысить качество и стабильность сигнала.
Эффективность стратегии может быть повышена за счет оптимизации параметров, применения механизмов остановки убытков, улучшения методов, таких как подтверждение множественных показателей. Эта стратегия проста в использовании, имеет лучшую стабильность и является количественной торговой стратегией, подходящей для практики и оптимизации новичков.
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(default_qty_type = strategy.percent_of_equity, default_qty_value = 25, pyramiding = 10, title="MACD crossover while RSI Oversold/Overbought", overlay=true, shorttitle="MACD Cross + RSI Oversold Overbought", initial_capital = 1000)
//MACD Settings
fastMA = input(title="Fast moving average", defval = 12, minval = 7) //7 16
slowMA = input(title="Slow moving average", defval = 26, minval = 7) //24 26
signalLength = input(9,minval=1) //9 6
//RSI settings
RSIOverSold = input(34 ,minval=1) //26
RSIOverBought = input(75 ,minval=1) //77
src = close, len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
wasOversold = rsi[0] <= RSIOverSold or rsi[1] <= RSIOverSold or rsi[2] <= RSIOverSold or rsi[3] <= RSIOverSold or rsi[4] <= RSIOverSold or rsi[5] <= RSIOverSold
wasOverbought = rsi[0] >= RSIOverBought or rsi[1] >= RSIOverBought or rsi[2] >= RSIOverBought or rsi[3] >= RSIOverBought or rsi[4] >= RSIOverBought or rsi[5] >= RSIOverBought
[currMacd,_,_] = macd(close[0], fastMA, slowMA, signalLength)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, signalLength)
signal = ema(currMacd, signalLength)
crossoverBear = cross(currMacd, signal) and currMacd < signal ? avg(currMacd, signal) : na
crossoverBull = cross(currMacd, signal) and currMacd > signal ? avg(currMacd, signal) : na
plotshape(crossoverBear and wasOverbought , title='MACD-BEAR', style=shape.triangledown, text='overbought', location=location.abovebar, color=orange, textcolor=orange, size=size.tiny)
plotshape(crossoverBull and wasOversold, title='MACD-BULL', style=shape.triangleup, text='oversold', location=location.belowbar, color=lime, textcolor=lime, size=size.tiny)
// Configure backtest start date with inputs
startDate = input(title="Start Date",
defval=8, minval=1, maxval=31)
startMonth = input(title="Start Month",
defval=3, minval=1, maxval=12)
startYear = input(title="Start Year",
defval=2021, minval=1800, maxval=2100)
afterStartDate = (time >= timestamp(syminfo.timezone,
startYear, startMonth, startDate, 0, 0))
if (afterStartDate==true)
posSize = abs(strategy.position_size)
strategy.order("long", strategy.long, when = crossoverBull and wasOversold)
strategy.order("long", long=false, qty=posSize/3, when = crossoverBear and wasOverbought)