MiminoChange

Telegram-բոտ փոխանակման կետի համար. հավաքում է փոխարժեքները հինգ ֆինանսական հարթակից, հաշվարկում արբիտրաժային շղթաները և հրապարակում սպրեդներն ալիքում։ Աշխատել է երկու տարի։

Ժամանակահատված
2022 — 2024
Կարգավիճակ
Ավարտված
Իմ դերը
Միակ մշակողը՝ փոխարժեքների հավաքումը, շղթաների հաշվարկը և Telegram-բոտը։ Փոխանակման կետի աշխատակիցները ցույց տվեցին շղթաների որոնման ձեռքով գործընթացը։

Տեխնոլոգիաներ

  • Python
  • aiogram
  • SQLite

Խնդիրը

Շղթաները գտնում էին ձեռքով. աշխատակիցները շրջում էին վճարային համակարգերի և բորսաների կայքերով, համեմատում փոխարժեքները և հաշվում սպրեդը յուրաքանչյուր ուղղության համար։ Փոխարժեքները փոխվում էին, և ամեն ինչ պետք էր կրկնել նորից, ուստի հաշվարկները շատ ժամանակ էին խլում։

Լուծումը

Բոտը հավաքում է վճարային համակարգերի և բորսաների փոխարժեքները, հաշվում դրանցով սպրեդները և հրապարակում ամփոփումը Telegram-ալիքում։ Առանձին սցենարը հաշվարկում է արբիտրաժը կոնկրետ գումարի և բանկի համար։ Փոխանակման կետի սեփական փոխարժեքները հաշվարկվում են բանաձևով, բայց աշխատակիցները կարող են դրանք ձեռքով շտկել ադմինիստրատորի վահանակից, երբ փաստացի պահանջարկն ու առաջարկը պահանջում են շեղվել հաշվարկային փոխարժեքից։

Հիմնական տեխնիկական որոշումները

  • Հարթակների մի մասը API չուներ, ուստի փոխարժեքները պետք էր վերցնել էջերից։ Դասավորությունը պարբերաբար փոխվում էր, ուստի արժեքի որոնումը կապված չէ մեկ CSS-սելեկտորի հետ և դիմանում է այդ փոփոխություններին։
  • Աղբյուրները տարբերվում են տվյալների ձևաչափով և թարմացման հաճախականությամբ, իսկ դրանցից մի քանիսը երբեմն անհասանելի են լինում։ Փոխարժեքները բերվում են միասնական տեսքի հաշվարկից առաջ, այլապես սպրեդը կհաշվվեր անհամեմատելի թվերով։

Ստորև ներկայացված սքրինշոթներն ու տեսանյութերը վերցված են աշխատող համակարգից, ուստի ինտերֆեյսը և ձայնը (եթե կա) ռուսերեն են։

Փոխանակման կետի համար մշակված բոտը հետևում է ընթացիկ փոխարժեքներին և հաշվարկում սպրեդներն արբիտրաժային գործարքների համար։ Տվյալները ստանում է մի քանի ֆինանսական հարթակների հետ ինտեգրումների միջոցով, հաշվարկում է շղթաները տրված գումարի և բանկերի համար, ինչպես նաև ավտոմատ հրապարակում է սպրեդների մասին տեղեկությունը փոխանակման կետի Telegram-ալիքում։ Փոխարժեքները կարելի է ձեռքով խմբագրել ադմինիստրատորի վահանակից։

Ընդհանուր սպրեդ

«Սպրեդ» բաժնում բոտը հավաքում է շահավետ շղթաներում ներգրավված բոլոր ծառայությունների ընթացիկ փոխարժեքները՝ ֆինանսական հարթակների հետ ինտեգրումների միջոցով՝ Binance, Garantex, MOEX, Golden Crown (Zolotaya Korona) և Unistream։ Որոշ երկրներում փոխանցումը հասանելի չէ բոլոր ծառայություններով։ Անհասանելի տարբերակները բոտն առանձին նշում է (սքրինշոթում՝ Հայաստանի օրինակը)։

Ընդհանուր սպրեդ
Սպրեդների ընդհանուր աղյուսակը. յուրաքանչյուր երկրի համար՝ Golden Crown-ի, Unistream-ի և Swift-ի փոխարժեքը Binance-ի, Garantex-ի և MOEX-ի դիմաց՝ յուրաքանչյուր ուղղության սպրեդով։

Սպրեդ կոնկրետ գումարի համար

Առանձին կոճակը հաշվարկում է արբիտրաժը կոնկրետ գումարի համար՝ Վրաստանի ուղղությամբ։ Գումարը մուտքագրելուց հետո բոտն առաջարկում է ընտրել մեկ բանկ կամ միանգամից բոլորը (Sberbank, Tinkoff, Raiffeisen) և ըստ շղթայի ցույց է տալիս զուտ շահույթը ռուբլով և տոկոսով՝ ուղարկման յուրաքանչյուր տարբերակի համար (Unistream և Golden Crown)։ Կարճ ամփոփումը կարելի է բացել մանրամասն տեսքով կամ թաքցնել։

Սպրեդ կոնկրետ գումարի համար
Կոնկրետ հաշվարկ. մուտքում՝ գումար և բանկ, ելքում՝ զուտ շահույթը յուրաքանչյուր համակարգով՝ ռուբլով և տոկոսով, նշելով փոխարժեքների վերջին թարմացման ժամանակը։

Փոխանակման կետի փոխարժեքի փոփոխում

Վաճառքի և գնման փոխարժեքները բոտը հաշվարկում է ավտոմատ՝ տրված բանաձևով, բայց դրանք կարելի է ձեռքով խմբագրել ադմինիստրատորի վահանակից։

Փոխանակման կետի փոխարժեքի փոփոխում
Փոխանակման կետի սեփական մարժան USDT-ի գնման և վաճառքի համար՝ ցույց տրված հազար միավորի օրինակով։

Արդյունքներ

  • Բոտն աշխատել է երկու տարի՝ քանի դեռ ուղղությունը մնում էր առևտրային առումով արդիական։
  • Բոտից և ընդհանուր ալիքում հրապարակվող հաշվարկներից օգտվում էին փոխանակման կետի աշխատակիցներն ու հաճախորդները, ինչպես նաև այլ փոխանակման կետերի ներկայացուցիչները։