Pages:
Author

Topic: [Bounty] Tradingview Strategien mit ChatGPT schreiben - page 2. (Read 420 times)

hero member
Activity: 686
Merit: 1861
Ich hab heute mal einen Scalper mit ChatGPT gebaut.
Muss sagen das rumprobieren hat richtig spaß gemacht, nur das Fehler korrigieren war nervig, weil GPT gefühlt jedes mal einen neuen Fehler eingebaut hat....

Am Ende bin ich dann aber trotzdem bei einer Strategie gelandet, die im Backtest irgendwie zu gut aussieht:


690 Trades in 7 Tagen und dabei 120% Gewinn scheint mir dann doch zu schön um wahr zu sein. Glaube ich muss da mal tagsüber nochmal drüber schauen, wenn mein Hirn nicht schon matsche ist...  Grin 
hero member
Activity: 686
Merit: 1861
~

Das sieht ja jetzt echt nicht mega kompliziert aus, muss ich mir chatGPT wohl doch mal installieren... Cheesy



Die Kombination mit autoview sähe dann etwa so aus:
Code:
alertcondition(Kaufe_DCA_wenn, title="BTC_DCA", message="b=buy e=kraken q=0.1 s=XXBTZEUR t=limit fp=26.000" )

Also der alarm wird in pinscript geschrieben aber der Text den der Alarm ausspuckt entspricht der Autoview Syntax.
In dem Fall hier:
Limit Order zum Kauf auf Kraken von 0.1 BTC zum Kurs 26k EUR pro BTC.
legendary
Activity: 1092
Merit: 1125
Genau das! Proof of concept: check....
Eventuell kannst du ja auch noch ausprobieren ob der auch autoview kennt und dann die Alarme gleich in der Autoview Syntax ausgeben kann.... das wäre natürlich Mega!  Cheesy

Ich habe ChatGPT mal zu Autoview befragt und die Erweiterung scheint ihm auch bekannt zu sein. Hier weiß ich jetzt gerade nicht, wie die Syntax aussehen müsste oder was man sich hier erhoffen würde, weshalb ich gerade kein Beispiel geben kann.



Wie angekündigt, teile ich hier mal meinen genauen Dialog mit ChatGPT oder eher meine Anweisungen. Die Antworten von ChatGPT enthalten dann den Code und jedes Mal noch ein bisschen Text drum herum, der uns aber nicht so sehr interessiert.
Ich setze einfach mal voraus, dass ihr euch bei ChatGPT registriert habt und einen neuen Dialog startet.

Meine erste Anfrage war dann der gekürzte Ausgangsbeitrag von Turbatuluk:
Code:
Schreibe eine Anleitung für eine Strategie in Tradingview, die idealerweise folgenge Kriterien erfüllt:
- geschrieben in PineScript Version=5
- Backtestbar, d.h. Trades in Tradingview werden platziert (-> short und long Condition)
- Im Live-betrieb werden für platzierte Trades auch Alarme ausgegeben
- Strategie sollte auf mindestens 2 Indikatoren basieren (z.B. RSI + BB)
- Strategie sollte zumindest grundlegendes Risiko- bzw. Moneymanagement skizzieren (TP, SL, Safety Orders, etc.)
An dieser Stelle könnte man dann auch mal andere Indikatoren verwenden/testen oder schon genauer spezifizieren, was man möchte.

Daraufhin gab es dann den ersten Entwurf. Diesen habe ich bei Tradingview eingefügt und das kompilieren hat nicht geklappt, weil Syntaxfehler enthalten waren.

Ab dem Punkt gilt es eigentlich einfach nur, ChatGPT zu sagen, was nicht funktioniert und um Nachbesserung zu bitten.

Meine Anweisungen sahen dann jeweils so aus:

Code:
Die Syntax ist leider nicht ganz richtig.
Die Funktionen rsi, sma, stdev, crossover, crossunder und abs werden als falsch angezeigt. Bitte korrigiere das Skript.

Code:
Du verwendest immer noch crossover, crossunder und abs in dem Skript. Bitte überarbeite es dahingehend.

