بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

Программирование

تىنكوف مەبلەغ سېلىش ستاتىستىكا مۇلازىمىتىنى تەرەققىي قىلدۇرۇشتىكى ئىلھاملاندۇرغۇچىلار :

نېمە مۇزاكىرە قىلىنىدۇ؟

  • پەقەت تەرەققىياتقا مۇناسىۋەتلىك قىسمى.
  • پۇل-مۇئامىلە قوراللىرى بىلەن ئىشلەشتە ئىنتايىن مۇھىم بولغان ھەقىقىي بىلىم ۋە تەجرىبە.
  • ئىشلەيدىغان مەسىلىلەرنىڭ ئومۇمىي ئەھۋالى

شۇڭا ، مەن سودا ستاتىستىكىسىنى ھېسابلاپ ، قۇلايلىق ئۇسۇلدا قىلماقچى. 

قەدەممۇ-قەدەم ئىستاتىستىكا مۇلازىمىتىنى تەرەققىي قىلدۇرۇش: 

  1. Tinkoff Invest API غا ئۇلىنىش
  2. توركۆرگۈدە Tinkoff Invest API دىن سانلىق مەلۇمات سىزىش
  3. ۋاسىتىچىلىك دوكلاتى ۋە سودىسىنى قوبۇل قىلىش
  4. قىزىقىدىغان ئۇچۇرلارنى ھېسابلاش ۋە چىقىرىش
  5. خۇلاسە ۋە كەلگۈسى پىلانلىرى

Tinkoff Invest API غا ئۇلىنىش

API غا ئۇلىنىش ئۈچۈن ، https://github.com/Tinkoff/investAPI#sdk ھۆججىتىدىن sdk نى ئالسىڭىز بولىدۇ . ياكى npm بولىقى ` tinkoff-sdk-grpc-js` . بۇ ئورالمىنىڭ ئاچقۇچىلار تەرىپىدىن ئەڭ يېڭى نەشرىگە يېڭىلىنىشى ناھايىتى مۇھىم. قاچىلاش

npm i tinkoff-sdk-grpc-js

تەكشۈرۈش

const {createSdk} = تەلەپ قىلىدۇ (‘tinkoff-sdk-grpc-js’);   // مۇشۇنىڭغا ئوخشاش ئېرىشكىلى بولىدىغان توكەن   TOKEN = ‘YOURAPI’;   // TCS خاتىرىسىدىن تاپقىلى بولىدىغان پروگراممىنىڭ ئىسمى. const appName = ‘tcsstat’;   const sdk = createSdk (TOKEN, appName); (async () => {     console.log (كۈتۈڭ sdk.users.getAccounts ()); }) ();

نەتىجىدە: ھېساباتىڭىزنىڭ تىزىملىكى كونترول سۇپىسىدا كۆرۈنىدۇ. مەسىلەن ، ئىنچىكە نۇقتىلارنى تەھلىل قىلايلى:بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

  • ھېسابات تىزىملىكىدە «مەبلەغ سېلىش بانكىسى» بار ، ئۇنىڭ بىلەن API ئىشلىتىپ ئىشلىيەلمەيسىز
  • شۇنىڭغا دىققەت قىلىڭكى ، بۇ بۆلەكلەر تۆگە شەكلىدە كېلىدۇ ، ھۆججەتلەردە بۇ بۆلەكلەر ئاستى_كۆۋرۈكتە كۆرسىتىلدى. 
  • ئۇ ھەممە يەردە مۇشۇنداق بولىدۇ ، شۇڭا ھۆججەتتىن بىر بۆلەكنى كۆچۈرۈپ كۆچۈرەلمەيسىز.

پايدىلىق:

  • بۇ كودنى تۈر تارمىقىدىن تاپالايسىز

https://github.com/pskucherov/tcsstat/tree/step1 https://github.com/pskucherov/tcsstat/compare/step1   

توركۆرگۈدە Tinkoff Invest API دىن سانلىق مەلۇمات سىزىش

