Erreurs, bugs, questions - page 1548
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Ok, regardez de l'autre côté alors.
Vous pouvez mettre artificiellement en parallèle - en plaçant le deuxième indicateur sur le graphique.
Et en accédant à la GlobalVariableSetOnCondition à partir des deux.
Je ne comprends pas.
Le deuxième indicateur est un signal qui envoie des événements de ChartEvent à l'indicateur principal comme un personnalisé + change l'état de la variable globale par exemple par le temps en ms.
Dans l'indicateur principal, vous attrapez cet événement et commencez le calcul, + regardez la variable globale pour vous assurer qu'elle a le même temps ms que celui avec lequel vous avez commencé le calcul.
Si l'heure qui y figure a changé, cela signifie qu'un nouvel événement est arrivé - et vous brisez votre calcul actuel.
comme ça.
---
Ou vous pouvez simplement changer le ms dans le gp à chaque événement graphique, et le contrôler uniquement dans l'indicateur principal.
en général - le deuxième indicateur va paralléliser
Bonjour, un peu d'aide pour un débutant. Je n'arrive pas à gérer l'événement OnBookEvent.
Si vous appelez cet événement depuis onTick(), alors tout fonctionne. Si onTick() est vide, alors rien ne fonctionne. Je ne comprends rien, OnBookEvent est appelé lorsqu'il y a un changement dans le verre, c'est-à-dire qu'il s'agit d'un gestionnaire d'événement séparé, essentiellement de la même manière que onTick() est appelé lorsqu'un tick se produit. Pourquoi ça ne marche pas ?
Voici comment cela fonctionne. Comment ça marche, il imprime "N'importe quoi" quand un tick se produit, pas quand il y a un changement dans la tasse. Par exemple, le volume des offres a changé, à un certain prix, le gestionnaire OnBookEvent pour le changement de la coupe devrait être appelé, mais cela ne se produit pas. Si onTick() est laissé vide, il n'y aura même pas d'impression.
int OnInit()
{
if ! MarketBookAdd("RTS-6.16" )
{
Print("Erreur ",GetLastError() ) ;
}
sinon
{
Print("Done") ;
}
void OnDeinit(const int reason)
{
MarketBookRelease("RTS-6.16") ;
}
void OnTick()
{
OnBookEvent(_Symbol) ;
}
void OnBookEvent(const string &symbol)
{
MqlBookInfo book[] ;
MarketBookGet("RTS-6.16", book) ;
si(ArraySize(book) == 0)
{
printf("Failed load market book price. Reason : " + (string)GetLastError()) ;
retour ;
}
Print("N'importe quoi") ;
}
Erreur dans l'aide https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
SL & TP Modification
Un ordre de transaction pour modifier les niveaux StopLoss et/ou TakeProfit. 4 champs sont requis :
-action
-symbole
-sl
-tp
-position
Erreur dans l'aide https://www.mql5.com/ru/docs/constants/structures/mqltraderequest
Ajout de laposition du champ mais le nombre de champs à remplir est toujours de 4.Alexey, il ne sert à rien d'écrire ici, vous devez envoyer une demande à Servisdek. En même temps, il sera + à l'évaluation )
vous mettez le deuxième indicateur un signal qui vous envoie à l'indicateur principal comme un événement personnalisé de ChartEvent + changer l'état de la variable globale par exemple par le temps en ms
Dans l'indicateur principal, vous attrapez cet événement et commencez le calcul, + regardez la variable globale pour vous assurer qu'elle a le même temps ms que celui avec lequel vous avez commencé le calcul.
Si le temps qui y figure a changé, alors un nouvel événement est arrivé - et vous rompez votre calcul actuel.
comme ça.
---
Ou vous pouvez utiliser le signal pour changer le ms en gp à chaque événement graphique, et le contrôler uniquement dans l'indicateur principal.
en général - le deuxième indicateur va paralléliser
Je l'ai, merci. Malheureusement, cette solution ne fonctionne que dans un Expert Advisor (dans lequel le calcul doit être interrompu). Cela ne fonctionnera pas dans l'indicateur, car l'appel de l'indicateur sur le graphique ne crée pas une file d'attente de graphiques parallèles, il ne joint même pas un graphique spécifique, mais TOUS les graphiques de ce symbole.
Comment mettre l'indicateur comme ressource MQ5 au lieu de ressource EX5 ?
Compris, merci. Malheureusement, cette solution ne fonctionnera que dans Expert Advisor (dans lequel le calcul doit être interrompu). Cela ne fonctionnera pas dans l'indicateur, parce que l'appel de l'indicateur sur le graphique ne crée pas une file d'attente graphique parallèle, il entre dans la même file d'attente d'événements, pas même pour un graphique spécifique, mais pour TOUS les graphiques de ce symbole.
Comment faire passer l'indicateur comme ressource MQ5 au lieu de ressource EX5 ?