In diesem Artikel zeige ich dir, wie du einen Indikator für TradingView entwickeln kannst. Als Beispiel verwende ich einen Indikator, der die wichtigsten Kennzahlen für die Analyse von Aktien anzeigt.
 
- Aufbau des Indikators
- Definition der Eingabeparameter
- Berechnung der Kennzahlen
- Darstellung der Kennzahlen im Chart
- Ressourcen
Aufbau des Indikators
Der Indikator besteht aus drei Teilen. Zum einen gibt es die eigentliche Berechnung der Kennzahlen und zum anderen die Darstellung der Kennzahlen im Chart. Weiterhin möchten wir dem Nutzer die Möglichkeit geben, die Werte und Schwellen für die Kennzahlen individuell anzupassen.
Der Aufbau des Indikators ist wie folgt:
- Definition der Eingabeparameter
- Berechnung der Kennzahlen
- Darstellung der Kennzahlen im Chart
Definition der Eingabeparameter
Zunächst definieren wir den Indikator und die Eingabeparameter. Die Eingabeparameter sind die Werte, die der Nutzer individuell anpassen kann. In unserem Fall sind das die Schwellenwerte für die Kennzahlen.
//@version=5
indicator("Test Titel", shorttitle="Test", overlay=true)
// Inputs
adrLength = input(defval=20, title="ADR period")
adrThresh = input(defval=3, title="ADR Threshold") 
advLength = input(defval=21,title="ADV period")
dvolThresh = input(defval=50,title="$Vol Threshold in M")
tableOrientation = input.string(defval = "vertical", title = "Orientation of Dashboard", options = ["vertical", "horizontal"])
tablePosition = input.string(defval= position.top_right, options = [position.bottom_right, position.bottom_left, position.top_right, position.top_left])- adrLengthdefiniert die Anzahl der Tage, die für die Berechnung der Average Daily Range (ADR) verwendet werden.
- adrThreshist der Schwellenwert für die ADR.
- advLengthdefiniert die Anzahl der Tage, die für die Berechnung des Average Daily Volume (ADV) verwendet werden.
- dvolThreshist der Schwellenwert für das ADV.
- tableOrientationdefiniert die Ausrichtung des Dashboards.
- tablePositiondefiniert die Position des Dashboards im Chart.
Berechnung der Kennzahlen
Exemplarisch zeige ich dir die Berechnung der Average Daily Range (ADR) und der prozentualen Veränderung. Die Berechnung der anderen Kennzahlen erfolgt analog.
// Definitions - calculated values
adrValue = request.security(syminfo.tickerid, 'D', ta.sma((high/low-1)[1]*100,adrLength))
changeValue = request.security(syminfo.tickerid, 'D', (close/close[1]-1)*100)Darstellung der Kennzahlen im Chart
Die Darstellung der Kennzahlen erfolgt in einem Dashboard. Hierfür verwenden wir die Funktion table.new. Die Funktion table.new erwartet als Parameter die Position des Dashboards im Chart, die Anzahl der Zeilen und Spalten sowie die Ausrichtung des Dashboards.
// Design Variables for Table
var numberColums = 6 // Standardinitialisierung
var numberRows = 1 // Standardinitialisierung
if tableOrientation == "vertical"
    numberColums := 1
    numberRows := 6
    
var table t = table.new(tablePosition, numberColums, numberRows, border_width = 3)
posColor = color.rgb(38, 166, 154)
negColor = color.rgb(240, 83, 80)
neutralColor = color.new(#999999, 0)
lightTransp = 90
avgTransp = 80
heavyTransp = 69
// Fill Table with ADR
f_fillCellADRValue(_table, _column, _row, _value, _threshold = 0) =>
    _c_color = _value >= _threshold ? posColor : negColor
    _transp = _value >= _threshold ? lightTransp : heavyTransp
    _cellText = str.tostring(_value, "0.00") + "%\n" + "ADR"
    
    table.cell(_table, _column, _row, _cellText, bgcolor = color.new(_c_color, _transp), text_color = _c_color)
// Fill Table with Change
f_fillCellchangeValue(_table, _column, _row, _value, _threshold = 0) =>
    _c_color = _value >= _threshold ? posColor : negColor
    _transp = _value >= _threshold ? lightTransp : heavyTransp
    _cellText = str.tostring(_value, "0.00") + "%\n" + "Chg"
    table.cell(_table, _column, _row, _cellText, bgcolor = color.new(_c_color, _transp), text_color = _c_color)
if barstate.islast
    if tableOrientation == "horizontal"
        f_fillCellADRValue(t, 0, 0, adrValue, adrThresh)
        f_fillCellchangeValue(t, 1, 0, changeValue)
    else
        f_fillCellADRValue(t, 0, 0, adrValue, adrThresh)
        f_fillCellchangeValue(t, 0, 1, changeValue)Trading-Grundlagen in 5 Tagen
Zusammenfassung
In diesem Artikel hast du gelernt, wie du einen Indikator für TradingView entwickeln kannst. Als Beispiel haben wir einen Indikator entwickelt, der die wichtigsten Kennzahlen für die Analyse von Aktien anzeigt. Den fertigen Indikator kannst du dir hier¹ anschauen und kostenlos nutzen.
Trading-Grundlagen in 5 Tagen
Ressourcen
¹: Hierbei handelt es sich um einen Werbe- oder einen Affiliate-Link. Wenn du auf diesen Link klickst, etwas kaufst oder abschließt, erhalten wir (je nach Anbieter) eine Provision. Dir entstehen dadurch keine Mehrkosten und du unterstützt unser Projekt. Wir danken dir für deinen Support.