Next.js ۋە socket.io نى ئالدىم. بۇ كۈچلۈك تەۋسىيە ئەمەس ، خالىغانچە تاللاڭ. 

npx create-next-app @ ئەڭ يېڭى npm i socket.io socket.io- خېرىدار

بىز دەرھال كېيىنكى قەدەمدىكى + socket + investapi دوستلۇق قەدىمىگە ئۆتىمىز ، بارلىق تەپسىلاتلار ئۈچۈن بۇ باسقۇچنىڭ  پايدىلىق بۆلىكىنى كۆرۈڭ. تەپسىلاتلارنى بايان قىلىمەن: 

  • Nodejs (مۇلازىمېتىر) تەرەپتە بىر بەت / api / investapi.js ھۆججىتى بار. بۇ يەردە بىز socket.io مۇلازىمېتىرىنى قۇرۇپ مەبلەغ سېلىشقا ئۇلىنىمىز.
  • توركۆرگۈچ (خېرىدار) تەرەپتە ، ئۇلىنىش ئارقىلىق مۇلازىمېتىرغا ئۇلىنىمىز ۋە ۋاسىتىچىدىن ھېسابات سانلىق مەلۇماتلىرىنى تەلەپ قىلىمىز. 
  • بىز ۋاسىتىچىدىن مۇلازىمېتىردىكى سانلىق مەلۇماتلارنى تاپشۇرۇۋالىمىز ، ئاندىن ئۇنى خېرىدارغا ئەۋەتىمىز. ئۇلار خېرىدارنى قوبۇل قىلغاندا ، توركۆرگۈچتە كۆرۈنىدۇ. 

نەتىجىدە:  توركۆرگۈچ كونترول سۇپىسىدا ھېسابات ھەققىدىكى ئۇچۇرلارنى كۆرەلەيمىز. يەنى ئاخىرقى باسقۇچتا بىز مۇلازىمېتىر كونترول سۇپىسىدىكى (nodejs) ھېسابات ھەققىدىكى ئۇچۇرلارنى كۆردۇق ، نۆۋەتتىكى باسقۇچتا بىز بۇ ئۇچۇرلارنى خېرىدار (توركۆرگۈچ) گە يۆتكىدۇق.

بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

ئەمدى ئۇنى قىلايلى ، شۇنداق بولغاندا توركۆرگۈدىن ھېسابات تاللىيالايسىز ، ئەگەر بەلگە بولمىسا ، ئۇنداقتا كونترول سۇپىسىغا خاتالىق ئەۋەتىلىدۇ. خىزمەت ئاددىي ھەم يېڭى نەرسە ئەمەس ، شۇڭا مەن پەقەت ۋەدىگە ئۇلىنىمەن

  1. https://github.com/pskucherov/tcsstat/commit/7e1ac57061e5e971588479015b06d8814d6609a9
  2. https://github.com/pskucherov/tcsstat/commit/b28ac973a57494f5232589b4cb6b9fb13b8af759 

پايدىلىق:

  • كېيىنكى ۋە قانداق قىلىپ دوست تېپىش بۇ يەردە تەپسىلىي بايان قىلىنغان . 
  • كېيىنكى دوستلۇق كودى + socket + investapi:

https://github.com/pskucherov/tcsstat/commit/a443a4ac1bb4f0aa898f638128755fe7391ee381 يۇقىرىقىلار كىم ئۈچۈن قىيىن بولسا ، بىز بۇ باسقۇچتا قېلىپ ، كودنى بىر تەرەپ قىلىمىز. سوئالىڭىز بولسا سوراڭ. https://github.com/pskucherov/tcsstat/tree/step2 https://github.com/pskucherov/tcsstat/compare/step1…step2

ۋاسىتىچىلىك دوكلاتى ۋە سودىسىنى قوبۇل قىلىش

ۋاسىتىچىلىك دوكلاتى ۋە سودىسىنى قوبۇل قىلىشنىڭ ئۈچ خىل ئۇسۇلى بار

  1. GetBrokerReport
  2. GetDividendsForeignIssuer
  3. GetOperationsByCursor

