
Эта стратегия является основанной на равнолинейной стратегии трендового отслеживания. Она использует индикатор Ichimoku Cloud Graph, чтобы определить направление тренда, в сочетании с 200-дневным движущимся средним сигналом фильтрации, чтобы реализовать трендовое отслеживание.
Стратегия основывается на использовании преобразовательной линии и базовой линии на диаграмме облаков для определения направления тренда. Преобразовательная линия представляет собой среднюю цену за последние 9 дней, а базовая линия представляет собой среднюю цену за последние 26 дней.
Эта стратегия также использует 200-дневную скользящую среднюю для фильтрации сигналов. Покупательский сигнал вводится только тогда, когда цена закрытия превышает 200-дневную линию. Это может отфильтровать большинство ложных сигналов.
В случае выхода из строя, стратегия проста: используйте переходную линию, проходящую под базовой линией, в качестве сигнала равновесия.
Эта стратегия, в сочетании с индикатором “одно облако” для определения тенденции и долгосрочной тенденцией фильтрации индикатора “200 дней”, позволяет эффективно отслеживать тенденции и отфильтровывать большинство ложных сигналов. Использование средних ценных средних и других параметров может уменьшить влияние на среднюю линию из-за аномальных колебаний цен.
По сравнению с использованием только таких показателей, как движущиеся средние, эта стратегия может лучше улавливать переломные моменты в тренде, что позволяет своевременно корректировать позиции. Это является ее главным преимуществом.
Эта стратегия основана на определении направления тренда по показателям карты облаков, а сама карта облаков может создавать ошибочные сигналы. Если суждение будет искажено, эта стратегия может привести к убыткам.
Кроме того, неправильная настройка параметров также может привести к плохой эффективности стратегии. Если параметры линии преобразования слишком короткие, легко создать ложный сигнал; если параметры основной линии слишком длинны, эффективность отслеживания будет ухудшаться.
Для улучшения качества сигнала можно рассмотреть возможность использования в сочетании с другими индикаторами, например, индикатор KDJ, который определяет зоны перепродажи для фильтрации сигнала. Или использовать индикатор ATR для установки стоп-лосса.
Для получения более чувствительного торгового сигнала можно тестировать дополнительные комбинации параметров, например, регулировать параметры конверсионной линии на 5 или 7 дней. Также можно тестировать изменение параметров базовой линии на 20 дней или около того, чтобы сбалансировать эффекты отслеживания.
Кроме того, можно рассмотреть возможность отключения стратегии в условиях определенной волатильности, чтобы избежать воздействия экстремальных ситуаций.
Стратегия объединяет преимущества определения тенденции и долгосрочных фильтрующих показателей, чтобы эффективно отслеживать среднесрочные и долгосрочные тенденции. В то же время параметры и меры контроля ветра также требуют постоянной оптимизации, чтобы уменьшить влияние ложных сигналов и колебаний. В целом, стратегия может работать и имеет некоторую практическую операционную ценность.
/*backtest
start: 2023-10-27 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="TK Cross > EMA200 Strat", overlay=true)
ema200 = ema(close, 200)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line", linewidth=3)
plot(baseLine, color=#991515, title="Base Line", linewidth=3)
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement, color=green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
plot(ema200, color=purple, linewidth=4,title='ema200')
strategy.initial_capital = 50000
strategy.entry('tkcross', strategy.long, strategy.initial_capital / close, when=conversionLine>baseLine and close > ema200)
strategy.close('tkcross', when=conversionLine<baseLine)
start = input(2, minval=0, maxval=10, title="Start - Default = 2 - Multiplied by .01")
increment = input(2, minval=0, maxval=10, title="Step Setting (Sensitivity) - Default = 2 - Multiplied by .01" )
maximum = input(2, minval=1, maxval=10, title="Maximum Step (Sensitivity) - Default = 2 - Multiplied by .10")
sus = input(true, "Show Up Trending Parabolic Sar")
sds = input(true, "Show Down Trending Parabolic Sar")
disc = input(false, title="Start and Step settings are *.01 so 2 = .02 etc, Maximum Step is *.10 so 2 = .2")
//"------Step Setting Definition------"
//"A higher step moves SAR closer to the price action, which makes a reversal more likely."
//"The indicator will reverse too often if the step is set too high."
//"------Maximum Step Definition-----")
//"The sensitivity of the indicator can also be adjusted using the Maximum Step."
//"While the Maximum Step can influence sensitivity, the Step carries more weight"
//"because it sets the incremental rate-of-increase as the trend develops"
startCalc = start * .01
incrementCalc = increment * .01
maximumCalc = maximum * .10
sarUp = sar(startCalc, incrementCalc, maximumCalc)
sarDown = sar(startCalc, incrementCalc, maximumCalc)
colUp = close >= sarDown ? lime : na
colDown = close <= sarUp ? red : na
plot(sus and sarUp ? sarUp : na, title="Up Trending SAR", style=circles, linewidth=3,color=colUp)
plot(sds and sarDown ? sarDown : na, title="Up Trending SAR", style=circles, linewidth=3,color=colDown)