Zum Inhalt springen

Allgemeine Programmierung / Entwicklung, alle Sprachen, API Börsen, API Crypto Clients


fjvbit

Empfohlene Beiträge

vor 2 Minuten schrieb Männergruppe Monk:

Nach meiner Meinung gibt es nur ein Konzept, was z.B. bei Binance richtig gut funktioniert.

Es wäre super, wenn du das mal demonstrieren könntest. Mach einfach Trades mit deinem System und poste die Ein- und Ausstiege direkt im Forum. Am besten einen eigenen Thread dafür machen. Dann sieht man sofort, wie gut das funktioniert.

Vielleicht findest du dann auch ein paar Kunden hier :cool:

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb fjvbit:

Es wäre super, wenn du das mal demonstrieren könntest. Mach einfach Trades mit deinem System und poste die Ein- und Ausstiege direkt im Forum. Am besten einen eigenen Thread dafür machen. Dann sieht man sofort, wie gut das funktioniert.

Vielleicht findest du dann auch ein paar Kunden hier :cool:

Nicht schon wieder, dass hatten wir doch mit ihm alles schon mal. Kannst dich nicht erinnern? Am Ende war da doch nur heiße Luft.

Und bitte Monk, mach deinen eigenen Trading-Thread dafür auf und las und damit hier in Ruhe!

Bearbeitet von MixMax
  • Haha 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb MixMax:
vor 6 Minuten schrieb fjvbit:

Es wäre super, wenn du das mal demonstrieren könntest. Mach einfach Trades mit deinem System und poste die Ein- und Ausstiege direkt im Forum. Am besten einen eigenen Thread dafür machen. Dann sieht man sofort, wie gut das funktioniert.

Vielleicht findest du dann auch ein paar Kunden hier :cool:

Nicht schon wieder, dass hatten wir doch mit ihm alles schon mal. Kannst dich nicht erinnern? Am Ende war da doch nur heiße Luft.

Lass ihn doch mal zeigen, was er kann. Wenn er das im eigenen Thread macht, stört doch nicht. Nur bitte nicht hier. :cool:

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb fjvbit:

Lass ihn doch mal zeigen, was er kann. Wenn er das im eigenen Thread macht, stört doch nicht. Nur bitte nicht hier. :cool:

Das hatte ich damals 1000mal von ihm gefordert, da kam dann auch nix bei rum! Hatte er nie nur ansatzweise gemacht.

Sorry aber ich sehe schon wieder wie dieser Thread zum Bot-Werbe-Thread missbraucht wird. Das kann ich mir wirklich sparen.

Bearbeitet von MixMax
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 2 Minuten schrieb Männergruppe Monk:

Sonst würdest Du mit einem Konzept anfangen.

Ich habe ein Konzept...

Ich will kein Arbitrage machen...

Ich mache es nur im Moment von Hand...

Ich möchte es automatisieren und optimieren....

Bearbeitet von fjvbit
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 4 Minuten schrieb Männergruppe Monk:

Es ist egal, wie Du das drehst. Bots sind implementierte Trading Strategien. Du kannst ja mal was dazu beitragen, welche Konzepte man realisiert, anstatt zu stänkern und hier den Administartor zu spielen !

Du missbrauchts jeden Thread der irgendwie passt, als Werbeplattform für deinen Bot, den du dann nicht öffentlich vorstellst, etc.

Ich will nicht stänkern, ich finde nur du kannst dafür dein Eigenen Thread aufmachen und dort so viel über deine Strategie erzählen wie du willst.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Nachtrag zu dem oben erwähnten "Jesse":

Wie so oft erlebt ist der Backtest sehr simpel gestrickt - ein einmaliger Durchlauf der aktuellen Strategie über einen fixen Zeitraum.

Und leider erschreckend langsam: Ca. 6000 Candles auf ein einziges Paar dauern laut einem Beispiel in der Doku 108 Sekunden!
(Trotz ausführlicher Hinweise, alles über Numpy Arrays und möglichst Vektormethoden abzuwickeln.)

Das ist der Preis für ein mächtiges Konzept auf Eventbasis in Python ... in Go wäre mindestens ein Faktor 10 drin.

https://docs.jesse.trade/docs/backtest.html

Jesse bringt ein nettes Optimierungsmodul mit, das über evolutionäre Algorithmen gute Parameter sucht. Leider steht in der Doku zu wenig, als dass ich die Qualität dieser Optimierung halbwegs einschätzen könnte (*). (Nachtrag: Erscheint sinnvoll.)

Kritikwürdig ist jedenfalls, dass Jesse lediglich über einen einzigen Zeitraum arbeitet. Erwartungsgemäß explodiert die Laufzeit: Ca. 40h.

(*: Im Source kann man finden, dass die Fitnessfunktion im wesentlichen das ... Ratio (wählbar: Sharpe/Sortino/Calmar/Omega) ist mit einem kleinen Korrekturfaktor, was die Zahl der Trades betrifft. )


Aber das ist jetzt Meckern auf hohem Niveau - Backtest ist halt eines meiner Steckenpferde - ansonsten gefällt mir Jesse sehr gut.


Kleiner Wermutstropfen: Das Live-Trading-Modul ist noch nicht ganz fertig, soll aber schon weitgehend fertig sein und bald kommen.
Momentan ist man also noch auf Backtests begrenzt.

  • Like 3
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 9 Minuten schrieb Männergruppe Monk:

Dann schau Dir mal Matlab an. Der Unterschied zu anderen Sprachen ist, dass man sich auf den Task fokussiert und nicht auf das Programmieren, auch ist die GPU Anbindung sehr gut. Das ist ein wesentlicher Unterschied in der Bot Entwicklung, immer dran denken. Bei BTC Preisen über 20K Euro kommen natürlich auch die Freaks mit ganz anderen Ressourcen, da muss man mithalten können.

Ich habe Matlab und kann auch "etwas" damit umgehen. Ich nutze es für den Entwurf und Test von Reglern in der Automatisierung, aber das gehört hier nicht hin.

Aber das ist nur ein Tool von vielen. Wir wollen hier keine Diskussionen welches Tool / Sprache ist am Besten. In diesem Thread sollen sich Programmierer austauschen können und gegenseitig unterstützen können. Das ist der Plan.

Bitte keine Diskussion, welches Tool / Sprache ist besser / schlechter. Es liegt auch immer daran, wie sehr ein Entwickler mit einem Werkzeug vertraut ist....

Wenn hier zu viel OT kommt, dann schiebe ich es in den OT Bereich, um den Thread übersichtlich zu halten.

Bearbeitet von fjvbit
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb Männergruppe Monk:

Sicher, nur ist meine Preisdatenbank gerade 250+Gbyte gross. Lade Dir einfach das Tool runter, ist umsonst, das ist viel schneller, das mal eben selber runterzuladen.

Tip : Nichts bezahlen, bei Crypto ist das nicht schneller.

okay... alles klar ;)  

Mit nem Tool das alles runterladen ist nicht das Problem und weiss wie viel das an Daten ist, wenn man sich die 1min Kline's bei Binance zieht.
Da brauch ich auch kein Tool für, kann ich man auch mit 10 Zeilen Python kurz selber bauen. Das dauert nur und nichts desto trotz gibt es ein Rate-Limiting bei Binance und man kann da net wie wild auf die Rest API einhämmern. 
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Männergruppe Monk sry, mir ging es nicht drum dich vorzuführen! Das Tool, hattest du schon mal vor paar Monaten erwähnt und hatte es mir damals angeschaut gehabt. aber war damals schon nicht praktikabel für mich.

Ich dachte nur, wenn du eh schon die Daten grade runterlädst, dann kann ich mir das eben sparen selber zu machen. Ich brauche momentan fürs Backtesting nur selektiv ein paar Binance USDT Futures Märkte und da die 5min und 1min Kline's.

Bastel mir das aber doch mal eben selber, muss eh noch paar andere Daten von der Binance Futures API holen... 

So aus reiner Neugierde: In was für eine Datenbank lädst du die Daten ?! 
Ich hab früher alles in einer MongoDB geschrieben. Das klappt schon ganz gut für die Datenmangen. Aber momentan experimentiere ich
mit TimeSeries Datenbank rum, e.g. InfluxDB  Das sind schon paar ganz interessante Sachen dabei, zB lassen sich Moving Averages direkt auf
der Datenbank abbilden. Oder auch z.B Tick Daten in 1min, 5min etc Kerzen aggregierten. Probiere da grade verschiedene Dinge aus.

 

PS: und muss mich auch mal bei Dir, bzw. Adriana bedanken .... der Hinweis auf Van Tharp war für mich damals ein Game-Changer ...

Bearbeitet von ¯\_(ツ)_/¯
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Minuten schrieb PeWi:

Neugierdehalber: Hattest du vorher zu große Trades riskiert? Oder warum andernfalls?

ja, zum einen viel zu Gross (> 10%)  und vor allem auch zu statisch. hatte einen fixen Wert, zB. 0.1 BTC...  (das war damals noch deutlich weniger als heute ^^) 
Auch war mein Risikomgmt nicht besondernlich toll. Irgendwie hatte ich schon immer von gelesen. Aber hatte es wohl nicht richtig verstanden ... erst durch 
Tharps Postion Sizing hat es bei mir Klick gemacht und warum und wieso ich da mehr drauf achten muss. Hatte mich dann mit Adriana dann noch über Equity
Curve Modelling unterhalten, aber an das Thema muss ich noch mal gesondert dran und hab da auch nicht so wirklich Literatur zu gefunden...

Bearbeitet von ¯\_(ツ)_/¯
  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

1 hour ago, ¯\_(ツ)_/¯ said:

ja, zum einen viel zu Gross (> 10%)  und vor allem auch zu statisch. hatte einen fixen Wert, zB. 0.1 BTC...  (das war damals noch deutlich weniger als heute ^^) 

Das erklärt, warum sich bei mir durch Tharp nicht viel geändert hat - ich war schon immer eher etwas risikoscheu. 😉
Ich hab' ein paar seiner Position Sizing-Möglichkeiten in Backtests ausprobiert, und es kam - leider - kaum was anderes dabei raus.

Das Equity Modelling, das ich in vereinfachter Form nachträglich in meinen Python-Bot für Binance eingebaut habe, hat tatsächlich merkliche Verbesserungen gebracht, weil der nur long-only kann und dadurch in längeren Bärenphasen jetzt weniger verliert.
Mein Go-Bot, der auf Kraken long und short geht, profitiert laut Backtests leider nicht merklich davon.

Bearbeitet von PeWi
Tippfehler
  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Männergruppe Monk:

Dann hast Du Deinen Go-Bot falsch eingesetzt. Es muss eine wesentliche Veränderungen eintreten, das ist die Natur der Sache.

Ohne dass ich Ahnung habe worum es geht, muss jeder dich nun zu folgendem auffordern:
dann her mit deiner Argumentationskette. PeWi hat es sich ja offenbar damit erklärt, dass der Bot auch shorten kann. Nun musst du erklären, warum es dennoch eine wesentliche Veränderung geben, bzw. warum die Möglichkeit des shortens keinen Einfluss haben sollte.

  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 18 Stunden schrieb Männergruppe Monk:

Was ich machen kann, Du schickst mir einfach per PM die Pairs, die Du haben willst und den Timeframe und ich schick das zurück. Ich lade gerade 20 Jahre Tickdaten Forex runter, kann also etwas dauern.

SQ hat eine neue Version, die ist wesentlich besser. Es ist egal, was Du machst, Du brauchst irgendein Tool, Preise runterzuladen, zu managen und regelmäßig upzudaten, ohne dass es viel Deiner Zeit kostet. Wenn Du was besseres als SQ findest, lass es mich wissen 🙂

 

Nachtrag : Die Datenbank ist in SQ enthalten. Der läd alles runter und ich kann mit Export ein CSV erstellen, z.B. ETHBTC, 1min, OHLC Candles und gut ist. Selber machen dauert zulange.

Nachtrag 2 : Wenn jemand Programmierfragen hat, Stackoverflow.com ist der beste Platz, diese zu stellen.

 

Moin .. danke für das Angebot!
Habs mir jetzt eben selber gescriptet und lad mir grade die Daten in meine Datenbank. Hallte sie dann auch über den Binance WebSocket aktuell.
Hab gestern dem SQ DataManager noch mal eine Chance gegeben und ist für mich einfach nicht passend. und die Binance Futures OHLC gibts da
ohnehin nicht.

@PeWi @Männergruppe Monk Was versteht ihr eigentlich unter dem Thema "Equity Curve Modelling" ? Bisher hatte ich es so verstanden, dass ich mir
die Equity Kurve anschauen und entsprechend an verschiedenen Parametern (Risiko, Postion Size, etc.)  "schraube" um, eine möglichst Lineare Steigung zu erhalten und Draw Downs minimiere.

Link zu diesem Kommentar
Auf anderen Seiten teilen

45 minutes ago, Männergruppe Monk said:

Also geht man bei und teilt sein trading in zwei Bereiche, die, wo es live tradet, also wo die Kurve steigt und da wo es Geld verliert, also fällt, dann macht man ein Demo trading.

So hätte ich das auch beschrieben. Da liegt also der von dir bei mir vermutete Fehler nicht.

45 minutes ago, Männergruppe Monk said:

So zur Theorie. Das Problem, das setzt alles ein sehr stabiles System voraus.

Ich vermute eher, dass unsere Differenzen da liegen - am Unterschied zwischen Theorie und Praxis. 😉

