ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

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

Tinkoff முதலீடுகளுக்கான புள்ளியியல் சேவையின் வளர்ச்சிக்குப் பின்னால் உள்ள தூண்டுதல்கள் :

என்ன விவாதிக்கப்படும்?

  • வளர்ச்சி பற்றிய பயன்பாட்டு பகுதி மட்டுமே.
  • உண்மையான அறிவு மற்றும் அனுபவம், நிதி கருவிகளுடன் பணிபுரிவதில் மிகவும் முக்கியமானது.
  • வேலை செய்ய வேண்டிய சிக்கல்களின் கண்ணோட்டம்

எனவே, நான் வர்த்தக புள்ளிவிவரங்களை கணக்கிட்டு அதை ஒரு வசதியான வழியில் செய்ய விரும்புகிறேன். 

புள்ளியியல் சேவையை படிப்படியாக உருவாக்குதல்: 

  1. Tinkoff இன்வெஸ்ட் APIக்கான இணைப்பு
  2. உலாவியில் Tinkoff Invest API இலிருந்து தரவை வரைதல்
  3. தரகு அறிக்கைகள் மற்றும் பரிவர்த்தனைகளைப் பெறுதல்
  4. ஆர்வமுள்ள தகவல்களின் கணக்கீடு மற்றும் வெளியீடு
  5. எதிர்காலத்திற்கான முடிவுகள் மற்றும் திட்டங்கள்

Tinkoff இன்வெஸ்ட் APIக்கான இணைப்பு

API உடன் இணைக்க, https://github.com/Tinkoff/investAPI#sdk ஆவணத்திலிருந்து எந்த sdk ஐயும் நீங்கள் எடுக்கலாம் . அல்லது npm தொகுப்பு ` tinkoff-sdk-grpc-js `. டெவலப்பர்களால் பேக்கேஜ் சமீபத்திய பதிப்பிற்கு புதுப்பிக்கப்படுவது முக்கியம். நிறுவு

npm நான் tinkoff-sdk-grpc-js

சரிபார்க்கிறது

const {createSdk } = தேவை(‘tinkoff-sdk-grpc-js’);   // இப்படிப் பெறக்கூடிய   டோக்கன் டோக்கன் = ‘YOURAPI’;   // TCS பதிவுகளில் நீங்கள் காணக்கூடிய பயன்பாட்டின் பெயர். const appName = ‘tcsstat’;   const sdk = createSdk(TOKEN, appName); (async () => {     console.log(sdk.users.getAccounts() காத்திருக்கவும்); })();

முடிவு: உங்கள் கணக்குகளின் பட்டியல் கன்சோலில் காட்டப்படும். எடுத்துக்காட்டாக, நுணுக்கங்களை பகுப்பாய்வு செய்வோம்:ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

  • கணக்குகளின் பட்டியலில் “முதலீட்டு வங்கி” உள்ளது, அதனுடன் நீங்கள் API ஐப் பயன்படுத்தி வேலை செய்ய முடியாது
  • புலங்கள் CamelCase இல் வருகின்றன என்பதை நினைவில் கொள்ளவும், ஆவணத்தில் இந்த புலங்கள் under_ஸ்கோரில் வழங்கப்படுகின்றன. 
  • இது எல்லா இடங்களிலும் இப்படித்தான் இருக்கும், எனவே நீங்கள் ஆவணத்தில் இருந்து ஒரு புலத்தை எடுத்து நகலெடுக்க முடியாது.

பயனுள்ள:

  • திட்டக் கிளையில் இந்தக் குறியீட்டை நீங்கள் காணலாம்

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@latest npm i socket.io socket.io-client

நாங்கள் உடனடியாக நட்பு படி அடுத்த+சாக்கெட்+இன்வெஸ்டாபிக்கு செல்கிறோம், மேலும் அனைத்து விவரங்களுக்கும் இந்த படியின்  பயனுள்ள பகுதியைப் பார்க்கவும். நான் விவரங்களை விவரிக்கிறேன்: 

  • nodejs (சர்வர்) பக்கத்தில், pages/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 

பயனுள்ள:

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 நாட்களுக்கு மேல் இல்லை. _broker_report_request இல் API க்கு அறிக்கையை உருவாக்குவதற்கான கோரிக்கையை நாங்கள் அனுப்புகிறோம் , அதற்கு பதில் ஒரு taskIdஐப் பெறுங்கள். அதன் பிறகு, இந்த taskIdஐப் பயன்படுத்தி, get _broker_report_response இலிருந்து தரவைப் பெறுகிறோம் .