باشتىن-ئاخىر بىلىش كېرەك: 

  • ۋاسىتىچىلىك دوكلاتى T-3 شەكلىدە بارلىققا كېلىدۇ ، يەنى سودا ئەمەلىي ئىجرا قىلىنغاندىن كېيىن شۇ يەردە كۆرسىتىلىدۇ. 
  • بۇنىڭغا ئاساسەن ، ئەگەر سىز بۇ دوكلاتنى يېقىنقى ئىككى كۈندە تەلەپ قىلسىڭىز ، ئۈچ كۈندە تەييار بولىدۇ. 
  • ئاخىرقى كۈندىكى سودىغا ئېرىشىش ئۈچۈن ، بىز سودا قوبۇل قىلىش ئۇسۇلىنى قوللىنىمىز ، ئەمما ۋاسىتىچىلىك دوكلاتى ھاسىل قىلىنغاندىن كېيىن ئۇلارنىڭ كىملىكى ۋە مەزمۇنىنىڭ ئۆزگىرىشى مۇمكىنلىكىنى ئېسىڭىزدە تۇتۇڭ.

GetBrokerReport

ۋاسىتىچىلىك دوكلاتىغا ئېرىشىش ئۈچۈن ، ھېسابات كىملىكى ، دوكلاتنىڭ باشلىنىش ۋاقتى ۋە ئاخىرلىشىش ۋاقتىنى ئېلىشىڭىز كېرەك ، ئەمما 31 كۈندىن ئېشىپ كەتمەسلىكى كېرەك. بىز API غا _broker_report_request ھاسىل قىلىش ئۈچۈن دوكلات تەييارلاش ئىلتىماسىنى ئەۋەتىمىز ، جاۋابقا بىر ۋەزىپە تاپشۇرۇۋالىمىز. ئۇنىڭدىن كېيىن ، بۇ ۋەزىپە Id نى ئىشلىتىپ ، _broker_report_response دىن سانلىق مەلۇماتقا ئېرىشىمىز .

شۇڭا ھۆججەتتە دېيىلىدۇ ، ئەمەلىيەتتە ئىنچىكە نۇقتىلار بار. قولىڭىزنى كۆرۈڭ:

  • سىز بۇ چېسلا ئۈچۈن TaskID نى مەڭگۈ ساقلىشىڭىز كېرەك. 
  • ئەگەر ئۇنى يوقىتىپ قويغان بولسىڭىز ، تەلەپ قىلىنغان ۋاقىت ئۈچۈن دوكلات ئالدى بىلەن ئەۋلادلارنىڭ تەلىپىگە ئاساسەن كېلىدۇ ، 
  • ئاندىن ئۇ ھەرگىز كەلمەيدۇ.

[/ spoiler] كود يېزىشنى باشلايلى

نۆۋەتتىكى چېسلادىن ئېلىشنى ئويلىشىپ ، چېسلاغا ئېرىشىشنىڭ ئۇسۇلى

const getDateSubDay = (subDay = 5, start = true) => {     const date = يېڭى چېسلا ();     date.setUTCDate (date.getUTCDate () – subDay);       if (start) {         date.setUTCHours (0, 0, 0, 0);     } else {         date.setUTCHours (23, 59, 59, 999);     }       قايتىش ۋاقتى; };

ئەۋلاد تەلىپىنى دوكلات قىلىڭ 

const brokerReport = ساقلاش (sdk.operations.getBrokerReport) ({         generateBrokerReportRequest: {             accountId,             دىن             ،         } ، });

نەتىجە:

  • بۇيرۇقنىڭ تۇنجى ئىجرا قىلىنىشى نەتىجىسىدە ، بىز ۋەزىپە Id غا ئېرىشىمىز. 
  • دوكلات ۋاسىتىچى تەرەپتىن ھاسىل بولۇشقا باشلىدى. ئۇ تەييار بولغاندا نامەلۇم ، بىز دوكلاتنى كۈتۈپ تۇرۇپ ۋەزىپە Id نى قەرەللىك تارتىپ تۇرىمىز.
  • نېمىشقا؟ چۈنكى دوكلات تەييار بولمىسا ، خاتالىق سادىر قىلىدۇ. ئەگەر ۋاستىچى تەرەپتە دوكلات تەييار بولمىسا ، ئۇنداقتا بۇ كودىڭىزدىكى خاتالىق. بىر تەرەپ قىلىڭ: 30058 | INVALID_ARGUMENT | ۋەزىپە تېخى تاماملانمىدى ، كېيىن قايتا سىناڭ

