prostotrader: Le temps que vous obteniez vos données dans la fonction OnCalculate, vous aurez perdu votre pantalon !
Vous ne comprenez pas : j'ai des indicateurs et le but de l'indicateur est la visualisation. Dans ce cas, il n'est pas nécessaire d'avoir un verre excessivement "nerveux". Je dis plus - le verre est même indésirable ici.
JSC ''Brokerage House ''OTKRYTIE'' ;, MetaTrader 5, Real
Corrélation entre la direction de la tendance RTS-9.16, le volume total des positions ouvertes et la différence entre le volume des ordres d'achat en ce moment et le volume des ordres de vente en ce moment.
Pour l'indicateur Open Interest j'ai introduit une petite modification : maintenant, après le premier démarrage, si prev_calculate==0, l'indicateur ne réinitialisera pas ses tampons d'indicateurs. Qu'est-ce que j'obtiens : par exemple, vous attachez un indicateur à un graphique, l'indicateur fonctionne pendant un certain temps et soudain prev_calculate==0 (peut-être qu'il y a eu un échec de connexion, ou quelque chose s'est passé avec l'historique) - dans ce cas, l'indicateur ne réinitialisera pas ses tampons d'indicateur et il continuera à fonctionner comme si rien ne s'était passé.
Mise en œuvre :
dans la zone de déclaration des variables globales du programme, il y a une variable"StartDate" :
double BufferMinDown[];
//---datetime StartDate=0;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
ensuite, au premier démarrage (à prev_calculated==0), la valeur de la variable "StartDate" est vérifiée : si sa valeur est inférieure à D'2015.01.01 00:00' - il s'agit du premier démarrage de l'indicateur, et la variable "StartDate" est affectée à la dernière heure connue du serveur
J'ai une autre question concernant l'utilisation des constantes SYMBOL_SESSION_SELL_ORDERS_VOLUME et SYMBOL_SESSION_INTEREST. Lors de l'utilisation de l'indicateur posté dans ce fil, les données sur ces constantes sont plongées, évidemment pour tester leur utilisation sur l'historique vous devez créer un Expert Advisor. Lorsque l'on reçoit ces constantes via SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME) pas dans OnCalculate() la sortie est nulle.
Personnellement, je veux prendre un moyen simple sans trop compliquer le code. Peut-on l'obtenir seulement pour l'indicateur et respectivement seulement dans OnCalculate(), et on ne peut pas l'obtenir sur l'historique, puisque les données ne peuvent être obtenues que pour la barre courante ?
Veuillez répondre dans ce sujet et ne déplacez pas le message, car il est impossible de trouver la réponse plus tard, d'autant plus que la question est dans le sujet.
Je pense avoir compris la réponse à ma question et le titre du sujet, j'ai exécuté l'EA en temps réel, tout fonctionne sur l'historique non. Ainsi, la question de savoir comment obtenir les valeurs de l'OI et le volume des ordres d'achat/de vente sur l'historique est répondue - pas moyen....
Pourquoi faites-vous ça ?
Je compare deux indicateurs sur les instruments d'échange :
Je compare deux indicateurs sur les instruments d'échange :
C'est clair, mais à quoi servent ces deux tableaux ?
Qu'allez-vous faire d'eux ?
C'est compréhensible, mais à quoi servent ces deux graphiques ?
Qu'allez-vous faire d'eux ?
Il y a deux réponses ici (vous pouvez les considérer dans le concept de AND, OR, OR OR- généralement à votre convenance) :
Il y a deux réponses ici (vous pouvez les considérer en termes de ET, OU, OU - généralement à votre convenance) :
Le temps que vous obteniez vos données dans la fonction OnCalculate, vous aurez perdu votre pantalon !
Impossible d'en capturer davantage, car les relevés des indicateurs sont réinitialisés lorsque la connexion est interrompue :
Captures d'écran de la plateforme de négociation MetaTrader
RTS-9.16, M1, 2016.09.12
JSC ''Brokerage House ''OTKRYTIE'' ;, MetaTrader 5, Real
Corrélation entre la direction de la tendance RTS-9.16, le volume total des positions ouvertes et la différence entre le volume des ordres d'achat en ce moment et le volume des ordres de vente en ce moment.
Pour l'indicateur Open Interest j'ai introduit une petite modification : maintenant, après le premier démarrage, si prev_calculate==0, l'indicateur ne réinitialisera pas ses tampons d'indicateurs. Qu'est-ce que j'obtiens : par exemple, vous attachez un indicateur à un graphique, l'indicateur fonctionne pendant un certain temps et soudain prev_calculate==0 (peut-être qu'il y a eu un échec de connexion, ou quelque chose s'est passé avec l'historique) - dans ce cas, l'indicateur ne réinitialisera pas ses tampons d'indicateur et il continuera à fonctionner comme si rien ne s'était passé.
Mise en œuvre :
dans la zone de déclaration des variables globales du programme, il y a une variable"StartDate" :
ensuite, au premier démarrage (à prev_calculated==0), la valeur de la variable "StartDate" est vérifiée : si sa valeur est inférieure à D'2015.01.01 00:00' - il s'agit du premier démarrage de l'indicateur, et la variable "StartDate" est affectée à la dernière heure connue du serveur
sinon, il renvoie simplement "taux_total".
J'ai une autre question concernant l'utilisation des constantes SYMBOL_SESSION_SELL_ORDERS_VOLUME et SYMBOL_SESSION_INTEREST. Lors de l'utilisation de l'indicateur posté dans ce fil, les données sur ces constantes sont plongées, évidemment pour tester leur utilisation sur l'historique vous devez créer un Expert Advisor. Lorsque l'on reçoit ces constantes via SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME) pas dans OnCalculate() la sortie est nulle.
Personnellement, je veux prendre un moyen simple sans trop compliquer le code. Peut-on l'obtenir seulement pour l'indicateur et respectivement seulement dans OnCalculate(), et on ne peut pas l'obtenir sur l'historique, puisque les données ne peuvent être obtenues que pour la barre courante ?
Veuillez répondre dans ce sujet et ne déplacez pas le message, car il est impossible de trouver la réponse plus tard, d'autant plus que la question est dans le sujet.