Damit das ganze so schön funktioniert wie beschrieben, muss eine Statistik möglich sein, sprich, es müssen genügend Trades pro Marktsituation stattfinden. Andernfalls bekomme ich keine saubere Aussage, weil die Einzelereignisse zu viel Einfluss haben.

Außerdem laggt die Aussage "profitabel oder nicht" zwangsweise etwas. Wenn die Phasen "profitabel" bzw "nicht profitabel" lange genug sind, dann stört das nicht weiter. Wechselt das aber relativ schnell (im Vergleich zu den Tradelängen), dann wird die Positionsgröße zu immer größeren Teilen verkehrt gesetzt sein.

Und genau das vermute ich bei meinem Go-Bot. Seine Strategie hat zusätzlich zum Shorten von Haus aus einige adaptive Elemente, weswegen die Phasen schneller wechseln.

 

 

Bearbeitet von PeWi
Link zu diesem Kommentar
Auf anderen Seiten teilen

3 hours ago, Männergruppe Monk said:

Nimm doch einfach bei Deinem Go-Bot 100 Trades mit fester Postition

Unter den adaptiven Elementen meiner aktuellen Bot-Strategie ist auch die Positionsgröße. Hat also keinen Sinn.

 

3 hours ago, Männergruppe Monk said:

Hast Du schonmal daran gedacht, Dein System in ein Go-Bot Buy und ein Go-Bot Short zu teilen, evtl. die Phasen zu verlängern ? Dann hast Du eine klarere Gewichtung in eine Richtung ! 

Welchen Sinn hat es, den Bot auf zwei Hälften aufzuteilen, nur damit die Long- bzw Short-Seite auch in ungeeigneten Zeiten traden darf, damit ich im Anschluss das ganze durch Equity Trading wieder einfange?

Von hinten durch die Brust ins Auge?

Im Endeffekt habe ich in der Strategie bereits den Filter, wann Long und wann Short sinnvoll ist. Da bringt es wenig, sowas ähnliches nochmal oben drüber machen zu wollen.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb Männergruppe Monk:

So zur Theorie. Das Problem, das setzt alles ein sehr stabiles System voraus. Sprich die Anbindung an die Exchanges müssen einfach funktionieren, also 100% uptime.  Da dies unrealistisch ist, sollte man sogenannte Watchdogs laufen lassen. Ich zum Beispiel kontrolliere jeden Tradingstep in einem fully automated System nochmals, überprüfe mehrfach die Positionen bei Binance  und wenn da irgendwas harkt, versuch ich es automatisch zu korrigieren oder schicke mir eine SMS, wenn ich eingreifen muss.

ich nehme an du bist wegen der Liquidität bei binance? Wegen der API oder deren Servern/Matching Engine kanns ja nicht sein, deren API und Server gehöhren eher zu den schlechteren exchanges. Besonders bei volatilen Phasen ists entweder komplett weg, oder bis die orders in deren system gesettled wurden dauerts mehrere Minuten! So krass hab ich das bisher nur bei Kraken 2017/2018 erlebt. Also schnelles Trading ist bei binance aus meiner Sicht mit deren API und Matching Engine nicht möglich. Und leider scheint die Entwicklung/Verbesserung der Spot API auch ins Stocken geraten zu sein, während nur noch an der Futures API gearbeitet wird. Warum traden soviele Leute Futures?!

  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 1.1.2021 um 16:41 schrieb skunk:

Nimm doch einen fertigen Trading Bot. Da bekommst du die Module um mit den meisten Börsen zu interagieren gleich frei Haus und musst nur noch deinen eigentlich Trading Algo rein programmieren. Natürlich nur Open Source Trading Bots versteht sich. Einem Closed Source Trading Bot würde ich keine APIs Keys mit auf den Weg geben.

Welchen Open Source Trading Bot kannst du bzw. ihr denn empfehlen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

12 minutes ago, dxtr said:

Welchen Open Source Trading Bot kannst du bzw. ihr denn empfehlen?

Idealerweise solltest du selber ein bisschen programmieren können, um verstehen zu können, was und warum der Open Source Bot tut.

Das würde die Auswahl auf Sprachen, die du zumindest etwas kannst, einschränken.

Ist auch deswegen sinnvoll, weil viele Open Source Bots dir das ganze Rahmenwerk bieten, aber du die gewünschte Strategie in Teilen oder ganz selber schreiben musst.

  • Thanks 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Stunden schrieb Männergruppe Monk:

Also geht man bei und teilt sein trading in zwei Bereiche, die, wo es live tradet, also wo die Kurve steigt und da wo es Geld verliert, also fällt, dann macht man ein Demo trading.

