Browsed by
Tag: app

[Crypto] Feedback and testers wanted

[Crypto] Feedback and testers wanted

Už jsem to tu na blogu párkrat zmiňoval, posledních pár dnů jsem dával dohromady prototyp nové aplikace na krypto obchodování.  Prototyp je hotov a jsem s ním jakžtakž spokojen a tak je čas zjistit, jestli to přijde dobré i někomu dalšímu, a tudíž na tom pokračovat, nebo to ostatní prohlásí za blbost a já si to nechám jen jako utilitku pro sebe.

Appka je zatím pracovně pojmenovaná CryptoTradeTracker, ale asi s tím názvem do budoucna ještě něco udělám :). Důvod, proč jsem se do aplikace pustil, byl, že jsem nenašel žádnou jinou takovou na trhu.

Cílem aplikace je sledovat Vaše ochody na burze a říct, jak jste si v minulosti vedli, jaké obchody máte momentálně otevřené, kde jste v plusu, kde v mínusu, co můžete prodat a co je lepší držet. Do budoucna je pak v plánu hlídat i ziskovost nebo ztrátovost obchodů, hlídat co prodat při stoplossu, co prodat při dosažení konkrétního zisku, atd. (Název vychází z appky na Poker, co se jmenovala PokerTracker a částečně dělala něco podobného v oblasti Pokeru).

Aplikace funguje tak, že se napojí na burzy pomocí API klíčů (v současnosti je podporovaný Bittrex, Binance, Gdax a CoinBase, stačí read-only klíče) a postahuje všechny vklady, výběry a obchody.

Obchod je vždy “převod” peněz z jedné měny do druhé, tzn. například za 2000USD jste nakoupili 0.2BTC. Z takového obchodu ale nemůžete ještě říct nic o jeho ziskovosti. Na to musíte provést prodej zpátky do USD.

A to je přesně to, co aplikace dělá. Hledá dvě objednávky, které spolu tvoří obchod.  Například jedna objednávka je USD-BTC a druhá BTC-USD. Spojením techto dvou obchodů-dvojic vznikne trojce, v aplikaci pojmenovaná jako Triáda. Na triádu ve tvaru USD-BTC-USD se pak již dá pohlížet jako na úplný obchod a dá se vyhodnotit, zda byl ziskový nebo ztrátový.

Tzn. například za 2000USD jste nakoupili 0.2BTC a pak za měsíc jste 0.2BTC prodali za 3000USD. Takže jste 1000USD v plusu.

Samozřejmě, realita není takto jednoduchá. Můžete například nakoupit 0.5BTC, pak prodat 0.1BTC za měsíc, další 0.1BTC za další měsíc. Pak jste za 0.1BTC kopili 10ETH, které jste záhy prodali zpět za 0.2BTC,…. Navíc, pokud 3x nakoupíte BTC za 3 různé ceny a pak ho zase 3x prodáte za různé ceny, nedá se jednoznačně říct, která transakce souvisí se kterou.

Správně byste si měli jako tradeři všechno tohle ručně evidovat. A my to zkoušeli. Dělat to ručně při větším množství obchodů je šílenost a opruz hraničící s nemožností.  A tak vznikl nápad na tuhle aplikaci.

Aplikace v současném stavu udělá přesně vše výše zmíněné. Navíc umožňuje použít několik různých způsobů spárování transakcí. Od klasického FIFO/LIFO po sofistifkovanou heurestiku, kdy se snaží párovat obchody tak, aby byly vždy ziskové, ale ty více ziskové si nechávala otevřené, nebo naopak kdy uzavírá ty největší zisky a ztráty nechává do budoucna otevřené.

Updated: 

Ještě jsem zapoměl zmínit volbu primární měny. To je měna, vůči které chcete sledovat Vaše obchody. Pokud zvolíte například EUR, tak se primárně hledají EUR-xxx-EUR triády. V takovém případě, pokud se najde triáda BTC-ALT-BTC, BTC zisk/ztráta se použije jako vstup do další triády tak dlouho, dokud se nenajde finální EUR-BTC-EUR.

