J'ai trouvé un article d' utilisateurErhoSen... De là , j'ai appris que le courtier Tinkoff Investments propose à ses clients une API pour interagir avec un compte de courtage avec un compte d'investissement individuel (IIS). Avec son aide, vous pouvez obtenir une liste d'actions, de paires de devises, connaître le prix d'un titre par ticker, afficher une liste des transactions de compte, obtenir des informations sur votre portefeuille, etc. Cependant, je n'avais pas la fonctionnalité existante du script et j'ai décidé de l'ajouter en y ajoutant mes fonctions.
Obtenir un jeton
Le travail de l'API est effectué via un jeton. Le processus d'obtention d'un jeton est décrit dans la documentation sur GitHub . Pour l'obtenir, vous avez besoin de:
- Accédez au site Web de Tinkoff et connectez-vous à votre compte.
- Assurez-vous que la fonction «Confirmation des offres par code» est désactivée.
- Faites défiler la page jusqu'au jeton d'objet pour OpenAPI et cliquez sur «Jeton pour le trading»
- Copiez et enregistrez le jeton. Il ne s'affiche qu'une seule fois, mais vous pouvez émettre un nombre illimité de jetons.
Après avoir reçu le jeton, vous pouvez commencer à travailler avec la table. Suivez le lien et copiez le tableau dans lequel vous conserverez des enregistrements.
Collez votre jeton dans la cellule B1 de la feuille Paramètres.
Important! Après avoir inséré le jeton, ne supprimez ni ne renommez la feuille «Paramètres». Si le taux actuel du dollar apparaît dans la cellule B3 - félicitations, tout est prêt.
Les principales fonctions du script :
- getPrice () - récupère la valeur actuelle de l'instrument par le ticker
- getTrades (ticker) - obtenir une liste de toutes les transactions pour un instrument spécifique. Entre parenthèses, vous devez indiquer le ticker de l'instrument pour lequel vous souhaitez voir la liste des opérations
- getAllTrades() — .
- getPortfolio() —
- getCurrencies() —
- getTradesIIS (ticker) — (). ,
- getAllTradesIIS() — ().
- getIISPort() —
- getCurrenciesIIS() —
- getUSDval() — ( )
Après avoir reçu les données nécessaires, vous pouvez copier les valeurs obtenues et continuer à les utiliser sur d'autres feuilles ou dans un autre tableau, y compris Excel-e.
Un exemple du fonctionnement de la fonction getPortfolio pour obtenir un portfolio
Mise à jour manuelle des données
Par défaut, Google ne fournit pas d'outil pour mettre à jour les scripts personnalisés, j'ai donc dû utiliser une solution tierce. Pour pouvoir mettre à jour les données en cliquant, lorsque vous utilisez des fonctions entre parenthèses, vous devez définir la cellule $ Z $ 1, qui enregistre la date et l'heure actuelles, qui sont ensuite utilisées pour la mise à jour manuelle. Ci-dessous, je présenterai un morceau de code responsable de la mise à jour des données.
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());
}
Tout d'abord, vous devez cliquer sur le bouton Mettre à jour dans le sous-menu TI (apparaît à droite de l'onglet Aide).
Après cela, une fenêtre d'avertissement apparaîtra:
Cliquez sur Continuer . Ensuite, une autre fenêtre d'avertissement apparaîtra, où vous devrez cliquer sur Paramètres avancés et dans le champ qui s'ouvre, sélectionnez Aller à la page "Tinkoff Invest" (unsafe) :
Ces actions doivent être effectuées car le script pour changer la valeur de la cellule Z1 doit d'abord accéder au tableau actuel de sorte qu'il ne soit exécuté qu'en lui. Après cela, nous avons la possibilité de mettre à jour les données du tableau sur demande. Un exemple de mise à jour manuelle de la fonction getPrice ("AMD"; $ Z $ 1):
ATTENTION!Le développeur de ce script n'aura pas accès à votre compte Google, à la liste des tables dans Drive ou au jeton. Si vous êtes préoccupé par la sécurité de vos données, vous pouvez copier mon script et le coller dans votre tableau. Pour ce faire, dans Google Sheets, ouvrez votre feuille de calcul et dans le menu du haut, cliquez sur Outils , puis sur l' éditeur de script .
Cela ouvrira l'environnement de script google. Effacez le code par défaut dans la fenêtre, copiez le code du lien et collez-le dans la fenêtre.
Après cela, enregistrez le script, en donnant un nom au projet et au script lui-même. Revenez ensuite au tableau, créez une feuille «Paramètres» et dans la cellule B1 insérez votre token pour OpenAPI. Après cela, vous pouvez travailler avec la table.
Conclusion
Je veux exprimer ma gratitude ErhoSenpour son article et le code source, qui a été modifié par moi.
Aussi pour un usage personnel, j'ai créé un robot Telegram, avec des plans pour l'avenir pour rappeler cette idée si l'idée trouve une réponse. Le bot est pratique dans les cas où vous ne voulez pas perdre de temps à entrer dans l'application Tinkoff Investments, qui s'assoit souvent à un ordinateur portable et ne veut pas constamment se connecter au site, ou pour stocker l'historique des modifications du contenu du portefeuille.