// SCHRITT 1: VERSION UND SKRIPT-ART FESTLEGEN {
// --- über den Versionsaufruf in Zeile 6 teilen wir dem Compiler mit, dass wir mit der Version 5 von Pine Script arbeiten wollen
// --- Durch den indicator() Aufruf ist klar, wir programmieren einen Indikator
// --- Mit overlay = true legen wir fest, dass unser Ergebnis auf dem Chart ausgegeben werden soll
//@version=5
indicator("Taschenrechner", overlay = true)
//}
// SCHRITT 2: DEKLARATION DER KONSTANTEN {
// --- Wir deklarieren Konstanten mit unseren möglichen Rechenmethoden
METHOD_1 = "+ (Addition)"
METHOD_2 = "- (Subtraktion)"
METHOD_3 = "* (Multiplikation)"
METHOD_4 = "/ (Division)"
METHOD_5 = "% (Modulo/ Restwert nach Division)"
//}
// SCHRITT 3: BENUTZEREINGABEN {
// --- Hier legen wir ein Auswahlfeld an, in welchem der Benutzer die gewünschte Rechenart auswählt.
// --- Zur Auswahl stehen unsere oben deklarierten Rechenmethoden
i_calcType = input.string(METHOD_1, title = "Rechenart", options = [METHOD_1, METHOD_2, METHOD_3, METHOD_4, METHOD_5])
// --- Wir legen 2 weitere Eingabefelder an, damit der Benutzer seine beiden Werte für die Berechnung eingeben kann
i_value1 = input.float(0, title = "Wert 1")
i_value2 = input.float(0, title = "Wert 2")
//}
// SCHRITT 4: SWITCH STATEMENT {
// --- Hier wird geprüft welche Berechnung aufgrund der Benutzereingaben erfolgen muss
// --- Die Berechnung wird durchgeführt
result = switch i_calcType
METHOD_1 => i_value1 + i_value2
METHOD_2 => i_value1 - i_value2
METHOD_3 => i_value1 * i_value2
METHOD_4 => i_value1 / i_value2
=> i_value1 % i_value2
//}
// SCHRITT 5: CHARTAUSGABE {
// --- Das Ergebnis wird auf dem Chart ausgegeben
// --- Wir verwenden hierfür tables, eine Art Tabelle auf dem Chart
// --- jede Zelle muss einzeln ausgewählt und befüllt werden
var resultDisplay = table.new(position = position.middle_center, columns = 2, rows = 4, bgcolor = color.silver, border_color = color.black, border_width = 1, frame_color = color.black, frame_width = 1)
if barstate.islast
table.cell(table_id = resultDisplay, column = 0, row = 0, text = "Rechenmethode:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 0, text = i_calcType, text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 1, text = "Wert 1:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 1, text = str.tostring(i_value1), text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 2, text = "Wert 2:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 2, text = str.tostring(i_value2), text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 3, text = "Ergebnis:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 3, text = str.tostring(result), text_size = size.huge)
//}