Code:
Die Syntax stimmt nun. Es wurden aber keine Trades platziert durch diese Strategie. Bitte korrigiere das nochmal.

Code:
Es wurden wieder keine Trades platziert.

Code:
Es werden immer noch keine Trades platziert.
Folgende Warnungen werden noch angezeigt:
14:58:40 Warnung für 30:1 'alertcondition()' has no effect inside strategies.
14:58:40 Warnung für 31:1 'alertcondition()' has no effect inside strategies.

Code:
Auf Tradingview erscheint immer noch folgende Fehlermeldung:
Vorsicht! Diese Strategie hat im Testbereich keine Orders erstellt.

Code:
Die Strategie soll für das BTC/USD Tradingpaar sein und es werden immer noch keine Trades platziert.

Mit jeder Anweisung wurde das Skript ein wenig überarbeitet aber letztlich waren ja die größer/kleiner Zeichen nur falsch.

Im Grunde ist es auch nicht viel mehr. Ich habe hier keine besonderen Formulierungen verwendet und einfach umgangsprachlich geschrieben, was ich möchte und was eben nicht funktioniert hat.
Wenn etwas nicht stimmt, lässt man ChatGPT einfach nachbessern und müsste dann evtl. selbst nochmal einen Feinschliff machen.
hero member
Activity: 686
Merit: 1861
Na da waren es am Ende doch nur zwei kleine, vertauschte Zeichen. Freut mich echt, dass die Strategie dann syntaxtechnisch in Ordnung ist. Mir werden jetzt auch einige Trades (wenn auch hauptsächlich rot) angezeigt aber wir können daraus schließen, dass es mit ein wenig Eigenleistung möglich ist, sich ein Grundgerüst von ChatGPT bauen zu lassen.

Genau das! Proof of concept: check....
Eventuell kannst du ja auch noch ausprobieren ob der auch autoview kennt und dann die Alarme gleich in der Autoview Syntax ausgeben kann.... das wäre natürlich Mega!  Cheesy

Aber ansonsten dürfte das auch jetzt schon die Hürde für den copytrading Wettbewerb deulich absenken: https://bitcointalksearch.org/topic/m.62551046

Freut mich, genau das Ergebnis was ich mir erhofft hatte.  Cool
legendary
Activity: 1092
Merit: 1125
Probier mal das hier:
long_condition = rsi_value < 30 and close < lower_band
short_condition = rsi_value > 70 and close > upper_band
Na da waren es am Ende doch nur zwei kleine, vertauschte Zeichen. Freut mich echt, dass die Strategie dann syntaxtechnisch in Ordnung ist. Mir werden jetzt auch einige Trades (wenn auch hauptsächlich rot) angezeigt aber wir können daraus schließen, dass es mit ein wenig Eigenleistung möglich ist, sich ein Grundgerüst von ChatGPT bauen zu lassen.

Ich würde sagen die erste ChatGPT Strategie steht!  Cool
Von den Millionengewinnen sind wir noch etwas entfernt, aber das hätte ich bei BB+RSI auch nicht ernsthaft erwartet. Fehlen noch die Alarme und die Dokumentation des Chats (im Mittelpunkt steht ja die Anleitung nicht die Strategie).  Wink
Die Anleitung werde ich natürlich nachreichen. Das habe ich noch nicht im Detail gemacht, weil ich ja noch nicht wusste, ob die Strategie überhaupt funktionieren würde bzw. ob der Code korrekt ist.
hero member
Activity: 686
Merit: 1861
@Turbatuluk vielleicht kannst du an der Stelle das Skript mal bei dir testen und bemerkst, dass nur eine kleine Einstellung gefehlt hat. Bitte beteilige mich dann aber auch an den Millionengewinnen, falls es die gibt Cheesy

Code:
// Bedingungen für Long- und Short-Trades
long_condition = rsi_value < 30 and close > upper_band
short_condition = rsi_value > 70 and close < lower_band

Probier mal das hier:
long_condition = rsi_value < 30 and close < lower_band
short_condition = rsi_value > 70 and close > upper_band

Ich würde sagen die erste ChatGPT Strategie steht!  Cool
Von den Millionengewinnen sind wir noch etwas entfernt, aber das hätte ich bei BB+RSI auch nicht ernsthaft erwartet. Fehlen noch die Alarme und die Dokumentation des Chats (im Mittelpunkt steht ja die Anleitung nicht die Strategie).  Wink
 
legendary
Activity: 1092
Merit: 1125
Jetzt habe ich mich mal bei Tradingview registriert und ChatGPT angeschmissen.

Meine Erfahrungen bisher (der untenstehende Code ist von ChatGPT erstellt worden und zur besseren Lesbarkeit in ein Code-Block eingefügt, um keine seitenlagen Zitate hier zu posten):

Ich habe ChatGPT mehr oder weniger einfach einen Ausschnitt aus dem OP geschickt und prompt kam das erste Skript dabei raus.
Code:
//@version=5
strategy("RSI + Bollinger Bands Strategy", overlay=true)

// Einstellungen für RSI
rsi_length = input(14, title="RSI Length")

// Einstellungen für Bollinger-Bänder
bb_length = input(20, title="BB Length")
bb_mult = input(2.0, title="BB Standard Deviation")

// Einstellungen für Moneymanagement
risk_per_trade = input(1.0, title="Risk per Trade (%)") / 100
take_profit_multiplier = input(2.0, title="Take Profit Multiplier")
stop_loss_multiplier = input(1.5, title="Stop Loss Multiplier")

// Berechnung des RSI
rsi_value = rsi(close, rsi_length)

// Berechnung der Bollinger-Bänder
basis = sma(close, bb_length)
dev = bb_mult * stdev(close, bb_length)
upper_band = basis + dev
lower_band = basis - dev

// Bedingungen für Long- und Short-Trades
long_condition = crossover(rsi_value, 30) and close > upper_band
short_condition = crossunder(rsi_value, 70) and close < lower_band

// Alarme für Long- und Short-Trades im Live-Betrieb
alertcondition(long_condition, title="Long Trade", message="Long Trade - Entry")
alertcondition(short_condition, title="Short Trade", message="Short Trade - Entry")

// Berechnung der Positionsgröße basierend auf dem Risiko pro Trade
risk_amount = strategy.equity * risk_per_trade
position_size = risk_amount / abs(close - close[1])

// Take Profit und Stop Loss Levels
take_profit_level = strategy.position_avg_price * take_profit_multiplier
stop_loss_level = strategy.position_avg_price * stop_loss_multiplier

// Eröffnen von Long- und Short-Positionen
if (long_condition)
    strategy.entry("Long", strategy.long, qty=position_size)
    strategy.exit("Long TP/SL", "Long", limit=take_profit_level, stop=stop_loss_level)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=position_size)
    strategy.exit("Short TP/SL", "Short", limit=take_profit_level, stop=stop_loss_level)

// Sicherheitsstopp, um eine offene Position zu schließen, wenn der Kurs stark in die falsche Richtung läuft
security_stop = close * 0.95
strategy.exit("Security Stop", "Long", stop=security_stop)
strategy.exit("Security Stop", "Short", stop=security_stop)
Quelle: ChatGPT

Die Erklärung zum Skript selbst noch:
Quote
1. Die Strategie verwendet den RSI und die Bollinger-Bänder, um Long- und Short-Trades zu identifizieren.
2. Im Live-Betrieb werden Alarme ausgegeben, wenn ein Long- oder Short-Trade platziert wird.
3. Das Moneymanagement wird durch das Risiko pro Trade festgelegt, wodurch die Positionsgröße berechnet wird.
4. Take Profit und Stop Loss Levels werden als Multiplikatoren des Eintrittspreises festgelegt.
5. Es gibt auch einen Sicherheitsstopp, um eine offene Position zu schließen, wenn der Kurs stark in die falsche Richtung läuft.
Quelle: ChatGPT

Souverän wie ChatGPT das eben so präsentiert, habe ich es bei Tradingview eingefügt und mir sind erst einmal Syntaxfehler entgegen gesprungen Cheesy

Nachdem ich ChatGPT dann zwei mal darauf hingewiesen habe, dass der Code Syntaxfehler enthält (beim ersten Mal wurde nur ein Teil korrigiert), war dieser erst mal fehlerfrei.

Beim kompilieren des Codes wurden noch noch zwei Warnungen angezeigt, dass die Alarme so nicht funktionieren würden im Strategie-Tester.

Die Spannung war zu dem Zeitpunkt groß. Ich wollte sehen, ob die Strategie nun einen Millionengewinn eingefahren hat oder ob ich pleite wäre Cool
Ernüchternd war dann die Meldung, dass schlicht und ergreifend keine Trades platziert wurden.

Ab dem Zeitpunkt habe ich ChatGPT noch 5 mal darauf hingewiesen, dass mit der Strategie keine Trades platziert werden und auch immer mal noch versucht, sinnvolle Informationen zur Verfügung zu stellen, die eventuell fehlen könnten.
Das finale Skript sah dann irgendwann so aus:
Code:
//@version=5
strategy("RSI + Bollinger Bands Strategy", overlay=true)

// Einstellungen für RSI
rsi_length = input(14, title="RSI Length")

// Einstellungen für Bollinger-Bänder
bb_length = input(20, title="BB Length")
bb_mult = input(2.0, title="BB Standard Deviation")

// Einstellungen für Moneymanagement
risk_per_trade = input(1.0, title="Risk per Trade (%)") / 100
take_profit_multiplier = input(2.0, title="Take Profit Multiplier")
stop_loss_multiplier = input(1.5, title="Stop Loss Multiplier")

// Berechnung des RSI
rsi_value = ta.rsi(close, rsi_length)

// Berechnung der Bollinger-Bänder
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper_band = basis + dev
lower_band = basis - dev

// Bedingungen für Long- und Short-Trades
long_condition = rsi_value < 30 and close > upper_band
short_condition = rsi_value > 70 and close < lower_band

// Eröffnen von Long- und Short-Positionen
if (long_condition)
    strategy.entry("Long", strategy.long)

if (short_condition)
    strategy.entry("Short", strategy.short)

// Sicherheitsstopp, um eine offene Position zu schließen, wenn der Kurs stark in die falsche Richtung läuft
security_stop = close * 0.95
strategy.exit("Security Stop", "Long", stop=security_stop)
strategy.exit("Security Stop", "Short", stop=security_stop)

// Take Profit und Stop Loss Levels
take_profit_level = close + (close - close[1]) * take_profit_multiplier
stop_loss_level = close - (close - close[1]) * stop_loss_multiplier

strategy.exit("Long TP/SL", "Long", limit=take_profit_level, stop=stop_loss_level)
strategy.exit("Short TP/SL", "Short", limit=take_profit_level, stop=stop_loss_level)
Quelle: ChatGPT

Auch hier kein einziger Trade.

Dann ist mir der Kragen geplatzt und ich habe ChatGPT folgendes gefragt:
Quote
Hast du überhaupt keine Ahnung, wie Tradingview funktioniert? Selbst nach dem 10. Versuch platziert deine Strategie keine Trades.
Gefühle wurden keine verletzt aber leider war es das dann mit der Strategie.
Ich habe nur noch folgende Antwort erhalten:
Quote
Es tut mir leid für die entstandenen Unannehmlichkeiten und Missverständnisse. Als KI-Modell habe ich keinen Zugriff auf Live-Plattformen wie Tradingview, daher kann ich die Strategie nicht in Echtzeit testen. Ich habe mein Bestes getan, um die Strategie basierend auf den Informationen, die Sie mir zur Verfügung gestellt haben, zu verbessern.

...
Quelle: ChatGPT

Meine Erfahrung spiegelt genau das, was ich im oberen Beitrag schon vermutet hatte, wieder :/
Durch meine fehlende Erfahrung mit Tradingview bin ich nicht in der Lage, die Informationen von ChatGPT überhaupt zu verifizieren oder sinnvoll zu nutzen.