دوكلاتنى ساقلاش ۋە تاپشۇرۇۋېلىشنىڭ كودى مۇشۇنىڭغا ئوخشايدۇ.

const timer = async time => {     يېڭى ۋەدىلەرنى قايتۇرۇش (resol => setTimeout (ھەل قىلىش ، ۋاقىت)); get   const getBrokerResponseByTaskId = async (taskId, page = 0) => {     try {         return wait (sdk.operations.getBrokerReport) ({             getBrokerReportRequest: {                 taskId,                 page,             },         });     } catch (e) {         console.log (‘wait’, e);         ۋاقىت كۈتۈش (10000);         قايتىشنى كۈتۈش getBrokerResponseByTaskId (taskId, page);     } };

ئاندىن ئوخشاش سېھىرگەرلىك يۈز بېرىدۇ. قوليازمىمىزنى توختىتىمىز ، ئۇنى قايتا باشلايمىز ، بىزدە ۋەزىپە يوق. بىز كودنى ۋەزىپە Id تەلىپى بىلەن ئىجرا قىلىمىز ، ئەمما بىز ئەمدى ۋەزىپە Id غا ئېرىشەلمەيمىز ، ئەمما دەرھال دوكلات قىلىمىز. سېھىرگەر! ئەگەر دائىم مۇشۇنداق بولسا ھەممە ئىشلار ياخشى بولاتتى. ئەمما بىر ئايدىن كېيىن ھېچقانداق سانلىق مەلۇمات بولمايدۇ. پايدىلىق :

  • بۇ يەردە ۋە بۇ يەردە بىر ئاز نەزەرىيە بايان قىلىنغان .
  • كودنى بىر يەرگە قويساق ، لايىھە مۇشۇنىڭغا ئوخشايدۇ.

https://github.com/pskucherov/tcsstat/tree/step3.1 https://github.com/pskucherov/tcsstat/compare/step3.1

  • ئەگەر بىرەرسى بۇ ئىشقا يولۇقسا ، ئۇنداقتا بۇ مەسىلىنى قارشى ئالىمىز . ئۇلار بۇ سېھىرنى رېمونت قىلغاندىن كېيىن ، كۈچىنى يوقىتىدۇ ۋە قانداقتۇر باشقىچە بولىدۇ. ئەمما ھازىرقى پەيتتە (03/21/2023) ئۇمۇ شۇنداق ئىشلەيدۇ.

GetDividendsForeignIssuer

بەزىلەر بۇ ئۇسۇلنى ئالدىنقى ئۇسۇلغا ئوخشايدۇ دەپ ئويلىشى مۇمكىن ، سىز پەقەت مەشغۇلاتنىڭ نامىنى ئۆزگەرتەلەيدىغان بىرلا ئۇسۇلنى قوللانسىڭىز بولىدۇ. ئەمما ئۇلار پەرەز قىلمىدى.  ئۇ يەردىكى ئىسىم قويۇش ئۇسۇل ۋە قايتۇرۇلغان ئۇچۇردا ئوخشىمايدۇ. ھەمدە بەت سانى 0 دىن ، ئاندىن 1 دىن باشلىنىدۇ. بۇلارنىڭ ھەممىسىدە گاڭگىراپ قالماسلىق ئۈچۈن ، ئوخشىمىغان ئىككى خىل ئۇسۇلنى يېزىش ئاسان. بۇ غەلىتە ، چۈنكى خىزمەتنىڭ لوگىكىسى ئوخشاش. مەن بىر خىل ئۇسۇلنى قوللانماقچى بولغاندا ، ئۇزۇن ۋاقىت تۈكۈردۈم ، كود ئاز ئىدى. بۇ يەردە ھېچقانداق مىسال بولمايدۇ.

GetOperationsByCursor

مەن ئەڭ ياخشى كۆرىدىغان ئۈچى. گەرچە ئەڭ توغرا بولمىسىمۇ ، ئەمما ئەڭ يېتەرلىك. بىز ھېسابات قۇرۇشنىڭ بېشىدىن باشلاپ ئەڭ يۇقىرى چەككە (ھېساباتنى تاقاش ياكى ھازىرقى ھېساباتنى تاقاش) تەلەپ قىلىمىز. بىز جاۋابقا ئېرىشىمىز ، نۇر بەلگىسىنى ئېلىپ سانلىق مەلۇمات بولسىلا قايتا تەلەپ قىلىمىز.  ھەمدە كود يۇقىرىدىكى مىساللارغا قارىغاندا تېخىمۇ ئىخچام.

const timer = async time => {     يېڭى ۋەدىلەرنى قايتۇرۇش (resol => setTimeout (ھەل قىلىش ، ۋاقىت)); }   const getOperationsByCursor = async (sdk, accountId, from, to, cursor = ”) => {     try {         const reqData = {             accountId,             from,             to,             limit: 1000,             state             : sdk.OperationState.OPERATION_STATE_EXECUTED             withoutTrades: يالغان ،             كېچىدە: يالغان ،             نۇر بەلگە ،         };         قايتىشنى ساقلاش sdk.operations.getOperationsByCursor (reqData);     } catch (e) {         كۈتۈش ۋاقتى (60000);           قايتىشنى كۈتۈش getOperationsByCursor (sdk, accountId ، دىن ، نۇر بەلگىسى = ”);     } };

ئىجرا قىلىنىدىغان لايىھە بۇ يەردە: https://github.com/pskucherov/tcsstat/tree/step3.3 https://github.com/pskucherov/tcsstat/compare/step3.3 ھازىر بىز قوبۇل قىلىش مەشغۇلاتىنى قوشۇشقا تەييارمىز. قوللىنىشچان پروگراممىمىز. ئەگەر توغرا ئىشلەنسە ، ئۇنداقتا ھېساباتنىڭ پۈتكۈل مەۋجۇتلۇقى ئۈچۈن ۋاسىتىچىلىك دوكلاتىغا ئېرىشىشىڭىز كېرەك. يوقاپ كەتكەن سانلىق مەلۇماتلارغا نىسبەتەن ، ئوخشاش T-3s مەشغۇلاتتىن قايتا يۈكلىنىدۇ. ئەمما بۇنى ئايرىم ماقالىگە ئايرىشقا بولىدۇ. سىز ئۇچرايدىغان ئاساسلىق ئىنچىكە نۇقتىلار ئىچىدە چاپلاش مەشغۇلاتى ۋە ۋاسىتىچىلىك دوكلاتى.

  •  بۈگۈن سىز ۋاسىتىچىلىك دوكلاتى ۋە تەلەپ قىلىنغان ۋاقىتتىكى سودا تاپشۇرۇۋالغان بولسىڭىز ، ھەممىسىنى ساندانغا قويۇڭ ، ئۇنداقتا مەسىلە يوق. 
  • ئەتە دوكلات ۋە مەشغۇلاتتىن كېيىنكى سانلىق مەلۇماتلارنى تاپشۇرۇۋالسىڭىز ھەمدە ئۇلارنى ھازىرقى ساندان بىلەن ماس قەدەمدە قارار قىلىشنى قارار قىلسىڭىز ، مەسىلىگە دۇچ كېلىسىز. 
  • پىششىقلاپ ئىشلەنگەندىن كېيىن id ماسلاشماسلىق ياكى ئۆزگەرتىشكە ئائىت نۇرغۇن ئىنچىكە نۇقتىلار
  • ئاندىن OTC بازىرىغا نىسبەتەن ، id نىڭ ماس كەلمەيدۇ.
  •  شۇنداقلا API نىڭ ئالاھىدىلىكى سەۋەبىدىن يەنە ماس كەلمەيدىغان ماس قەدەملىك ئەسۋابلارنىڭ ئىنچىكە نۇقتىلىرى. ئەمما بۇ باشقا بىر ھېكايە.

قوللىنىشچان پروگراممىمىزغا مەشغۇلات ھەققىدىكى ئۇچۇرلارنى قوشايلى. ئاساسلىق مەسىلە سانلىق مەلۇماتلارنىڭ قەيەردە بىر تەرەپ قىلىنىدىغانلىقى ۋە ساقلىنىدىغانلىقىدا.

  •  ئەگەر ئۇنى ئۆزىڭىز قىلسىڭىز ، ئوخشاش بولمىغان ئۈسكۈنىلەردىن ئوخشاش سانلىق مەلۇماتنى ئىستېمال قىلىسىز. ئاندىن سانلىق مەلۇماتلارنى مۇلازىمېتىردا بىر تەرەپ قىلىشىڭىز ۋە ساقلىشىڭىز كېرەك.
  • ئەگەر سىزدە نۇرغۇنلىغان ئوخشىمىغان ئىشلەتكۈچىلەر ئىستېمال قىلغان نۇرغۇن ئوخشىمىغان سانلىق مەلۇماتلار بولسا ، ئۇنداقتا سىز تېخىمۇ مۇھىم بولغىنىنى قارار قىلىشىڭىز كېرەك: ئابونتلارنىڭ سۈرئىتى ياكى تۆمۈرنى تېجەش. كىمكى چەكسىز مىقداردىكى قاتتىق دېتالنى سېتىۋالالىسا ، ئۇنىڭ مۇلازىمېتىرىدىكى ھەممە نەرسىنى سانايدۇ ۋە ئۇنى ئابونتلار ئۈچۈن دەرىجىدىن تاشقىرى تېزلىتىدۇ ، تېلېفوندا ئىنتايىن مۇھىم بولغان باتارېيە ۋە قاتناش قاتارلىق ئىشلەتكۈچى بايلىقىنى تېجەيدۇ.

ئۆز نۆۋىتىدە ، توركۆرگۈچتە ساناش ئەڭ مۇۋاپىق ھەل قىلىش چارىسى ئەمەس. شۇڭلاشقا قىممەت ئەمەس ، ئۇنى مۇلازىمېتىرىمىزدا ئويلىشىمىز. قالغانلىرىنى خېرىدارغا قالدۇرىمىز. مەن مۇلازىمېتىردىكى كومىسسىيەنى ئېلىپ ھېسابلاپ باققۇم بار. ئەمما بۇ يەردە «ئۆز-ئارا تەسىر كۆرسىتىش» دەپ ئاتىلىدىغان ئىنچىكە ھالقىلار كېلىدۇ. ئالايلى ، سىزدە مىڭلىغان مەشغۇلات بار ، ئۇلارنى قوبۇل قىلىشقا بەش مىنۇت ۋاقىت كېتىدۇ. بۇ ۋاقىتتا ئىشلەتكۈچى نېمە بولىدۇ؟ Spinner? ئىلگىرىلەش؟ قانچىلىك يۈكلەنگەنلىكى توغرىسىدا ئىنفا؟ بۇ جەرياندىكى ئىشلەتكۈچى ئاللىقاچان بىر نەرسىنى كۆرەلەيدىغان ۋاقىتتا «ئاكتىپ ساقلاش» نى ئىشلىتىش ئەڭ كۆڭۈلدىكىدەك ئىش. بۇ يەردە نەتىجە:بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

  • بەت يۈكلەش
  • بارلىق تالونلار تەلەپ قىلىنىدۇ
  • ئۇنىڭدىن كېيىن ، بارلىق ھېساباتلار ئۈچۈن ئىجرا قىلىنغان سودا كومىتېتى بىلەن بولغان بارلىق سودا تەلەپ قىلىنىدۇ. سانلىق مەلۇمات قوبۇل قىلىنغاندا ، ئۇ توركۆرگۈچتە كۆرسىتىلىدۇ.

ھەر قېتىم ۋەقەلەردىكى سانلىق مەلۇماتلارنى سۈزمەسلىك ئۈچۈن ، بىز ھەر بىر ھېسابات ئۈچۈن ئۆزىمىزنىڭ پائالىيىتىنى تارتىمىز. بۇنىڭغا ئوخشاش:

                socket.emit ( ‘ sdk: getOperationsCommissionResult_’ + accountId, { تۈرلەر                 : سانلىق مەلۇماتلار؟

قويۇپ بېرىش لايىھىسى بۇ يەردە: https://github.com/pskucherov/tcsstat/tree/step3 https://github.com/pskucherov/tcsstat/compare/step2…step3 يۆتكىلىش. بۇ قۇرنى ئوقۇغانلىقىڭىز بەك ياخشى! 

قىزىقىدىغان ئۇچۇرلارنى ھېسابلاش ۋە چىقىرىش

كىمنىڭ قايسى ئۇچۇرغا ئېھتىياجلىق بولۇشىغا باغلىق. شۇڭلاشقا ، مەن دەرھال سىز ئۇچرايدىغان ئاساسلىق ئىنچىكە نۇقتىلارنى ئېيتىپ بېرىمەن.

باھا بىلەن ئىشلەش 

پۇل-مۇئامىلە بىلەن ئىشلەيدىغانلارنىڭ ھەممىسى پۇل سودىسىنىڭ پەقەت پۈتۈن سان بىلەنلا ئېلىپ بېرىلىشى كېرەكلىكىنى بىلىدۇ. ئونلۇق نۇقتىدىن كېيىنكى قىممەتنىڭ توغرا بولماسلىقى ۋە نۇرغۇن مەشغۇلاتلار بىلەن جۇغلانما خاتالىق سەۋەبىدىن. شۇڭلاشقا بارلىق باھالار تۆۋەندىكى MoneyValue شەكلىدە ئوتتۇرىغا قويۇلغانبىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

field تىپى چۈشەندۈرۈش
پۇل string ISO پۇل كودى
بىرلىك int64 يىغىندىنىڭ پۈتۈن قىسمى مەنپىي سان بولۇشى مۇمكىن
nano int32 سوممىنىڭ بىر قىسمى ، مەنپىي سان بولۇشى مۇمكىن

بىز ئۇلارنى ئايرىم بىر تەرەپ قىلىمىز ، ئاندىن ئۇلارنى باھا قىممىتىگە يەتكۈزىمىز:

quotation.units + quotation.nano / 1e9

قەرەللىك مال توختامىنىڭ تەننەرخى

قەرەللىك مالنىڭ باھاسى نۇقتىدا ئوتتۇرىغا قويۇلغان ، پۇل كەلگۈسىڭىز بولغاندا ، ئۆسۈم نىسبىتىنى بىلىشىڭىز كېرەك. ئەلۋەتتە نۇقتىدىكى باھا ۋە باھا قەدىمى. سودىدىكى پايدىنى ھېسابلىغاندا ، بۇ ئېتىشى مۇمكىن ، چۈنكى. باھانى سانغا كۆپەيتىش ئارقىلىق ئومۇمىي سوممىنى ھېسابلىسىڭىز. بۇ يەردە ئېھتىيات قىلىشىڭىز كېرەك. ھازىرچە ئۇنىڭ قانداق كېتىدىغانلىقىنى كۆرىمىز. بۇ پۇل قەرەللىك ماللىرىغا ماس كېلىدۇ ، باشقا جايلاردا بۇنىڭ ھەممىسى ياخشى.بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز. بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

OTC بازىرى

بۇ بازارنىڭ نۇرغۇن ئالاھىدىلىكلىرى بار ، شۇڭا بىز ئۇنىڭ ئۈستىدىكى مەشغۇلاتلارنى ئايرىم تەتقىق قىلايلى. ماس قەدەملىك مەشغۇلاتنى باشلىغاندا ، چالغۇنى توغرا ماسلاشتۇرۇش ئۈچۈن فىگى / چەككۈچنى ئوخشاش شەكىلگە ئەكېلىشىڭىز كېرەكلىكى چىقىدۇ. بۇنى ۋاسىتىچىلىك دوكلاتى بىلەن ماس قەدەمدە باشلىغاندا ، ئوخشاش سودىدىكى سودا ID نىڭ سودىدا دەسلەپتە خەتلىرى بارلىقى ، ئۇلار ۋاسىتىچىلىك دوكلاتىدا ئەمەسلىكى چىقىدۇ. شۇڭلاشقا ، ئۇلارنى سېلىشتۇرۇشقا بولمايدۇ … ahem-ahem … سېلىشتۇرۇش ئارقىلىق! مەن سودا ۋاقتىنى ماسلاشتۇردۇم ، بىر سودا Id نىڭ يەنە بىر سودىدا بارلىقىغا ماسلاشتىم. توغرا ، بىلمەيمەن. كىم بۇ ئىشقا يولۇقسا ۋە ئۇنىڭغا كۆڭۈل بۆلسە ، مەسىلىگە كېلىڭ ياكى يېڭى باشلاڭ.بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

قوراللاردىكى ماتېماتىكىلىق مەشغۇلات

ئىزدىمەي تۇرۇپ ، پۈتۈن تىزىملىك ​​بىلەن ماتېماتىكىلىق مەشغۇلاتلارنى قىلىش مۇمكىن ئەمەس. يۇمشاق دېتالغا ئىللىقلىق قوشماسلىق ئۈچۈن ، بىز پۇلنىڭ ماس كېلىدىغانلىقىنى جەزملەشتۈرگەندىلا ، ئاندىن نومۇرنى لازىملىق پۇلغا ئايلاندۇرىمىز. بانكا نومۇرى بىلەن ئىشلەش ھەققىدىكى بىلىملەر بىلەن قوراللانغان ھەر بىر ھېساباتقا كەتكەن كومىسسىيەنى ھېسابلايمىز. بۇنىڭغا ئوخشاش: https://github.com/pskucherov/tcsstat/tree/step4 https://github.com/pskucherov/tcsstat/compare/step3…step4بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.    

Microservice تەييار!

https

خۇلاسە ۋە كەلگۈسى پىلانلىرى

  • ئاساسىي مەشغۇلات ۋە مەبلەغ سېلىش API بىلەن ھەمكارلىشىشنى ئۆگەندى
  • ۋاقىت ~ 10 سائەت
  • قىيىنلىق دەرىجىسى ~ تولۇقسىز + / تۆۋەن ئوتتۇرى 

ئەگەر سىز داۋاملىق مىكرو مۇلازىمەتنى مۇكەممەللەشتۈرسىڭىز ، بۇنداق ئىش بىلەن ئاخىرلىشىشىڭىز مۇمكىن

https://opexbot.info

  بۇ مېنىڭ تەرەققىياتىم ، ئۆزى چۈشىنىشكە ، يۈگۈرۈشكە ۋە ھېسابلاشقا بەك ھورۇن كىشىلەر ئۈچۈن. ئىشلەتكۈچىلەرنىڭ تەلىپىگە ئاساسەن ئۇ يەرگە ئانالىز قىلىشنى پىلانلاۋاتىمەن. ماقالىنى ياقتۇرغان بولسىڭىز ، تېلېگرامما قانىلىمغا مۇشتەرى بولۇڭ . بىز Tinkoff Invest API ئارقىلىق ۋاسىتىچىلىك دوكلاتى ۋە كومىسسىيەنى ھېسابلاشنى ئاپتوماتىك ئاپتوماتلاشتۇرۇش ئۈچۈن مىكرو مۇلازىمەتنى تەرەققىي قىلدۇرۇۋاتىمىز.

Pavel
Rate author
Add a comment

  1. Isakiiev

    Полезная статья. Не могу представить, сколько усилий автора потребовалось, чтобы все описать. Благодарю.

    Reply