Demark-Einstellungsindikator

Schriftsteller:ChaoZhang, Datum: 31.5.2022
Tags:aufwärtsAbwärts

Der Setup-Indikator wurde von Tom Demark erstellt und dies ist einer von vielen Schritten in seinem Sequential-Indikator, den ich zu einem späteren Zeitpunkt veröffentlichen werde. Sie alle schienen mein Demark Reversal Points-Skript wirklich zu mögen und dieser Indikator ähnelt sehr diesem. Dieser Indikator wurde für kleinere Trendumkehrungen entwickelt und wie Sie in meinem Beispieldiagramm sehen können, gibt er viele mehr Kauf- und Verkaufssignale. Nicht alle sind natürlich perfekt, aber er leistet eine ziemlich gute Arbeit bei der Identifizierung kleiner Preisumkehrungen insgesamt. Dieser Indikator sucht nach Abwärtstrends oder Aufwärtstrends, die für eine bestimmte Zeit existieren, um Preisumkehrpunkte zu bestimmen.

Wenn Ihnen dieser gefällt, lassen Sie es mich wissen, und ich werde weitere Demark-Indikatoren oder zumindest meine Versionen davon veröffentlichen.

Zurückprüfung

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)

Verwandt

Mehr