@Turbatuluk vielleicht kannst du an der Stelle das Skript mal bei dir testen und bemerkst, dass nur eine kleine Einstellung gefehlt hat. Bitte beteilige mich dann aber auch an den Millionengewinnen, falls es die gibt Cheesy
legendary
Activity: 2226
Merit: 6947
Currently not much available - see my websitelink
Erneut ein interessantes Gewinnspiel.
Da ich keine Ahnung vom Coden habe, muss ich leider passen, finde die Idee aber trotzdem gut.
Dennoch hat mich das Gewinnspiel auf eine Idee gebracht, nämlich ChatGPT ein paar Fragen für das Trading zu stellen. Und ChatGPT ist zielich schlau.
Schaut, was es dazu schreibt:







Wenn man bedenkt, dass ChatGPT immer extrem schwammig antwortet (bEidE seiTeN), ist diese Antwort dann doch eine ziemlich deutliche Abfuhr gegen die technische Chartanalyse...



Merit reiche ich nach an euch beide.  Smiley
legendary
Activity: 1092
Merit: 1125
Mit ChatGPT habe ich schon einige Erfahrung gesammelt, mit Tradingview hingegen noch keine Cheesy

Das Problem bei ChatGPT ist ja, dass es einem eigentlich nur zuarbeitet. Man sollte sich hier auf keinen Fall darauf verlassen, dass das, was es einem so ausgibt auch wirklich korrekt ist. Ne Bewerbung schreiben lassen, ist ein gutes Beispiel. Man weiß ja prinzipiell was gut/schlecht ist aber einem fehlt teilweise die Kreativität oder Lust, lange Anschreiben zu verfassen. ChatGPT nimmt einem das einfach ab und im Anschluss korrigiert man ggf. einzelne Formulierungen, die einem nicht so gut gefallen.

Nutzt man nun ChatGPT für eine Anleitung für eine Sache, mit der man sich selbst noch nicht auskennt, kann man ja nicht mal nachvollziehen, ob da nicht irgend ein fataler Fehler drin steckt.

Diese Bounty ist aber jetzt ein Anlass, mich mal mit Tradingview auseinander zu setzen, um dann mein Wissen in Verbindung mit ChatGPT zu teilen.

Ein Anreiz noch: Ich würde mich hierbei nicht nur auf ChatGPT fokussieren. ChatGPT ist ein Sprachmodell, das Informationen aus dem Internet auf Grund von Wahrscheinlichkeitsanalyse für den Nutzer zusammenfasst (grob vereinfacht beschrieben).
Mittlerweile gibt es unzählige KI/AI Werkzeuge, die die Aufgabe vielleicht noch besser lösen könnten. Vielleicht stößt da ja jemand auf einme noch bessere Alternative.
hero member
Activity: 686
Merit: 1861
Da sich hier im Forum ja schon einige mit ChatGPT intensiver auseinandergesetzt haben (ich hab mich da noch nicht rangewagt), möchte ich mal eine Konkrete Aufgabenstellung geben:

Schreibe eine Anleitung wie man mit Hilfe von ChatGPT eine Strategie in Tradingview aufsetzen lassen kann, die idealerweise folgenge Kriterien erfüllt:
- geschrieben in PineScript Version=5
- Backtestbar, d.h. Trades in Tradingview werden platziert (-> short und long Condition)
- Im Live-betrieb werden für platzierte Trades auch Alarme ausgegeben
- Strategie sollte auf mindestens 2 Indikatoren basieren (z.B. RSI + BB)
- Strategie sollte zumindest grundlegendes Risiko- bzw. Moneymanagement skizzieren (TP, SL, Safety Orders, etc.)

Als Prämie setze ich bis zu 1mBTC + 10 Merits aus, wobei ich mir vorbehalte die Beträge je nach Erfüllungsgrad der einzelnen Punkte nicht voll auszureizen. Ich freue mich auf den Input.  Wink

Belohnungen auf Beiträge werden so lange vergeben bis der Topf alle ist, also bekommt ggf. nicht nur der 1. was ab.

Edit: die Prämie wird nach meinem Gutdünken auf alle bis 1.8. abgegebenen Beiträge verteilt. Denke so lässt sich der Nutzen für die Community maximieren.
Pages:
Jump to: