Quels instruments négocier chez Otkritie - page 9

 
Anton Zverev:

Je dois écrire une fonction qui renvoie les ticks d'une date à l'autre. En cas de succès, elle serait vraie, sinon elle serait fausse.

Et je n'arrive pas à écrire une telle absurdité. Parce que je ne sais pas quoi faire avec l'asynchronie. L'exemple de Renat à travers OnTimer est probablement une option. Mais certainement pas de la façon dont il a cité. OnTimer peut être utilisé pour beaucoup de choses.

En bref, une fonction élémentaire de date à date peut être introduite pour que cela fonctionne.

Lesvolumes de ticks des barres sont complètement incohérents avec ce qui se trouve dans les copyticks, donc il n'est pas clair combien de ticks il faut interroger.

Le script demande des données à partir d'une certaine date.

Voici le résultat de deux exécutions du script à quelques minutes d'intervalle :

2016.04.22 11:32:38.538 CopyTicks_1_02 (RTS-6.16,H3)    Получено тиков: 409 код ошибки: 0
2016.04.22 11:32:38.538 CopyTicks_1_02 (RTS-6.16,H3)    Тик: 2016.04.22 11:30:00 bid: 92480.0 ask: 92540.0 last: 92520.0 [0]
2016.04.22 11:32:38.538 CopyTicks_1_02 (RTS-6.16,H3)    Тик: 2016.04.22 11:32:38 bid: 92380.0 ask: 92390.0 last: 92380.0 [408]
2016.04.22 11:32:38.538 CopyTicks_1_02 (RTS-6.16,H3)    Size 0 Mb
2016.04.22 11:34:26.502 CopyTicks_1_02 (RTS-6.16,H3)    Получено тиков: 632 код ошибки: 0
2016.04.22 11:34:26.502 CopyTicks_1_02 (RTS-6.16,H3)    Тик: 2016.04.22 11:30:00 bid: 92480.0 ask: 92540.0 last: 92520.0 [0]
2016.04.22 11:34:26.502 CopyTicks_1_02 (RTS-6.16,H3)    Тик: 2016.04.22 11:34:26 bid: 92410.0 ask: 92440.0 last: 92420.0 [631]
2016.04.22 11:34:26.502 CopyTicks_1_02 (RTS-6.16,H3)    Size 0 Mb

C'est-à-dire que les ticks sont demandés à partir d'une certaine date jusqu'au moment actuel.

Dossiers :
 
Karputov Vladimir:

Le script demande des données à partir d'une certaine date.

C'est le résultat de deux exécutions du script à quelques minutes d'intervalle :

C'est-à-dire que les ticks sont demandés à partir d'une certaine date jusqu'au moment actuel.

Je ne comprends pas pourquoi vous citez un code qui est inférieur à la documentation en termes d'informations. Merci, bien sûr. Mais ce n'est pas du tout ce que j'ai demandé.

Le code de Renate est bien meilleur, mais ce n'est pas du tout le même.

 
Renat Fatkhullin:

Non, tous les ticks précédemment téléchargés pour chaque serveur de transaction sont mis en cache localement et extraits automatiquement.

Il y a une capture d'écran des fichiers tick sur la page précédente.

Merci, je n'ai pas étudié le dossier Bases en détail.

Comment puis-je demander des copyticks dans OnTester pour obtenir tous les ticks qui ont été passés ?

 
Anton Zverev:
Comment interroger les copyticks dans OnTester pour obtenir tous les ticks qui ont été passés ?

Dans la version bêta actuelle (la version d'aujourd'hui), appelez CopyTicks et obtenez les dernières dizaines de milliers de ticks.

Le testeur utilise un tampon en anneau pour stocker les ticks sans avoir la possibilité d'obtenir des millions de ticks. Il est coûteux de stocker tous les ticks, d'où le tampon circulaire. Peut-être pouvons-nous changer ce comportement.

 
Anton Zverev:

Je ne comprends pas pourquoi vous citez un code qui est moins informatif que la documentation elle-même. Merci, bien sûr. Mais ce n'est pas du tout ce que j'ai demandé.

Le code de Renate est bien meilleur, mais pas du tout.

Mon code est juste pour démontrer le principe "pour obtenir des ticks très profonds, vous devez appeler CopyTicks plusieurs fois pour attendre la pagination". OnTimer est bon pour cela.
 
Renat Fatkhullin:

Dans la version bêta actuelle (la version d'aujourd'hui), appelez CopyTicks et obtenez les dernières dizaines de milliers de ticks.

Le testeur utilise un tampon en anneau pour stocker les ticks sans avoir la possibilité d'obtenir des millions de ticks. Il est coûteux de stocker tous les ticks, d'où le tampon circulaire. Nous pouvons cependant changer ce comportement.

Comment pouvons-nous déterminer la taille du tampon circulaire sans avoir à interroger à chaque tick (très coûteux à faire dans le testeur) les copyticks ?

Disons que le tampon de l'anneau est de 10000. Puis j'appellerai les copyticks tous les 10000 pour m'assurer qu'il n'y a pas de sauts. Mais il y a un problème sous la forme de ticks avec un temps (avec une précision à la msec). Je les ai sur l'échange. Je ne veux pas les compter deux fois, en demandant des copies de ce temps en ms.

 
Renat Fatkhullin:
Mon code est juste pour démontrer le principe "pour obtenir des ticks très profonds, vous devez appeler CopyTicks plusieurs fois pour attendre la pagination". OnTimer s'y prête bien.

Je me suis rendu compte que c'était à des fins de démonstration. C'est pourquoi OnCopyTicks m'est venu immédiatement à l'esprit.

Aidez-moi, j'ai des problèmes avec l'un ou l'autre.

Anton Zverev:

J'ai besoin d'écrire une fonction qui renverrait les ticks d'une date à une autre. En cas de succès, il serait vrai, sinon il serait faux.

 
Anton Zverev:

Je ne comprends pas pourquoi vous donnez du code qui est moins informatif que même la documentation. Merci, bien sûr. Mais ce n'est pas du tout ce que j'ai demandé.

Le code de Renate est bien meilleur, mais ce n'est pas du tout le même.

Si vous avez besoin d'aller de (ancienne date) à (jeune date), vous devez le faire comme ceci :

L'interrogation se fait par ticks (avec une marge) à partir de la "vieille date". Dans le tableau reçu, allez de l'index "0" et vérifiez la date. Dès que vous trouvez la première occurrence (jeune date), vous la mémorisez (index jeune date). À ce stade, vous avez déterminé que le tableau des ticks de l'indice 0 à (indice jeune date) contient les ticks que vous voulez.

 
Il serait bien d'ajouter une fonction permettant de vérifier l'état des ticks téléchargés/injectés - dans la base de données du terminal local. Quelque chose comme CheckXXX( symbole ). Pour que vous n'ayez pas à tirer sur la photocopieuse tout le temps.
 
Karputov Vladimir:

Si vous voulez passer de (date ancienne) à (date récente), procédez comme suit :

L'interrogation se fait par ticks(avec une marge) à partir de la "vieille date". Dans le tableau reçu, partez de l'index "0" et vérifiez la date. Dès que vous trouvez la première occurrence (jeune date), vous la mémorisez (indice jeune date). À ce stade, vous avez déterminé que le tableau des ticks de l'indice 0 à (indice jeune date) contient les ticks que vous voulez.

Avec une marge, c'est du gaspillage. Je fais une demande par défaut (2000 ticks, je pense), et je continue à partir du point (il est facile d'obtenir des ticks dupliqués), où j'ai fini.

Je ne comprends pas pourquoi les développeurs eux-mêmes ne proposent pas une telle fonction. Pourquoi ne pas surcharger les copyticks avec une autre option de travail ?

Raison: