لقد وجدت مقال المستخدمErhoSen... من ذلك ، علمت أن وسيط Tinkoff Investments يقدم لعملائه واجهة برمجة تطبيقات للتفاعل مع حساب وساطة مع حساب استثمار فردي (IIS). بمساعدتها ، يمكنك الحصول على قائمة بالأسهم ، وأزواج العملات ، ومعرفة سعر الورقة المالية عن طريق المؤشر ، وعرض قائمة معاملات الحساب ، والحصول على معلومات حول محفظتك ، وما إلى ذلك ومع ذلك ، كنت أفتقر إلى الوظائف الحالية للبرنامج النصي وقررت إضافته بإضافة وظائفي هناك.
الحصول على رمز
يتم عمل API من خلال رمز مميز. تم وصف عملية الحصول على رمز مميز في الوثائق الموجودة على GitHub . للحصول عليها تحتاج:
- انتقل إلى موقع Tinkoff وقم بتسجيل الدخول إلى حسابك.
- تأكد من تعطيل وظيفة "تأكيد الرمز".
- قم بالتمرير لأسفل الصفحة إلى رمز العنصر الخاص بـ OpenAPI وانقر فوق "الرمز المميز للتداول"
- انسخ الرمز المميز واحفظه. يتم عرضها مرة واحدة فقط ، ولكن يمكنك إصدار عدد غير محدود من الرموز المميزة.
بعد استلام الرمز المميز ، يمكنك البدء في العمل مع الجدول. اتبع الرابط وانسخ الجدول الذي ستحتفظ فيه بالسجلات.
الصق الرمز المميز في الخلية B1 في ورقة الإعدادات.
مهم! بعد إدخال الرمز المميز ، لا تحذف أو تعيد تسمية ورقة "الإعدادات". إذا ظهر سعر الدولار الحالي في الخلية B3 - تهانينا ، كل شيء جاهز للعمل.
الوظائف الرئيسية للنص :
- getPrice () - احصل على القيمة الحالية للأداة من خلال المؤشر
- getTrades (شريط الأسهم) - احصل على قائمة بجميع المعاملات لأداة معينة. بين قوسين ، يجب أن تشير إلى شريط الأداة الذي تريد أن ترى قائمة العمليات الخاصة به
- getAllTrades() — .
- getPortfolio() —
- getCurrencies() —
- getTradesIIS (ticker) — (). ,
- getAllTradesIIS() — ().
- getIISPort() —
- getCurrenciesIIS() —
- getUSDval() — ( )
بعد تلقي البيانات الضرورية ، يمكنك نسخ القيم التي تم الحصول عليها ومتابعة العمل معهم على أوراق أخرى أو في جدول آخر ، بما في ذلك Excel-e.
مثال على كيفية عمل وظيفة getPortfolio للحصول على محفظة
تحديث البيانات اليدوي
بشكل افتراضي ، لا توفر Google أداة لتحديث البرامج النصية المخصصة ، لذلك اضطررت إلى استخدام حل من جهة خارجية. لكي تتمكن من تحديث البيانات بالنقر فوق ، عند استخدام الوظائف الموجودة بين قوسين ، تحتاج إلى تعيين الخلية $ Z $ 1 ، التي تسجل التاريخ والوقت الحاليين ، اللذين يتم استخدامهما لاحقًا للتحديث اليدوي. سأقدم أدناه جزءًا من التعليمات البرمجية المسؤولة عن تحديث البيانات.
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet()
var entries = [{
name : "",
functionName : "refresh"
}]
sheet.addMenu("TI", entries)
};
function refresh() {
SpreadsheetApp.getActiveSpreadsheet().getRange('Z1').setValue(new Date().toTimeString());
}
أولاً ، تحتاج إلى النقر فوق الزر "تحديث" في القائمة الفرعية TI (يظهر على يمين علامة التبويب "تعليمات").
بعد ذلك ، ستظهر نافذة تحذير:
انقر فوق متابعة . بعد ذلك ، ستظهر نافذة تحذير أخرى ، حيث ستحتاج إلى النقر فوق الإعدادات المتقدمة وفي الحقل الذي يفتح ، حدد الانتقال إلى صفحة "Tinkoff Invest" (غير آمنة) :
يجب تنفيذ هذه الإجراءات لأن البرنامج النصي لتغيير قيمة الخلية Z1 يجب أن يصل أولاً إلى الجدول الحالي بحيث يتم تنفيذها فيه فقط. بعد ذلك ، لدينا الفرصة لتحديث البيانات الموجودة في الجدول عند الطلب. مثال على تحديث يدوي لوظيفة getPrice ("AMD" ؛ $ Z $ 1):
تنبيه!لن يتمكن مطور هذا البرنامج النصي من الوصول إلى حساب Google الخاص بك ، أو قائمة الجداول في Drive ، أو الرمز المميز. إذا كنت قلقًا بشأن أمان بياناتك ، فيمكنك نسخ البرنامج النصي الخاص بي ولصقه في جدولك. للقيام بذلك ، في جداول بيانات Google ، افتح جدول البيانات الخاص بك وفي القائمة العلوية ، انقر فوق أدوات ، ثم على محرر البرنامج النصي .
سيؤدي هذا إلى فتح بيئة البرمجة النصية من Google. امسح الرمز الافتراضي في النافذة ، وانسخ الرمز من الرابط والصقه في النافذة.
بعد ذلك ، احفظ البرنامج النصي ، مع إعطاء أي اسم للمشروع والبرنامج النصي نفسه. ثم ارجع إلى الجدول ، وأنشئ ورقة "إعدادات" وفي الخلية B1 الصق رمز OpenAPI المميز الخاص بك. بعد ذلك يمكنك العمل مع الطاولة.
خاتمة
اريد ان اعبر عن امتناني ErhoSenلله المادة وشفرة المصدر، والتي تم تعديلها من قبلي.
أيضًا للاستخدام الشخصي ، قمت بإنشاء روبوت Telegram ، مع خطط للمستقبل لإحضار هذه الفكرة إلى الذهن إذا وجدت الفكرة استجابة. يكون الروبوت مناسبًا في الحالات التي لا تريد فيها إضاعة الوقت في الدخول إلى تطبيق Tinkoff Investments ، والذي غالبًا ما يجلس على جهاز كمبيوتر محمول ولا يريد تسجيل الدخول باستمرار إلى الموقع ، أو تخزين محفوظات التغييرات في محتويات المحفظة.