INT20h
TESTOVE ZAVDANNIa
Komanda: looploop
Sklad komandi:
Al'ona Kalitenko https://github.com/gr-alia
Valerii Demchik https://github.com/KirinTor
Vitalii Tizun' https://github.com/srdnx
Spil'nii repozitarii: https://github.com/gr-alia/test-int20h
ZAVDANNIa
Stvoriti mobil'nii dodatok, iakii vikonuvatime nastupni funktsiyi:
- Za pokaznikami kursu USD/BTC, otrimanimi z tr'okh kriptovaliutnikh obminnikiv, viznachatime chi efektivno pridbati kriptovaliutu na odnomu z nikh, viluchiti yiyi, ta prodati na iakomus' z dvokh inshikh.
- Za statistichnimi pokaznikami kursu USD/BTC, vziatimi za pevnii period chasu, vivodit' u vigliadi liniinogo grafiku dinamiku zmini vartosti odnogo bitkoinu na ts'omu promizhku chasu.
PROGRAMNI ZASOBI, VIKORISTANI DLIa VIKONANNIa ZAVDANNIa
Tsil'ovoiu platformoiu vikonannia bulo obrano Android.
Obmin danimi z API onlain servisiv vedet'sia zasobami JSON. Pereliki servisiv, API iakikh vikoristovuiut'sia v riznikh chastinakh programi, navedeno v vidpovidnikh rozdilakh. Takozh, okrim standartnikh zasobiv platformi Android, bulo pidkliucheno nastupni storonni biblioteki:
- Retrofit - dlia roboti z zapitami do API
- MPAndroidChart - dlia pobudovi Android grafiku kursu bitkoinu v chastini 2
Poslidovnist' dii pri pobudovi proektu nastupna:
- Vstanoviti JDK, JRE, Android Studio, Android SDK, Genymotion.
- Stvoriti git-repozitarii proektu, napriklad za dopomogoiu servisu
- Stvoriti Android proekt dodatku v danomu repozitariyi.
- Zdiisniti opis povedinkovoyi logiki dodatku, v razi neobkhidnosti pidkliuchivshi storonni biblioteki.
- Zdiisniti opis koristuvats'kogo interfeisu dodatku, v razi neobkhidnosti pidkliuchivshi storonni biblioteki.
- Zdiisniti poiednannia roboti logiki ta interfeisu dodatku.
- Provesti testuvannia rozroblenogo produktu.
ChASTINA I
Dlia pershoyi chastini zavdannia dani vziato z nastupnikh kriptovaliutnikh obminnikiv:
| Posilannia na obminnik: | Posilannia na vikoristanii zapit API: |
|---|---|
| https://yobit.net/ru/ | https://yobit.io/api/3/depth/btc_usd?limit=100 |
| https://www.kraken.com/ | https://api.kraken.com/0/public/Depth?pair=XBTUSD |
| https://exmo.com/ | https://api.exmo.com/v1/order_book/?pair=BTC_USD |
Dani pro komisiyi vziato za nastupnimi posilanniami:
| Obminnik: | Dani pro komisiiu: |
|---|---|
| Yobit | https://yobit.net/ru/fees/ Komisiia za vvedennia koshtiv vidsutnia; Komisiia za vivedennia kriptovaliuti 0.0005(0.05%); Komisiia za vivedennia koshtiv vidsutnia, na prikladi Visa/MasterCard servisiv |
| Kraken | https://www.kraken.com/help/fees https://support.kraken.com/hc/en-us/articles/201893608-What-are-the-withdrawal-fees Komisiia za vvedennia koshtiv - 10$; Komisiia za vidkrittia pozitsiyi - 0.00005 (0.005%); Komisiia za vivedennia kriptovaliuti - 0.001(0.1%); Komisiia za vivedennia koshtiv - 60$; |
| Exmo | https://exmo.com/ru/docs/fee Komisiia za vvedennia koshtiv vidsutnia, na prikladi Visa/MasterCard servisiv; Komisiia za ugodu - 0.002 (0.2%); Komisiia za vivedennia kriptovaliuti - 0.001 (0.1%); Komisiia za vivedennia koshtiv - 0.03 (3%) + 7.5USD |
Logika roboti algoritmu poshuku krashchogo rishennia v tsii chastini nastupna:
- Viznachaiemo, skil'ki groshei mi vitratimo na pokupku bitkoinu na kozhnomu z servisiv. Dlia ts'ogo otrimuiemo OrdersBook faktichnikh propozitsii prodazhu bitkoinivkozhnogo servisu, vedemo poshuk naikrashchoyi propozitsiyi ( minimal'na vartist' v USD). Takozh na ts'omu krotsi otrimani sumi zbil'shuiut'sia vidpovidno do komisiinikh pokaznikiv vidpovidnikh obminnikiv.
- Obchisliuiemo, iaka faktichna kil'kist' bitkoiniv zalishit'sia v nas pislia vrakhuvannia komisiinikh zboriv vnaslidok vivedennia yikh iz servisu, na iakomu voni buli pridbani.
- Viznachaiemo, iaku kil'kist' groshei mi matimemo vnaslidok prodazhu faktichnoyi kil'kosti bitkoiniv na dvokh inshikh obminnikakh. Dlia ts'ogo otrmuiemo OrdersBook faktichnikh propozitsii kupivli bitkoinivkozhnogo servisu, vedemo poshuk naikrashchoyi propozitsiyi (maksimal'na vartist' v USD). Zmenshuiemo otrimanu sumu vidpovidno do pokaznikiv komisiyi na vidpovidnomu servisi.
- Znakhodimo naikrashchu paru obminnikiv, na pershomu z iakikh mozhna naideshevshe pridbati bitkoin, a na drugomu naidorozhche prodati te, shcho lishit'sia vid bitkoinu pislia iogo vivedennia z servisu, na iakomu vin buv pridbanii. Takozh na ts'omu krotsi vivodit'sia kil'kist' groshei, iaku mi matimemo v rezul'tati, iak riznitsia mizh vivedenimi z drugogo obminniku koshtami ta zatrachenimi na pershomu obminniku.
- Dani, otrimani na poperedn'omu krotsi, vivodiat'sia koristuvachevi.
ChASTINA II
Dlia drugoyi chastini zavdannia dani vziato z ofitsiinogo saitu https://blockchain.info , posilannia na vidpovidnii zapit API:
https://blockchain.info/charts/market-price?format=json
Dani, otrimani vid danogo servisu, privedeno do formatu, zruchnogo do rozuminnia koristuvachem, shliakhom formatuvannia pokazniku dati ta chasu, ta podano u vigliadi liniinogo grafiku. Na ts'omu grafiku vis' OKh - chas, vis' OY - pokaznik vartosti 1 bitkoinu v dolarakh SShA v vidpovidnii chas. Dani vziato za pevnii obmezhenii period, z periodichnistiu zmini v 1 kalendarnii den'.