Für den Fall, dass jemand Probleme hatte den Indikator einzulesen, hier nochmal eine überarbeitete Version:
Ich hatte den Indikator am Freitag auf den 1 Minuten-Chart innerhalb einer Watchlist mit ca. 1000 Aktien testen können. Die Signale waren alle so, wie sie sein sollten. Es kommen allerdings sehr wenige Signale. Den Indikator über den Pine Editor einfügen, abspeichern und dem Chart hinzufügen.
//
@version=6
indicator("ADX Signal mit SMA Kreuzung", overlay=false)
// Eingaben
adxLength =
input.int(14, title="ADX Länge")
smaLength =
input.int(20, title="SMA Länge")
adxThreshold = input.float(30.0, title="ADX Schwellenwert")
// SMA berechnen
smaValue = ta.sma(close, smaLength)
// ADX berechnen
plusDM = ta.change(high)
minusDM = ta.change(low) * -1
tr =
ta.tr(true)
plusDI = 100 * ta.rma(plusDM > 0 and plusDM > minusDM ? plusDM : 0, adxLength) / ta.rma(tr, adxLength)
minusDI = 100 * ta.rma(minusDM > 0 and minusDM > plusDM ? minusDM : 0, adxLength) / ta.rma(tr, adxLength)
adx = 100 * ta.rma(math.abs(plusDI - minusDI) / (plusDI + minusDI), adxLength)
// Neue, korrigierte Bedingung
falling_and_crossing_sma = close < open and open > smaValue and close <= smaValue and close[1] > smaValue[1]
// Weitere Bedingungen
adxSteigt = adx > adx[1]
adxUberSchwelle = adx > adxThreshold
// Gesamtes Signal
signalBedingung = adxSteigt and adxUberSchwelle and falling_and_crossing_sma
// Markierung im Chart
if signalBedingung
label.new(x=bar_index, y=high, text="Signal", color=
color.red, style=label.style_label_down, size=size.small)
// Alarmbedingung
alertcondition(signalBedingung, title="ADX Signal Alarm", message="Signal ausgelöst: ADX > Schwelle und Kurs unter SMA gefallen!")
// ADX zusätzlich plotten
plot(adx, title="ADX", color=
color.blue)
hline(adxThreshold, title="ADX Schwelle", color=color.gray)