Darkwinde
|
|
November 03, 2014, 09:05:49 PM |
|
Eine kleine Wasserstandsmeldung...es hat sich nichts getan weder großartig mögliche Arbitrage Trades noch Re-Balancing noch keine neuen Features... Dachte habe die BTer API im Griff aber nöööö Pustekuchen die treibt mich noch in den Wahnsinn hab das ganze Wochenende mit Bugfixing zugebracht.... 4 Stunden da gesessen um 1 Zeile Code am Ende zu schreiben Naja scheint jetzt erstmal stabil zu laufen. Habe jetzt mit hanspeter77 gestartet, mal sehen welcher Input noch rauspurzelt, halte euch auf dem Laufenden.
|
|
|
|
kalkulatorix (OP)
|
|
November 04, 2014, 10:31:18 AM |
|
Auch bei mir nichts neues. Die Bots sind irgenwie ruhiger als zuletzt. Ich habe am Wochenende sogar eine Kopie von der vorletzten Version der Scripts laufen lassen, um auszuschließen dass die Inaktivität der Bots nicht ein Programmfehler von mir war, aber auch die uralte Version hat über 36 Stunden keine Arbitrage gefunden.
Der Antizyklus Bot kann jetzt zurückrechnen, welche Preisveränderungen zu den beobachteten Veränderungen in der Gewichtung geführt haben. Mit den errechneten Preisveränderungen kann ich dann, unabhängig von der Gewichtung einen Filter einführen, sodaß der Bot erst ab größeren Veränderungen im Preis reagiert.
Auch wenn das vielleicht unverständlich ist, diese Zurückrechnung ist wichtig und macht den Bot vom Konzept her einfacher. Der Bot braucht dadurch kein "Gedächtnis", er muß keine historischen Kurse vom letzten Lauf oder der letzten Umgewichtung haben. Das einzige Bedingung, die gegeben sein muss ist, daß bereits eine Umgewichtung in der Vergangenheit gemacht wurde.
Bei Einführung eines neuen Coins, oder beim erstmaltigen Aufruf den Antizyklus Bots muss ich ihm etwas "helfen", der Bot kann keine neue Coinposition eröffnen, es reicht aber aus, eine Miniposition manuell auf den neuen Coin zu buchen, und dann kann der Antizyklus Bot ohne Div/0 weitermachen. Das werde ich noch ändern.
Ich muß das Log Tagebuch neu starten, bei CEX.IO gibt es neue Coins, und ich habe den NMC jetzt mit dabei. Vielleicht kommt noch einer...
Mein Exchange - Vergleich hat ergeben, daß ich als nächstes ein API zu BTER bauen sollte, denn dort kann man auch mehrere 3Ecksarbitrage machen (von den vorhandenen Märkten her, ob die Liquidität ausreicht wird sich zeigen), auch für den Interexchange Bot gibt es mehrere Überschneidungen mit CEX.IO und BTC-e.
Meine nächsten Schritte sind also:
- Antizyklus Bot soll ohne "Hilfe" eine neue Coin Position öffnen und auch komplett schließen können, dann kann dieser Bot für eine "Pump and Dump Light" Strategie verwendet werden, gerade bei den großen Altcoin Exchanges sehe ich Potential darin. Damit meine ich, für einen Zeitraum von mehreren Stunden oder Tagen, an der Kurssteigerung eines Altcoins mitzumachen. Auswahl des Coins und Zeitpunktes ist manuell, da habe ich keine automatische Unterstützung geplant.
- BTER erschließen. Eine Quick and Dirty Lösung wäre, eine vorhandene Anbindung zu Clonen. Das API vom BTER unterstützt etwas sehr Sinnvolles, man kann zusätzliche Parameter der einzelnen Coins und Märkte abfragen, das ist besonders hilfreich wenn sich die Fees ändern, oder die Exchange sensibel auf zu viele Kommastellen reagiert, und eine Order verwirft, wenn nicht richtig gerundet wird. Ich denke, ich werde doch die Marktparameter abfragen und etwas Zeit in eine saubere Implementation investieren.
|
12313123
|
|
|
Darkwinde
|
|
November 04, 2014, 01:57:17 PM |
|
Zwecks BTer API haste eine PN von mir. Wenn sie für dich gut genug ist, musst du ja nicht durch den selben Schmerz gehen wie ich Der Bot ist in den letzten 24 Stunden gut gelaufen: 5x DRK, 2x WDC, 1x BC, 1x LTC Dafür vollständig versagt: NXT Status Report: ---------------- - Auto Balance Funktion erweitern, damit X Exchanges unterstützt werden - Manual Deposit Address Mapping Datei für Börsen die keine Unterstützung für API Deposits haben (z.B. BTer) - Dynamische Amount Anpassung für Antizyklus Strategie -> erledigt - Auslagern verbliebener Parametern in die config Datei -> erledigt - Beta Test mit hanspeter77 inkl. Bugfixing -> gestartet - Release v1.0 erstellen
|
|
|
|
kalkulatorix (OP)
|
|
November 04, 2014, 02:31:57 PM |
|
Der Bot ist in den letzten 24 Stunden gut gelaufen: 5x DRK, 2x WDC, 1x BC, 1x LTC
Kaum habe ich mich über fehlende Arbitragemöglichkeiten beklagt, hat sich auch bei mir etwas getan. CEX.IO 7 mal DOGE->BTC->LTC und 2 mal eine DRK->USD->BTC BTC-e 1 mal eine LTC->BTC->USD und 1 mal eine PPC->BTC->USD Vielleicht schlagt ja heute auch endlich der Interexchange Bot wieder zu, die FTC fallen wieder, das könnte etwas bringen, da ist ja ein Punkt gleich mehr als 10%. Wird sicher passieren, wenn ich nicht Online bin und keine Withdrawls eingeben kann, sodass wieder ein Großteil der Arbitrage verloren ist.
|
12313123
|
|
|
Darkwinde
|
|
November 04, 2014, 03:32:06 PM |
|
Der Bot ist in den letzten 24 Stunden gut gelaufen: 5x DRK, 2x WDC, 1x BC, 1x LTC
Kaum habe ich mich über fehlende Arbitragemöglichkeiten beklagt, hat sich auch bei mir etwas getan. CEX.IO 7 mal DOGE->BTC->LTC und 2 mal eine DRK->USD->BTC BTC-e 1 mal eine LTC->BTC->USD und 1 mal eine PPC->BTC->USD Vielleicht schlagt ja heute auch endlich der Interexchange Bot wieder zu, die FTC fallen wieder, das könnte etwas bringen, da ist ja ein Punkt gleich mehr als 10%. Wird sicher passieren, wenn ich nicht Online bin und keine Withdrawls eingeben kann, sodass wieder ein Großteil der Arbitrage verloren ist. Da lobe ich mir die exchanges die Withdraw und Deposit per API anbieten
|
|
|
|
kalkulatorix (OP)
|
|
November 04, 2014, 04:15:40 PM |
|
Da lobe ich mir die exchanges die Withdraw und Deposit per API anbieten Ja, das ist ein großer Komfort. Allerdings ist es auch nicht schlecht, ein paar Withdraws zusammenkommen zu lassen und dann nur die Summe in einem einzegen Withdrawl wegzuschicken, das spart oftmals Withdrawl fees, da diese oft als Fixspesen unabhängig vom Betrag definiert sind. Hatte leider noch nie den Fall, dass sich Withdrawls zumindest teilweise aufgehoben haben, dafür kommen sie bis jetzt zu selten vor.
|
12313123
|
|
|
Darkwinde
|
|
November 04, 2014, 05:15:48 PM |
|
Da lobe ich mir die exchanges die Withdraw und Deposit per API anbieten Ja, das ist ein großer Komfort. Allerdings ist es auch nicht schlecht, ein paar Withdraws zusammenkommen zu lassen und dann nur die Summe in einem einzegen Withdrawl wegzuschicken, das spart oftmals Withdrawl fees, da diese oft als Fixspesen unabhängig vom Betrag definiert sind. Hatte leider noch nie den Fall, dass sich Withdrawls zumindest teilweise aufgehoben haben, dafür kommen sie bis jetzt zu selten vor. Bzw. die Anzahl der Coins sind bei mir meist nicht hoch genug um mehrere Trades aussitzen zu können
|
|
|
|
kneim
Legendary
Offline
Activity: 1666
Merit: 1000
|
|
November 05, 2014, 09:53:54 AM |
|
Als Antizyklic-Bot könnte ich mir gut auch einen Algo vorstellen, der nicht selber Limit-Order aufstellt, sondern nach starken Ausschlägen bewusst auf Wände wartet, die einem vor die Nase (dicht am Marktpreis) gestellt werden. Die Wahrscheinlichkeit, dabei jemanden auf dem falschen Fuß zu erwischen, ist hoch. Dieses Vorgehen ist für die "beleibteren" unter uns ein Heidenspaß, ohne Bot müsste man ständig in die Glotze schauen.
|
|
|
|
Wolke
Legendary
Offline
Activity: 966
Merit: 1000
|
|
November 05, 2014, 11:12:58 AM |
|
Als Antizyklic-Bot könnte ich mir gut auch einen Algo vorstellen, der nicht selber Limit-Order aufstellt, sondern nach starken Ausschlägen bewusst auf Wände wartet, die einem vor die Nase (dicht am Marktpreis) gestellt werden. Die Wahrscheinlichkeit, dabei jemanden auf dem falschen Fuß zu erwischen, ist hoch. Dieses Vorgehen ist für die "beleibteren" unter uns ein Heidenspaß, ohne Bot müsste man ständig in die Glotze schauen.
könntest du das bitte etwas näher erklären? - bin dabei noch leider nicht so "im thema"...
|
|
|
|
Darkwinde
|
|
November 05, 2014, 04:58:29 PM |
|
Als Antizyklic-Bot könnte ich mir gut auch einen Algo vorstellen, der nicht selber Limit-Order aufstellt, sondern nach starken Ausschlägen bewusst auf Wände wartet, die einem vor die Nase (dicht am Marktpreis) gestellt werden. Die Wahrscheinlichkeit, dabei jemanden auf dem falschen Fuß zu erwischen, ist hoch. Dieses Vorgehen ist für die "beleibteren" unter uns ein Heidenspaß, ohne Bot müsste man ständig in die Glotze schauen.
könntest du das bitte etwas näher erklären? - bin dabei noch leider nicht so "im thema"... Ein kleines Anschauliches Beispiel wäre nett So Zaunpfahl und so
|
|
|
|
kneim
Legendary
Offline
Activity: 1666
Merit: 1000
|
|
November 05, 2014, 09:36:49 PM |
|
Nach starken Kursabstürzen darf ich kaufen, je höher der Kurssturz ausfällt, desto mehr. Wenn ich wirklich kaufen möchte, ist eine Verkaufswand vor meiner Nase doch optimal, oder nicht? Das gleiche auch umgekehrt bei heftigen Kursanstiegen.
|
|
|
|
kalkulatorix (OP)
|
|
November 07, 2014, 11:40:58 PM |
|
Nach starken Kursabstürzen darf ich kaufen, je höher der Kurssturz ausfällt, desto mehr. Wenn ich wirklich kaufen möchte, ist eine Verkaufswand vor meiner Nase doch optimal, oder nicht? Das gleiche auch umgekehrt bei heftigen Kursanstiegen.
Das sind ja Ideen! Ich habe mit Sportwetten auf Exchange Märkten mehr Erfahrung als bei den Bitcoin Exchanges, bei den Sportwetten war es meist nicht sinnvoll, sich an einer Wand zu orientieren, die war oft so schnell wieder fort, und die Orientierung an einer Wall hat meist zu einer schlechteren Quote geführt. Sind die Walls bei den Bitcoin Exchanges beständiger, wie oft wird so eine Wall wieder aus dem Markt genommen, noch bevor sie zumindest Teilweise abgetragen wird?
|
12313123
|
|
|
kalkulatorix (OP)
|
|
November 08, 2014, 12:48:22 AM |
|
So, jetzt bin ich auf einem Status, wo ich mir den weitere Richtung gut überlegen muss. Ich habe ja gerade 3 unterschiedliche Strategien am Laufen, die sich gegenseitig die verfügbare Anzahl an erlaubten Abfragen bei den Exchanges wegnehmen. Vor allem die Interexchange Strategie und die 3Ecksarbitrage leben ja von vielen, schnellen Abfragen, eine Abfrage, die für die 3Ecksarbitrage verwendet wird, kann ja bei dem Interexchange Bot weiterverwertet werden und umgekehrt.
Weiters ist mir eigentlich egal, auf welcher Exchange die Coins liegen. Da könnte ich ja eine einzige Gewichtung über alle Exchanges hinweg verwenden, und nicht jede Exchange einzeln umgewichten.
Als Folge davon, sollte ich alle 3 Strategien in einem einzigen Bot vereinen, da wäre dann auch das Problem der Unverträglichkeit zwischen Interexchange und Antizyklus Bot gelöst. Betrachtet man eine Exchange isoliert, dann zerstört der Interexchange Bot die Gewichtung bei den beiden betroffenen Exchanges, betrachtet man die Positionsveränderungen in Summe über alle betroffenen Exchanges, ändert sich nichts an der Gewichtung.
Mit einer exchangeübergreifenden Antizyklus Strategie erhoffe ich mir, die Withdrawls, die bei der Interexchange Strategie nötig sind, zumindest teilweise einsparen zu können. Jetzt ist aber erst einmal eine Runde Nachdenken angesagt..........
|
12313123
|
|
|
Darkwinde
|
|
November 08, 2014, 01:35:02 AM |
|
Cryptsy Thema hat sich natürlich nicht gelöst bekomme jetzt nicht einmal mehr die wöchentliche Info, dass ein ominöser Techniker an meinem Problem arbeitet. Dafür läuft es an den anderen Börsen besser.... 24h Profit liegt bei 0,00577921 BTC bei einem Wareneinsatz von 0,3 BTC sind das immerhin fast 2% an Tageszins. Ich bin im Grunde noch immer dabei herauszufinden, woran ich einen guten Coin für meinen ArbitrageBot erkenne. NXT war ein Totalausfall Wie weit das Ganze nach oben hin skaliert muss ich mal testen. Aber ohne Moos nix los Wird sicher wieder was zum Knobeln sein, ab wann muss ich ebenfalls die Marktdaten für das zweit, dritt oder X Beste Angebot berücksichtigen sollte für einen Trade. Die Beta mit hanspeter77 läuft aus meiner Sicht sehr gut. Gab einiges an Stolpersteinen und noch mehr fürs Tutorial zum Niederschreiben Wir sind also auf einem guten Weg. Wenn hanspeter77 Lust hat, kann er ja von seinen Erfahrungen hier berichten, denke wäre eine neue Perspektive. So, jetzt bin ich auf einem Status, wo ich mir den weitere Richtung gut überlegen muss. Ich habe ja gerade 3 unterschiedliche Strategien am Laufen, die sich gegenseitig die verfügbare Anzahl an erlaubten Abfragen bei den Exchanges wegnehmen. Vor allem die Interexchange Strategie und die 3Ecksarbitrage leben ja von vielen, schnellen Abfragen, eine Abfrage, die für die 3Ecksarbitrage verwendet wird, kann ja bei dem Interexchange Bot weiterverwertet werden und umgekehrt.
Weiters ist mir eigentlich egal, auf welcher Exchange die Coins liegen. Da könnte ich ja eine einzige Gewichtung über alle Exchanges hinweg verwenden, und nicht jede Exchange einzeln umgewichten.
Als Folge davon, sollte ich alle 3 Strategien in einem einzigen Bot vereinen, da wäre dann auch das Problem der Unverträglichkeit zwischen Interexchange und Antizyklus Bot gelöst. Betrachtet man eine Exchange isoliert, dann zerstört der Interexchange Bot die Gewichtung bei den beiden betroffenen Exchanges, betrachtet man die Positionsveränderungen in Summe über alle betroffenen Exchanges, ändert sich nichts an der Gewichtung.
Mit einer exchangeübergreifenden Antizyklus Strategie erhoffe ich mir, die Withdrawls, die bei der Interexchange Strategie nötig sind, zumindest teilweise einsparen zu können. Jetzt ist aber erst einmal eine Runde Nachdenken angesagt..........
Kann ich nachempfinden. Ich habe Rechtzeitig diesen Thread entdeckt und noch die Kurve nehmen können, beide Strategien in einem Bot zu integrieren. Gerade die Statusübergänge sind immer wieder kniffelig, wann darf wie und warum eine dynamische Anpassung erfolgen. Am Ende habe ich es so gelöst, dass er zwar alle 15 Minuten den Stand prüft. Sollten aber gerade Trades gefüllt werden, dann überspringe und komm später wieder. Klappt bisher ganz gut. Muss aber noch ausführlicher getestet werden, da mir die Variante zu simple erscheint... Bin gespannt wie dein Lösungsansatz aussehen wird.
|
|
|
|
Darkwinde
|
|
November 08, 2014, 01:40:27 AM |
|
Nach starken Kursabstürzen darf ich kaufen, je höher der Kurssturz ausfällt, desto mehr. Wenn ich wirklich kaufen möchte, ist eine Verkaufswand vor meiner Nase doch optimal, oder nicht? Das gleiche auch umgekehrt bei heftigen Kursanstiegen.
Interessanter Ansatz, ist aber glaube ich für mich alten Angsthasen zu offensiv. Ich werde mal grübeln ob und wie es umsetzbar ist in meinem Kontext. Wäre dann aber eher etwas für Version 2 will langsam mal einen stabilen Stand haben
|
|
|
|
kalkulatorix (OP)
|
|
November 08, 2014, 02:58:11 AM |
|
Kann ich nachempfinden. Ich habe Rechtzeitig diesen Thread entdeckt und noch die Kurve nehmen können, beide Strategien in einem Bot zu integrieren. Gerade die Statusübergänge sind immer wieder kniffelig, wann darf wie und warum eine dynamische Anpassung erfolgen. Am Ende habe ich es so gelöst, dass er zwar alle 15 Minuten den Stand prüft. Sollten aber gerade Trades gefüllt werden, dann überspringe und komm später wieder. Klappt bisher ganz gut. Muss aber noch ausführlicher getestet werden, da mir die Variante zu simple erscheint...
Bin gespannt wie dein Lösungsansatz aussehen wird.
Es hat sich leider herausgestellt, dass mein erster Ansatz der 3Ecksarbitrage zwar gut funktioniert, keine Withdrawls braucht, aber wenig Ertrag bringt. Die Interexchange Arbitrage ist da umgekehrt, bringt 10 mal so viel, hat aber das Problem der Withdrawls. Sollten sich keine anderen großartigen Probleme damit ergeben, bekommt der Bot für jede Exchange (zumindest einen) Thread, der die Abfragen macht. Asynchron und Gleichzeitig. Ist ein neues Ergebnis von einem Exchange Thread da, werden alle Arbitragemöglichkeiten durchgerechnet, wo der zuletzt abgefragte Markt relevant ist, und die Daten aller anderen Märkte aus der Arbitrage nicht allzu veraltet sind. Die Arbitragebots suchen sich bereits jetzt aufgrund der Coin und Marktdefinitionen die Arbitragemöglichkeiten selbstständig zusammen, da muss ich die 2 Arbitragemodule nur mehr zusammenführen. Der Antizyklus Bot ist nicht so zeitkritisch, der läuft einfach mit. Leider sind die Anpassungen vom Antizyklus bot immer sehr gering, der kann niemals Withdrawals ersetzen. Manuelle Withdrawals kann ich auch nicht machen, solange der Antizyklus Bot läuft, ich denke ich werde den Interexchange Bot auch erlauben müssen, dass er auch verlustbringende Arbitragen macht, damit die Coins auf den einzelnen Exchanges im Gleichgewicht bleiben. So kann ich auch die FIAT Märkte mit dem Interexchange Bot erschließen. Technisch sollte ich aber als Erstes ausprobieren, ob auch alles Thread Safe ist, wenn ich dann auch noch ohne Withdrawls auskomme, bin ich zufrieden.
|
12313123
|
|
|
Darkwinde
|
|
November 08, 2014, 11:50:43 AM |
|
Manuelle Withdrawals kann ich auch nicht machen, solange der Antizyklus Bot läuft,
Habe eine Routine Implementiert, die sich nicht um den Fakt kümmern muss. Der Bot passt sich der aktuellen Coinsituation an. Der Referenzpreis bleibt ja am Ende gleich nur die Portfolio Bewertung ändert sich für den Zeitraum des Withdraws. Wenn die dann angekommen sind bewertet er wieder neu. Wenn er keine Coins zu verkaufen hat, dann wartet er bis zum nächsten Zyklus
|
|
|
|
kalkulatorix (OP)
|
|
November 10, 2014, 12:10:42 AM |
|
Jetzt wird das ganze Projekt eine Stufe komplexer. Habe meine PHP Installationen um das pthread Package erweitert, und jetzt geht es los mit dem Programmieren der neuen Version.
Geplant ist, dass jede Exchange im Bot einen (oder mehrere) Threads bekommt, die jeweils asynchron die Exchangedaten abfragen. Alle Arbitragestrategien sind dann in einem Bot implementiert, dadurch werden die wertvollen da limitierten Abfragen besser ausgenutzt.
Wie immer, mach ich alles in kleinen Schritten. Die Bots für CEX.IO und BTC-e laufen erst einmal weiter, die neue Version entwickle ich vorerst nur für BTer. Wenn die neue Version mehrere Tage ohne Probleme gelaufen ist, kommt die Anbindung von CEX.IO auch in die neue Version.
|
12313123
|
|
|
Darkwinde
|
|
November 10, 2014, 11:37:31 AM |
|
Wie ist bei euch das Wochenende gelaufen? Also bei mir steppte der Bär und ich musste durch die fehlende API Withdrawal Funktion bei BTer öfters am PC hocken als erwartet. Ich habe den BOT ja am Mittwoch, 05.11.2014 vollständig resettet (um mein Install Dokument zu schreiben) und er hat bisher 104 Trades abgeschlossen bei einem Einsatz von 0,3 BTC einen Profit von 0,01354550 BTC erreicht. Die AntiZyklus Einheit habe ich bisher nicht oben mit drin, aber bei den schönen Wellenformen von DRK ein wahrer Augenschmaus zu sehen wie die Strategie aufgeht kalkulatorix: Haben dir die API Calls weiter geholfen?
|
|
|
|
kalkulatorix (OP)
|
|
November 10, 2014, 01:24:08 PM |
|
Wie ist bei euch das Wochenende gelaufen?
Mies, ich habe mich schachmatt gesetzt. Der Interexchange Bot hat eine wunderbare Arbitrage BTC/USD zwischen BTC-e ( da war der Kurs 16 USD höher ) und CEX.IO gefunden, und sie total ausgenützt. Alle USD sind jetzt auf BTC-e, und fast alle BTC auf CEX.IO. Dadurch gehen die Arbitragen sehr schlecht, wegen zu geringer Funds. Jetzt habe ich die Wahl: - mit bei beiden Éxchanges verifizieren lassen und die FIATs per Überweisung angleichen. Dauert lange und kostet in Summe an die 9% Spesen, da ich nur EUR Konto habe. - eine Gegen-Arbitrage machen, kostet in Summe 17% - warten, bis sich eine billige Arbitrage in die Gegenrichtung ergibt. Da ich genug Beschäftigung mit dem Programmieren der neuen Version habe, werde ich letzteres machen. kalkulatorix: Haben dir die API Calls weiter geholfen?
Danke für Deine Hilfe, war am Wochenende zu spät dran, da war die Dropbox schon weg. Ist aber kein Problem, bis auf andere URLs ist das 1:1 wie die BTC-e API. Was ich noch implementieren muß, die seltsamen Kommastellen bei Preis und Anzahl.
|
12313123
|
|
|
|