எனவே ஆவணங்கள் கூறுகிறது, உண்மையில் நுணுக்கங்கள் உள்ளன. உங்கள் கைகளைக் கவனியுங்கள்:

  • இந்த தேதிகளுக்கு நீங்கள் TaskIDயை எப்போதும் சேமிக்க வேண்டும். 
  • நீங்கள் அதை இழந்தால், கோரப்பட்ட தேதிகளுக்கு அறிக்கை முதலில் தலைமுறை கோரிக்கைக்கு பதிலளிக்கும், 
  • பின்னர் அது வரவே வராது.

[/ஸ்பாய்லர்] குறியீடு எழுத ஆரம்பிக்கலாம்

தற்போதைய தேதியிலிருந்து கழித்தலை கணக்கில் எடுத்துக்கொண்டு தேதியைப் பெறுவதற்கான முறை

const getDateSubDay = (subDay = 5, start = true) => {     const date = new Date();     date.setUTCDate(date.getUTCDate() – subDay);       என்றால் (தொடக்கம்) {         date.setUTCHours(0, 0, 0, 0);     } வேறு {         date.setUTCHours(23, 59, 59, 999);     }       திரும்பும் தேதி; };

அறிக்கை உருவாக்க கோரிக்கை 

const brokerReport = காத்திருக்கவும் (sdk.operations.getBrokerReport)({         generateBrokerReportRequest: {             accountId,             from,             to,         }, });

விளைவாக:

  • கட்டளையின் முதல் செயல்பாட்டின் விளைவாக, நாம் taskId ஐப் பெறுகிறோம். 
  • அறிக்கை தரகர் பக்கத்தில் உருவாக்கத் தொடங்குகிறது. அது தயாராக இருக்கும் போது தெரியவில்லை, நாங்கள் காத்திருந்து அறிக்கையை எதிர்பார்த்து அவ்வப்போது taskId ஐ இழுப்போம்.
  • ஏன்? ஏனெனில் அறிக்கை தயாராக இல்லை என்றால், அது ஒரு பிழையை வீசுகிறது. தரகர் பக்கத்தில் அறிக்கை தயாராக இல்லை என்றால், இது உங்கள் குறியீட்டில் உள்ள பிழை. தயவுசெய்து செயலாக்கவும்: 30058|INVALID_ARGUMENT|பணி இன்னும் முடிக்கப்படவில்லை, தயவுசெய்து பின்னர் மீண்டும் முயற்சிக்கவும்

காத்திருப்பு மற்றும் அறிக்கையைப் பெறுவதற்கான குறியீடு இது போன்றது.

கான்ஸ்ட் டைமர் = ஒத்திசைவு நேரம் => {     புதிய வாக்குறுதியைத் திரும்பப் பெறுங்கள் (தீர்வு => செட் டைம்அவுட் (தீர்வு, நேரம்)); }   const getBrokerResponseByTaskId = ஒத்திசைவு (taskId, பக்கம் = 0) => {     முயற்சி {         திரும்ப காத்திருக்கவும் (sdk.operations.getBrokerReport)({             getBrokerReportRequest: {                 taskId,                 page,             },         });     } கேட்ச் (இ) {         console.log(‘காத்திரு’, இ);         டைமருக்காக காத்திருங்கள் (10000);         திரும்ப காத்திருங்கள் getBrokerResponseByTaskId(taskId, பக்கம்);     } };

பிறகு அதே மந்திரம் நடக்கும். நாங்கள் எங்கள் ஸ்கிரிப்டை நிறுத்துகிறோம், அதை மீண்டும் தொடங்குகிறோம், எங்களிடம் taskId இல்லை. நாங்கள் டாஸ்க் ஐடி கோரிக்கையுடன் குறியீட்டை இயக்குகிறோம், ஆனால் இனி டாஸ்க் ஐடியைப் பெற முடியாது, ஆனால் உடனடியாக அறிக்கை. மந்திரம்! மேலும் எப்போதும் இப்படி இருந்தால் எல்லாம் சரியாகிவிடும். ஆனால் ஒரு மாதத்தில் தரவு எதுவும் இருக்காது. பயனுள்ள :

  • ஒரு பிட் கோட்பாடு இங்கே மற்றும் இங்கே கோடிட்டுக் காட்டப்பட்டுள்ளது .
  • குறியீட்டை ஒன்றாக இணைத்தால், வரைவு இப்படி இருக்கும்.

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

  • யாராவது இதைக் கண்டால், பிரச்சினைக்கு வரவேற்கிறோம் . அவர்கள் இந்த மந்திரத்தை சரிசெய்த பிறகு, அது அதன் சக்தியை இழந்து எப்படியோ வித்தியாசமாக இருக்கும். ஆனால் தற்போதைய தருணத்தில் (03/21/2023) அது அப்படியே செயல்படுகிறது.

GetDividendsForeignIssuer

இந்த முறை முந்தையதைப் போன்றது என்று யாராவது நினைக்கலாம், மேலும் நீங்கள் ஒரு முறையைப் பயன்படுத்தலாம், அதில் நீங்கள் செயல்பாடுகளின் பெயரை மட்டுமே மாற்றலாம். ஆனால் அவர்கள் யூகிக்கவில்லை!  அங்கு பெயரிடுவது முறைகள் மற்றும் திரும்பிய தகவல் இரண்டிலும் மிகவும் வேறுபட்டது. பக்க எண்ணிக்கை 0 இலிருந்து தொடங்குகிறது, பின்னர் 1 இல் இருந்து தொடங்குகிறது. இவை அனைத்திலும் குழப்பமடையாமல் இருக்க, இரண்டு வெவ்வேறு முறைகளை எழுதுவது எளிது. இது விசித்திரமானது, ஏனென்றால் வேலையின் தர்க்கம் ஒன்றே. நான் ஒரு முறை செய்ய முயற்சித்த போது நான் நீண்ட நேரம் துப்பினேன் மற்றும் குறியீடு குறைவாக இருந்தது. இங்கே உதாரணங்கள் இருக்காது.

GetOperationsByCursor

மூன்றில் எனக்கு மிகவும் பிடித்தது. மிகவும் துல்லியமாக இல்லாவிட்டாலும், மிகவும் போதுமானது. ஒரு கணக்கை உருவாக்கும் தொடக்கத்திலிருந்து அதிகபட்ச சாத்தியமான தேதி வரை (ஒரு கணக்கை மூடுவது அல்லது தற்போதைய ஒன்றை மூடுவது) கோரிக்கையை வைக்கிறோம். பதில் கிடைக்கும், கர்சரை எடுத்து டேட்டா இருக்கும் வரை மீண்டும் கோரிக்கை வைக்கிறோம்.  மேலே உள்ள எடுத்துக்காட்டுகளை விட குறியீடு மிகவும் சுருக்கமானது.

கான்ஸ்ட் டைமர் = ஒத்திசைவு நேரம் => {     புதிய வாக்குறுதியைத் திரும்பப் பெறுங்கள் (தீர்வு => செட் டைம்அவுட் (தீர்வு, நேரம்)); }   const getOperationsByCursor = async (sdk, accountId, from, to, cursor = ”) => {{     const         reqData = {             accountId,             from,             to,             limit: 1000,             state: sdk.OperationState.OPERATION_STATE_EXECUTED:             false,commission இல்லாமல்             வர்த்தகம் இல்லாமல்: பொய்,             ஓவர்நைட்ஸ் இல்லாமல்: தப்பு,             கர்சர்,         };           திரும்ப காத்திருக்கிறது sdk.operations.getOperationsByCursor(reqData);     } கேட்ச் (இ) {         காத்திருப்பு டைமர்(60000);         திரும்ப காத்திருங்கள் getOperationsByCursor(sdk, accountId, from, to, cursor = ”);     } };

இயக்குவதற்கான வரைவு இங்கே உள்ளது: https://github.com/pskucherov/tcsstat/tree/step3.3 https://github.com/pskucherov/tcsstat/compare/step3.3 இப்போது பெறுதல் செயல்பாடுகளைச் சேர்க்க நாங்கள் தயாராக உள்ளோம் எங்கள் விண்ணப்பம். சரியாகச் செய்தால், கணக்கின் முழு இருப்புக்கான தரகு அறிக்கைகளைப் பெற வேண்டும். மற்றும் விடுபட்ட தரவுகளுக்கு, அதே T-3கள், செயல்பாடுகளிலிருந்து மீண்டும் ஏற்றவும். ஆனால் இதை ஒரு தனி கட்டுரையாக பிரிக்கலாம். நீங்கள் சந்திக்கும் முக்கிய நுணுக்கங்களில் பசை செயல்பாடுகள் மற்றும் ஒரு தரகு அறிக்கை.

  •  இன்று நீங்கள் தரகு அறிக்கை மற்றும் தேவையான தேதிகளுக்கான பரிவர்த்தனைகளைப் பெற்றிருந்தால், அனைத்தையும் தரவுத்தளத்தில் வைக்கவும், பின்னர் எந்த பிரச்சனையும் இல்லை. 
  • அறிக்கை மற்றும் செயல்பாடுகளிலிருந்து தரவின் அடுத்த பகுதியைப் பெற்று, அவற்றை ஏற்கனவே உள்ள தரவுத்தளத்துடன் ஒத்திசைக்க முடிவு செய்யும் போது நாளை உங்களுக்கு சிக்கல்கள் ஏற்படும். 
  • பொருந்தாதது அல்லது செயலாக்கத்திற்குப் பிறகு ஐடியை மாற்றுவது பற்றிய பல நுணுக்கங்கள்
  • பின்னர் OTC சந்தைக்கு, ஐடிகள் பொருந்தவில்லை.
  •  ஏபிஐயின் தனித்தன்மைகள் காரணமாக, ஒத்திசைவு கருவிகளின் நுணுக்கங்கள் மீண்டும் ஒத்துப்போவதில்லை. ஆனால் அது வேறு கதை.

செயல்பாடுகள் பற்றிய தகவலைப் பெறுவதை எங்கள் பயன்பாட்டில் சேர்ப்போம். தரவு எங்கு செயலாக்கப்பட்டு சேமிக்கப்படும் என்பது முக்கிய கேள்வியாக இருக்கும்.

  •  நீங்களே இதைச் செய்தால், வெவ்வேறு சாதனங்களிலிருந்து ஒரே தரவை நீங்கள் பயன்படுத்துவீர்கள். பின்னர் நீங்கள் சேவையகத்தில் தரவை செயலாக்கி சேமிக்க வேண்டும்.
  • பல்வேறு பயனர்களால் நுகரப்படும் பல்வேறு தரவுகள் உங்களிடம் இருந்தால், அதைவிட முக்கியமானது என்ன என்பதை நீங்கள் தீர்மானிக்க வேண்டும்: பயனர்களின் வேகம் அல்லது உங்கள் பக்கத்தில் இரும்புச் சேமிப்பு. எல்லையற்ற அளவிலான வன்பொருளை வாங்கக்கூடியவர், தனது சர்வரில் உள்ள அனைத்தையும் எண்ணி, பயனர்களுக்கு அதிவேகமாகச் செய்து, ஃபோன்களில் மிகவும் முக்கியமான பேட்டரி மற்றும் ட்ராஃபிக் போன்ற பயனர் வளங்களைச் சேமிக்கிறார்.

இதையொட்டி, உலாவியில் எண்ணுவது கொள்கையளவில் மிகவும் உகந்த தீர்வு அல்ல. எனவே, விலை உயர்ந்ததல்ல, அதை எங்கள் சேவையகத்தில் கருதுகிறோம். மீதியை வாடிக்கையாளரிடம் விட்டுவிடுகிறோம். சர்வரில் கமிஷனை எடுத்து கணக்கிட விரும்புகிறேன். ஆனால் இங்கே “ஊடாடும் தன்மை” என்று அழைக்கப்படும் நுணுக்கம் வருகிறது. உங்களிடம் ஆயிரக்கணக்கான செயல்பாடுகள் உள்ளன, அவற்றைப் பெற ஐந்து நிமிடங்கள் ஆகும் என்று வைத்துக்கொள்வோம். இந்த நேரத்தில் பயனரிடம் என்ன இருக்கும்? ஸ்பின்னரா? முன்னேற்றமா? எவ்வளவு பதிவேற்றம் செய்யப்பட்டது? செயலில் உள்ள பயனர் ஏற்கனவே எதையாவது பார்க்க முடிந்தால் “செயலில் காத்திருப்பு” பயன்படுத்துவது சிறந்தது. இதோ முடிவு:ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

  • பக்கம் ஏற்றப்படுகிறது
  • அனைத்து விலைப்பட்டியல்களும் கோரப்பட்டுள்ளன
  • அதன் பிறகு, செயல்படுத்தப்பட்ட பரிவர்த்தனைகளுக்கான கமிஷன்களுடன் அனைத்து பரிவர்த்தனைகளும் அனைத்து கணக்குகளுக்கும் கோரப்படுகின்றன. தரவு பெறப்பட்டவுடன், அது உலாவியில் வழங்கப்படுகிறது.

ஒவ்வொரு முறையும் நிகழ்வுகளில் உள்ள தரவை வடிகட்டாமல் இருக்க, ஒவ்வொரு கணக்கிற்கும் எங்கள் சொந்த நிகழ்வை இழுக்கிறோம். இது போன்ற:

socket.emit(‘sdk:getOperationsCommissionResult_’ + accountId, {                 items: data?.items,                 in Progress: Boolean(nextCursor), });

தொடங்குவதற்கான வரைவு இங்கே: https://github.com/pskucherov/tcsstat/tree/step3 https://github.com/pskucherov/tcsstat/compare/step2…step3 நகர்கிறது. இந்த வரியை நீங்கள் படித்தது நன்றாக இருக்கிறது! 

ஆர்வமுள்ள தகவல்களின் கணக்கீடு மற்றும் வெளியீடு

யாருக்கு என்ன தகவல் தேவை என்பதைப் பொறுத்தது. எனவே, நீங்கள் சந்திக்கும் முக்கிய நுணுக்கங்களை நான் உடனடியாக உங்களுக்கு சொல்கிறேன்.

விலைகளுடன் வேலை 

பணப் பரிவர்த்தனைகள் முழு எண்களுடன் மட்டுமே செய்யப்பட வேண்டும் என்பது நிதித்துறையில் பணிபுரியும் அனைவருக்கும் தெரியும். தசம புள்ளிக்குப் பிறகு மதிப்புகளின் துல்லியமின்மை மற்றும் அதிக எண்ணிக்கையிலான செயல்பாடுகளுடன் ஒட்டுமொத்த பிழை காரணமாக. அதனால்தான் அனைத்து விலைகளும் பின்வரும் MoneyValue வடிவத்தில் வழங்கப்படுகின்றனப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

களம் வகை விளக்கம்
நாணய லேசான கயிறு சரம் ISO நாணயக் குறியீடு
அலகுகள் int64 கூட்டுத்தொகையின் முழு எண், எதிர்மறை எண்ணாக இருக்கலாம்
நானோ int32 தொகையின் பகுதியளவு, எதிர்மறை எண்ணாக இருக்கலாம்

நாங்கள் அவற்றை தனித்தனியாக செயலாக்குகிறோம், பின்னர் அவற்றை விலை மதிப்புக்கு கொண்டு வருகிறோம்:

quotation.units + quotation.nano / 1e9

எதிர்கால ஒப்பந்தங்களின் விலை

எதிர்கால விலை புள்ளிகளில் வழங்கப்படுகிறது, உங்களிடம் நாணய எதிர்காலம் இருக்கும்போது, ​​நீங்கள் விகிதத்தை அறிந்து கொள்ள வேண்டும். மற்றும் நிச்சயமாக புள்ளிகளில் விலை மற்றும் விலை படி. பரிவர்த்தனைகளிலிருந்து லாபத்தை நீங்கள் கணக்கிடும்போது, ​​இது சுடலாம், ஏனெனில். மொத்தத் தொகையைக் கணக்கிட்டால், விலையை அளவால் பெருக்கி. இங்கே நீங்கள் கவனமாக இருக்க வேண்டும். இப்போதைக்கு, அது எப்படி என்று பார்ப்போம். இது கரன்சி ஃபியூச்சர்களுக்குப் பொருந்தும், மற்ற இடங்களில் இதனுடன் எல்லாம் சரியாக இருக்கும்.ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம். ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

OTC சந்தை

இந்த சந்தையில் நிறைய தனித்தன்மைகள் உள்ளன, எனவே அதன் செயல்பாடுகளை தனித்தனியாக படிப்போம், நீங்கள் செயல்பாடுகளை ஒத்திசைக்கத் தொடங்கும் போது, ​​​​கருவியை சரியாகப் பொருத்துவதற்கு நீங்கள் ஃபிகி / டிக்கரை அதே வடிவத்தில் கொண்டு வர வேண்டும். நீங்கள் இதை தரகு அறிக்கையுடன் ஒத்திசைக்கத் தொடங்கும் போது, ​​அதே பரிவர்த்தனையின் டிரேட் ஐடியில் பரிவர்த்தனைகளில் ஆரம்பத்தில் கடிதங்கள் உள்ளன மற்றும் அவை தரகு அறிக்கையில் இல்லை என்று மாறிவிடும். எனவே, அவற்றை ஒப்பிட முடியாது … அஹம்-அஹம் … ஒப்பீடு மூலம்! நான் வர்த்தக நேரம், டிக்கர் மற்றும் ஒரு டிரேட் ஐடி மற்றொன்றில் உள்ளதைப் பொருத்தினேன். சரி, எனக்குத் தெரியாது. இதை யார் சந்தித்தாலும், அதைப் பற்றி யார் அக்கறை கொண்டாலும், பிரச்சினைக்கு வாருங்கள் அல்லது புதிய ஒன்றைத் தொடங்குங்கள்.ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

கருவிகளில் கணித செயல்பாடுகள்

முழு பட்டியலிலும் கணித செயல்பாடுகளைச் செய்வது, பார்க்காமல் சாத்தியமற்றது. சூடானதை மென்மையாக்காமல் இருக்க, நாங்கள் எப்போதும் நாணயத்தைச் சரிபார்த்து, நாணயம் பொருந்துகிறது என்பதையும், புள்ளிகள் விரும்பிய நாணயமாக மாற்றப்படுவதையும் உறுதிசெய்தால் மட்டுமே செயலாக்குவோம். வங்கி எண்களுடன் பணிபுரிவது பற்றிய அறிவைக் கொண்டு, ஒவ்வொரு கணக்குக்கும் செலவழித்த கமிஷனைக் கணக்கிடுவோம். இது போல்: https://github.com/pskucherov/tcsstat/tree/step4 https://github.com/pskucherov/tcsstat/compare/step3…step4ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.    

மைக்ரோ சர்வீஸ் தயாராக உள்ளது!

https://github.com/pskucherov/tcsstat ஒரு வீட்டுப்பாடமாக, சேவையானது மெதுவான இணைப்பில் இயங்குகிறதா, இணைப்புகள் துண்டிக்கப்படும்போது, ​​இணையம் துண்டிக்கப்படும்போது, ​​பிழைகள் அல்லது தரகரின் வரம்புகள் காலாவதியாகும்போது நீங்கள் சரிபார்க்கலாம். 

எதிர்காலத்திற்கான முடிவுகள் மற்றும் திட்டங்கள்

  • அடிப்படை செயல்பாடுகள் மற்றும் Invest API உடன் பணிபுரிவது பற்றி அறிந்து கொண்டேன்
  • செலவழித்த நேரம் ~ 10 மணிநேரம்
  • சிரம நிலை ~ ஜூனியர்+ / குறைந்த நடுத்தர 

மைக்ரோ சர்வீஸை நீங்கள் தொடர்ந்து செம்மைப்படுத்தினால், இது போன்றவற்றில் நீங்கள் முடிவடையும்

https://opexbot.info

  இது என் வளர்ச்சி, புரிந்து கொள்ள சோம்பேறித்தனமாக, இயங்கி, சொந்தமாக எண்ணுபவர்களுக்கு. பயனர்களின் வேண்டுகோளின் பேரில் அங்கு பகுப்பாய்வுகளைச் சேர்க்க திட்டமிட்டுள்ளேன். கட்டுரை உங்களுக்கு பிடித்திருந்தால், எனது டெலிகிராம் சேனலுக்கு குழுசேரவும் . ப்ரோக்கரேஜ் அறிக்கைகள் மற்றும் கமிஷன்களைக் கணக்கிடுவதை தானியக்கமாக்குவதற்கு Tinkoff Invest API ஐப் பயன்படுத்தி மைக்ரோ சர்வீஸை உருவாக்குகிறோம்.

Pavel
Rate author
Add a comment

  1. Isakiiev

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

    Reply