Naopak, pokud zvolíte jako primární pohled BTC, analyzátor bude hledat primárně BTC-xxx-BTC triády. Takže například takový prodej BTC do EUR a nákup BTC za eura bude posuzován jako BTC-EUR-BTC, namísto EUR-BTC-EUR jak by to bylo v prvním případě.

Kromě primární měny pak analyzátor ještě disponuje nastavením priorit měn (zatím fixně), takže například ETH je více než jakýkoli ALT, ale méně než BTC. To znamená, že pokud nebude ETH jako primární měna (pak má nejvyšší prioritu), tak se vždy bude hledat BTC-ETH-BTC a nikoli ETH-BTC-ETH. Z pohledu čísel a zisků by to bylo jedno, ale z pohledu přehlednosti je hezčí vidět BTC-ALT-BTC, než ALT-BTC-ALT, stejně tak BTC-ETH-BTC, ale ne ETH-BTC-ETH.

Kromě samotného spárování obchodů má aplikace ještě jeden cíl. Říci Vám, které obchody zůstávají otevřené. Tzn. co máte za kolik nakoupeno a jakou to má aktuální cenu.  A kolik byste vydělali, nebo případně prodělali, pokud to nyní prodáte.

Zde zatím aplikace pomáhá pouze ukázáním aktuálního stavu. Do budoucna mám ale v plánu udělat také možnost nastavení různých milníků, kdy bude aplikace sama notifikovat dosažení daného stavu (například při poklesu ceny o %10, nebo dosažení zisku 20%,  50%,  100%) a s tím související rozprodej. V ještě delším časovém horizontu je pak naplánovaný přímo automatický prodej takto dosažených milníků.

Než se ale do toho pustím ve velkém, chtěl jsem si ověřit, že lze vůbec správně transakce takto párovat a že to přijde užitečné i jiným uživatelům. Takže jsem udělal párovací algoritmus (a pak ještě 3x předělal, než opravdu fungoval, jak jsem chtěl) a kolem něj udělal pár obrazovek s jeho nastavením a výstupy.

Nic víc zatím aplikace neumí. Udělat finální aplikaci si vezme spoustu času. Nejde totiž jen o ty algoritmy uvnitř, ale hlavně o uživatelskou přívětivost a snadné ovládání. A to je vždy ten největší časový žrout.

Nyní bych rád obdržel feedback, ať už pozitivní, nebo negativní. Krom tady blogu jsem aplikaci postnul i dalším lidem přes FB. Pokud se ukáže, že je to správná cesta, pustím se do aplikace naplno (a komplet ji předělám, toto je opravdu jen technology-preview) a pokud ne, uložím projekt k ledu, budu ho používat pro sebe zřejmě jen ve stávající podobě a pracovně půjdu zase o dům dál :).

Takže, pokud máte chuť, zkuste a dejte vědět. Budu rád za každý feedback.

Link na FB skupinu, kde bude vždy i aktuální link na stažení
https://www.facebook.com/groups/1067816946699292/

Pár info k App:

  • Vyvinuto nad Qt, mělo by to momentálně běžet nad všema Windows. Do budoucna pak i Linux a OSX, ale teď z kraje se mi to hned releasovat pro všechny nechce. Kdyby ale byl velký zájem, asi bych to zvládl.
  • Burzy jsou nyní podporovány Bittrex, Binance, Gdax a Coinbase. Opět, pokud by byl větší zájem o nějakou další burzu, doplním rovnou. Jinak  do budoucna pak podpora všech burz s API.
  • Cena nyní zdarma, do budoucna pak asi nějaký monthly fee, protože se bude muset platit monthly serverům, co poskytují historická data, případně pak za různé lepší ukazatele.
  • Konkrétní cenu zatím netuším, budu řešit až bude X uživatelů a aplikace bude ve stavu Y 🙂
  • Při spuštění aplikace checkuje licenční server, to jen abyste s tím počítali. Je to z důvodu toho, abych v budoucnu mohl tuhle free verzi zaříznout.