Индикатор настройки демарка

Автор:Чао Чжан, Дата: 2021-05-31 19:29:50
Тэги:повышенныймедвежий

Индикатор настройки был создан Томом Демарком и это один из многих шагов в его последовательном индикаторе, который я опубликую позже. Вам всем, кажется, очень понравился мой сценарий Demark Reversal Points, и этот индикатор очень похож на этот. Этот индикатор был разработан для незначительных обратных трендов, и, как вы можете видеть на моем примере, он дает много больше сигналов покупки и продажи. Конечно, не все идеальны, но он делает довольно хорошую работу по выявлению незначительных обратных ценовых колебаний в целом. Этот индикатор ищет нисходящие или восходящие тренды, которые существуют в течение определенного периода времени для определения точек переворота цен.

Если вам понравится этот показатель, дайте мне знать, и я продолжу публиковать больше показателей Demark или, по крайней мере, свои версии.

обратная проверка

img


/*backtest
start: 2022-04-30 00:00:00
end: 2022-05-29 23:59:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Copyright (c) 2019-present, Franklin Moormann (cheatcountry)
// Demark Setup Indicator [CC] script may be freely distributed under the MIT license.
study("Demark Setup Indicator [CC]", overlay=true)

inp = input(title="Source", type=input.source, defval=close)
res = input(title="Resolution", type=input.resolution, defval="")
rep = input(title="Allow Repainting?", type=input.bool, defval=false)
bar = input(title="Allow Bar Color Change?", type=input.bool, defval=true)
src = security(syminfo.tickerid, res, inp[rep ? 0 : barstate.isrealtime ? 1 : 0])[rep ? 0 : barstate.isrealtime ? 0 : 1]
length = input(title="Length", type=input.integer, defval=4, minval=1)

uCount = 0, dCount = 0
for i = 0 to length - 1
    uCount := uCount + (nz(src[i]) > nz(src[i + length]) ? 1 : 0)
    dCount := dCount + (nz(src[i]) < nz(src[i + length]) ? 1 : 0)
    
dsi = dCount == length ? 1 : uCount == length ? -1 : 0

sig = dsi > 0 or uCount > dCount ? 1 : dsi < 0 or dCount > uCount ? -1 : 0
dsiColor = sig > 0 ? color.green : sig < 0 ? color.red : color.black
alertcondition(crossover(dsi, 0), "Buy Signal", "Bullish Change Detected")
alertcondition(crossunder(dsi, 0), "Sell Signal", "Bearish Change Detected")
barcolor(bar ? dsiColor : na)
plotshape(crossover(dsi, 0), "Buy", shape.labelup, location.belowbar, color.green, text="Buy", textcolor=color.white)
plotshape(crossunder(dsi, 0), "Sell", shape.labeldown, location.abovebar, color=color.red, text="Sell", textcolor=color.white)


if crossover(dsi, 0)
    strategy.entry("Enter Long", strategy.long)
else if crossunder(dsi, 0)
    strategy.entry("Enter Short", strategy.short)

Связанные

Больше