Schaust du hier wie oft du Verlust-trades in folge machst, anhand der vorherigen Backtests, oder wie entscheidest du ab wann du in Simulation Modus wechselst ?
Eine andere Möglichkeit wäre, dass man einen Moving Avergae MA(10) über die Equity Kurve macht und sobald man mit der Equity unter den MA fällt in den Simulation Modus wechselt, und erst wieder Live traded sobald man über dem MA ist. Hast du damit schon Erfahrung gemacht ?! 
 

Bearbeitet von ¯\_(ツ)_/¯
Link zu diesem Kommentar
Auf anderen Seiten teilen

3 hours ago, Männergruppe Monk said:

[...] es ist besser seine Indikatoren auf Lagless Konzepte aufzubauen [...]
https://oxfordstrat.com/trading-strategies/zero-lag-moving-average/

Das Fazit aus deinem verlinkten Artikel ist allerdings:

"The trading strategy based on the Zero Lag Moving Average does not perform significantly better than the strategy based on the Hull Moving Average or some other alternatives."

Was mir noch nicht richtig klar ist - wenn der Lagless MA schneller reagiert - fällt der dann nicht auch häufiger auf Fake-Ausbrüche rein?

Wie sieht es mit adaptiven MAs aus? Von der Idee her erscheinen die mir auch recht einleuchtend.
Hat jemand Erfahrungen mit Frama/Kama/... ?

(P.S.: Der Frama ist ja auch von Ehlers.)

Bearbeitet von PeWi
Fettdruck
  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 1.1.2021 um 18:09 schrieb fjvbit:

Ich habe eine ziemlich genaue Vorstellung, was ich machen möchte. Im Moment geht es mir im ersten Schritt eine einheitlich APIs (Klasse) zu diversen Börsen. Binance, Bitfinex, Kraken, evtl. bitcoin.de (habe ich in PHP fertig) in Python 3.x.

Ich würde das gerne alle Börsen in eine einheitliche Klassenschnittstelle packen. Vielleicht gibt es das ja schon, das habe ich noch nicht geprüft / herausgefunden.

den Zustand von allem möchte in einer sql Datenbank halten (mariadb (= mysql)).

Darauf lass ich dann alles laufen:
Das Trading, die GUI (Web und/oder App).

Der nächste Schritt wäre dann Schnittstelle zu Bitcoin / Altcoin Wallets um zwischen meinen Wallets und den Börsen Transaktionen automatisiert zu machen. Mit dem Thema habe ich mich noch gar nicht beschäftigt.

Ich hoffe das Projekt wird nicht so ein Rohrkrepierer wie mein Arbitrage Bot, den ich vor 3 oder 4 Jahre angefangen, aber nie beendet habe...

Aber hier im Thread sollten alle Fragen zur Programmierung behandelt werden können, egal welche Sprache. Vor allem speziell zu Crypto. Ich denke, man kann sich ganz gut helfen...

Wäre bei einem Python Trading Bot dabei. Habe aber nur mäßige Erfahrung. Wenn du willst können wir auf Discord umsteigen, um alles genauer zu Besprechen und klare Ziele im Voice zu besprechen. Bin derzeit auch daran einen Trading Bot zu schreiben. 😄

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 1.1.2021 um 18:46 schrieb fjvbit:

Ich denke, hier sollten auch andere Java Programmierer sein, muss man probieren....

Klar kannst du mit mitmachen. Ich habe auch schon in Java programmiert würde mich da aber nicht als Spezialist bezeichnen wollen. Neue Projekte möchte ich Java vermeiden, weil ich das Problem habe, dass ich durcheinander komme, wenn ich zu viele verschiedene objektorientierte Sprachen gleichzeitig nutze. Ich komme dann immer durcheinander was wo geht. Das Problem haben andere vielleicht weniger aber mir reichen schon meine 4 im Moment: dart, python, vbscript, javascript.

Mehr verträgt mein Gehirn nicht gleichzeitig. :rolleyes:

Ich habe aber noch aktuelle Projekte in Java, die ich pflegen muss...

C/C++ geht evtl. noch parallel, weil ich lange nichts anderes genutzt habe...
Aber ich bin da auch schon etwas länger raus...

Edit:
normalen Java Quellcode zu verstehen, ist natürlich gar kein Problem...
 

Weil ich das eine richtig gute Idee finde und mich eigentlich schon immer nach einer Programmierer Gruppe gesehnt habe die auch die selben Interessen verfolgen, würde ich gerne jeden der Bock hat auf einen meiner Discord Server einladen. Habe Ihn eigentlich wegen einem anderen Projekt erstellt, würde Ihn aber dann um funktionieren. https://discord.gg/8yjqdPS7vj 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.