CoinScriptCoinScript
CoinScript
Schreib eigene Indikatoren, Signale und Alarm-Bedingungen in CoinScript, teste sie im Backtest und leg sie wie jeden anderen Indikator in den Chart.
CoinScript ist die Skriptsprache des Terminals für eigene Indikatoren. Du schreibst JavaScript mit einer festen Bibliothek: Kerzen, Volumen, Order Flow, Liquidationen, Open Interest, Funding und bei Aktien Umsatz, Gewinn und KGV stehen als fertige Datenreihen bereit. Mit feed() liest ein Script weitere Reihen des Terminals wie On-Chain-Werte, Renditen oder COT, mit symbol() die Kerzen anderer Symbole. Dazu kommen gleitende Durchschnitte, RSI, Kreuzungen und Funktionen zum Zeichnen. Ein Script kann Linien in den Preischart legen, ein eigenes Fenster unter dem Chart füllen, Signale als Dreiecke an die Kerzen setzen und Bedingungen für Alarme liefern.
// CoinScript · EMA-Band auf dem Preis
const fast = ema(close, input('Schnell', 21))
const slow = ema(close, input('Langsam', 55))
plot(fast, { title: 'EMA 21', color: '#00FFDA', overlay: true })
plot(slow, { title: 'EMA 55', color: '#FF1919', overlay: true })
signal(cross(fast, slow), { title: 'Kreuzung', color: '#FFEB3B', pos: 'below' })Ein Script läuft nicht Kerze für Kerze, sondern einmal über alle Kerzen des Charts. Jede Datenreihe ist eine Liste mit einem Wert pro Kerze, die älteste zuerst. Wie das genau funktioniert, steht unter Sprache.
Das MantaAi-Panel öffnen
- Obere Leiste → MantaAi. Ist die Leiste zu schmal, findest du MantaAi unter Weitere.
- Indikatoren (
/) → Script („Eigenen Indikator schreiben“). - Supersuche (StrgK, Mac: CmdK) → „Code-Editor öffnen (eigene Indikatoren)“.
Am Desktop öffnet sich das Panel rechts neben dem Chart. Du kannst es an seinem linken Rand breiter oder schmaler ziehen, das Terminal merkt sich die Breite. Schließt du es, bleiben Code, Konsole, Backtest und Chat erhalten, solange die Seite offen ist.
Oben im Panel stehen Vorlagen, Neu und vier Reiter. Das Panel öffnet sich auf dem Reiter MantaAi, wenn dein Plan MantaAi enthält, sonst auf dem Editor.
| Reiter | Wofür |
|---|---|
| MantaAi | Der Assistent des Terminals schreibt CoinScript für dich und beantwortet Fragen zum Chart (ab Plus), siehe MantaAi |
| Editor | Code schreiben, ausführen und in den Chart legen |
| Backtest | Die Signale des Scripts als Strategie testen, siehe Backtest |
| Meine Scripts | Deine gespeicherten Scripts |
Vorlagen
Vorlagen lädt ein fertiges Script in den Editor. Es ersetzt den aktuellen Code und beginnt ein neues Script.
| Vorlage | Was sie zeigt |
|---|---|
| Delta-EMA | Glättet das Volume Delta mit einem EMA und zeigt es als Histogramm. |
| CVD-Divergenz | Markiert Kerzen, bei denen Preis und CVD auseinanderlaufen, und zeichnet den CVD als Fenster. |
| Funding-Extrem | Normiert die Funding Rate als Z-Score; Werte über 2 oder unter −2 gelten als extrem. |
| EMA-Band | Zwei EMAs direkt im Preischart, Kreuzungen als gelbe Marker. |
| Umsatz gegen Kurs | Für Aktien: Umsatz und Gewinn auf eigener Skala; markiert Berichte, bei denen der Umsatz gestiegen und der Kurs seit dem letzten Bericht gefallen ist. |
| Leer | Ein leeres Script mit einer Kurzreferenz in den Kommentaren. |
Neu beginnt ein neues Script mit dem Namen „Mein Indikator“ und der Vorlage Leer und leert die Konsole.
Alle Vorlagen mit Erklärung findest du unter Beispiele.
Der Editor
Oben trägst du den Namen des Scripts ein, bis zu 60 Zeichen. Er erscheint später in der Legende und in der Indikatoren-Liste.
Der Editor hilft beim Schreiben:
- Vorschläge: Beim Tippen schlägt er die Datenreihen und Funktionen von CoinScript vor, mit ihrer Schreibweise und einer kurzen Erklärung.
- Erklärung beim Darüberfahren: Fährst du mit der Maus über einen Namen wie
emaoderfunding, zeigt er, was dahintersteckt. - Fehler sofort sehen: Verbotenes oder falsch Geschriebenes unterstreicht er rot, die Meldung siehst du beim Darüberfahren.
- Tab rückt um zwei Leerzeichen ein, Klammern und Anführungszeichen schließt er selbst.
Darunter liegen zwei Schaltflächen:
| Schaltfläche | Tastenkürzel | Was passiert |
|---|---|---|
| Ausführen | StrgEnter (Mac: CmdEnter) | Rechnet das Script auf den Kerzen des Charts und schreibt das Ergebnis in die Konsole. Am Chart ändert sich nichts. |
| Zum Chart hinzufügen | StrgShiftEnter (Mac: CmdShiftEnter) | Speichert das Script als eigenen Indikator und legt ihn in den Chart. Ist das Script schon gespeichert, heißt die Schaltfläche Im Chart aktualisieren. |
Die Konsole
Unter dem Editor liegt die Konsole mit den Reitern Konsole und Referenz. Rechts daneben steht die Position des Cursors, etwa „Zeile 3, Spalte 12“.
Nach Ausführen steht in der Konsole eine Zusammenfassung, zum Beispiel:
Kompiliert in 1,2 ms · 2 Plots · 1 Signal (14 Treffer) · Schnell = 21, Langsam = 55- Erfolgreiche Läufe stehen in der Farbe für steigende Kurse (ab Werk Türkis).
- Fehler stehen in Rot, etwa „Fehler in Zeile 1, Spalte 6: „nope“ ist nicht definiert“. Ein Klick auf die Zeile setzt den Cursor an die Stelle im Code.
- Hinweise auf fehlende Daten stehen in Gelb, etwa „Keine Daten für oi, funding bei SPY: die Werte bleiben leer.“
- Deine eigenen Ausgaben mit
console.log()stehen in Grau,console.warn()in Gelb undconsole.error()in Rot.
Ein Script muss mindestens einmal plot(), signal() oder alertcondition() aufrufen, sonst meldet die Konsole „Kein plot(), signal() oder alertcondition() gefunden“. Der Reiter Referenz listet alle Funktionen und Datenreihen auf einen Blick.
Scripts im Chart
Nach Zum Chart hinzufügen erscheint das Script im Chart wie jeder andere Indikator:
plot()mitoverlay: truezeichnet Linien in den Preischart, alle anderen Plots landen in einem eigenen Fenster unter dem Chart.signal()setzt Dreiecke unter die Kerze (pos: 'below') oder darüber (pos: 'above').- In der Legende steht das Script mit seinem Namen und den Werten unter dem Fadenkreuz.
- Das Zahnrad in der Legende oder in der Kopfzeile des Fensters öffnet die Einstellungen des Scripts, ebenso ein Doppelklick auf seine Zeile in der Legende oder auf sein Fenster. Unter Eingaben stehen alle Zahlen, die du mit
input()einstellbar gemacht hast; änderst du sie, rechnet das Script sofort neu. Unter Stil stellst du Farbe und Linienstärke seiner Linien, Histogramme und Signale ein. - Das AI-Symbol rechts neben dem Zahnrad öffnet das Script im MantaAi-Panel, auf dem Reiter MantaAi und mit dem Script im Editor. Siehe MantaAi.
Das Script rechnet bei jeder neuen Kerze und bei Kursbewegungen der laufenden Kerze neu, höchstens alle 300 Millisekunden. Lädt der Chart beim Zurückscrollen ältere Kerzen nach, rechnet es auch über diese. Im Replay sieht es nur die Kerzen bis zum Replay-Zeitpunkt.
Zeichnet ein Script nichts, sagt sein Fenster oder der Preischart unten links, warum, etwa „Script-Fehler: … (Zeile 3)“ oder dass Daten fehlen.
Deine Scripts findest du außerdem unter Indikatoren (/) → Eigene. Dort fügst du sie wie jeden Indikator mit + Hinzufügen hinzu und kannst sie veröffentlichen, siehe Scripts teilen.
Meine Scripts
Der Reiter Meine Scripts listet alle deine Scripts. Unter dem Namen steht, wo das Script zeichnet und was es liefert, etwa „Fenster · 1 Plot · 2 Signale“ oder „Im Preischart · 2 Plots“. Jede Zeile hat:
- einen Schalter, der das Script in den Chart legt oder herausnimmt,
- die Glocke („Alarm auf dieses Script“) für einen Script-Alarm (ab Plus), siehe Script-Alarme,
- Bearbeiten, das den Code in den Editor lädt,
- Löschen, mit Rückgängig im Popup. Ein gelöschtes Script verschwindet auch aus dem Chart.
Wo deine Scripts gespeichert sind
- Abgemeldet speichert das Terminal deine Scripts in diesem Browser. Die Liste sagt dann „Gespeichert in diesem Browser. Angemeldet liegen deine Scripts in deinem Konto.“
- Angemeldet liegen sie in deinem Konto und sind auf allen Geräten da. Scripts, die du vorher abgemeldet in diesem Browser angelegt hast, lädt das Terminal beim Anmelden in dein Konto hoch.
Was gerade im Editor steht, merkt sich der Browser auch ohne Speichern, bis du es mit Zum Chart hinzufügen sicherst.
Grenzen
| Grenze | Wert |
|---|---|
| Länge eines Scripts zum Speichern | 20.000 Zeichen |
| Rechenzeit pro Lauf im Chart und bei Ausführen | 250 ms |
| Rechenzeit für einen Backtest | 2 Sekunden |
plot() / signal() / hline() / alertcondition() / input() pro Script | 24 / 24 / 32 / 16 / 16 |
| Größe eines einzelnen Arrays | 5.000.000 Werte |
Überschreitet ein Script die Rechenzeit, bricht das Terminal es mit „Script abgebrochen: Zeitlimit überschritten“ ab. Der Chart bleibt dabei bedienbar, denn Scripts laufen abgeschottet vom Rest des Terminals. Im Chart versucht das Terminal ein abgebrochenes Script nach 10 Sekunden erneut.
Ein Script kann nichts aus dem Internet laden, keine Daten im Browser lesen oder speichern und nichts außerhalb seiner eigenen Rechnung verändern. Es sieht nur die Datenreihen, die CoinScript ihm gibt.