[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 323
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
Alors... Comment cela fonctionne-t-il ? Si ce n'est pas un secret...
Faites une recherche google sur le site - trading on nonstandard TF site:mql4.com et des variantes comme "advisor on equi (stand-alone) chart, etc".
Ou attendez que Junko ne le supporte plus et vous l'explique personnellement :))
Alors... COMMENT LE FAIRE ?
Ce n'est pas un secret. Il y a beaucoup d'écrits à ce sujet. Peu importe l'outil utilisé pour créer l'histoire. L'objectif est de mettre à jour le graphique pour que le conseiller expert puisse travailler dessus.
Cela peut être fait au moyen de WinAPI. Il a été décrit ici à de nombreuses reprises. J'ai écrit une bibliothèque. Je l'ai posté ici.
Il contient des fonctions permettant de contrôler la mise à jour autonome de la carte. Il ne nécessite aucun script ou expert. Mais ce n'est pas pour tout le monde. Des fonctions sont également à la disposition de tous pour mettre à jour le graphique à partir d'un Expert Advisor, d'un script ou d'un indicateur. Il est plus difficile de les utiliser. Parce que vous devez déterminer lequel de vos programmes va mettre à jour le tableau. Des exemples sont dans le script de test.
Chers programmeurs.
Pouvez-vous nous conseiller sur la façon de configurer les valeurs des niveaux de moyenne mobile affichées sur la barre actuelle ?
Je ne parle pas de la valeur de la moyenne mobile elle-même, mais des valeurs de ses niveaux (écarts par rapport à celle-ci vers le haut et vers le bas, qui sont définis dans l'onglet "Niveaux" du menu МА).
Ces valeurs suivront les niveaux MA et changeront d'elles-mêmes.
La figure est l'une des variantes possibles.
Merci d'avance.
J'ai déjà compris le mystère). J'ai lu les articles et j'ai parcouru le forum et la recherche. Je ne trouve pas la description de l'utilisation des graphiques non standard dans le testeur de stratégie, mais je n'ai pas trouvé d'exemple, que dois-je faire pour permettre au conseiller expert de travailler en temps réel sur un tel graphique.
WinAPI est une forêt sombre pour moi. Existe-t-il un moyen de faire quelque chose dans mql4 à l'intérieur du constructeur ou de son Expert Advisor, ou de combiner le constructeur et l'Expert Advisor ?
Je n'ai aucune idée de la façon dont je pourrais l'utiliser comme conseiller expert à l'avenir.
nickbilac 03.09.2007.
...Pour qu'un Conseiller Expert fonctionne sur un graphique autonome, vous devez ajouter :
au début du départ :
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message") ; //titre à venir pour les EAs
après le premier PostMessageA
PostMessageA(hwnd,MT4InternalMsg,2,1) ; //titre à venir pour les EAs
et dans WinUser32.mqh dans les descriptions des fonctions de user32.dll :
int RegisterWindowMessageA(string lpString) ;
(cette solution a été suggérée par Slava sur le forum anglais)
RefreshRates() ;
ticket=OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),0,NormalizeDouble(Ask+15*Point,Digits),0, "test",8,0, red) ;
Je serais très reconnaissant aux développeurs de me faire part de leurs commentaires.
granit77:
Когда я говорил о тайне, то имел в виду великую тайну поиска. Она заключается в том. что надо ПРОЧИТАТЬ материалы, на которые он покажет. Ссылки уже боюсь давать, привожу готовый текст.
nickbilac 03.09.2007
... pour que les experts travaillent sur un programme autonome, vous devez ajouter :
au début du départ :
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message") ; //titre à venir pour les EAs
après le premier PostMessageA
PostMessageA(hwnd,MT4InternalMsg,2,1) ; //titre à venir pour les EAs
Et dans WinUser32.mqh dans les descriptions des fonctions user32.dll ajouter :
int RegisterWindowMessageA(string lpString) ;
RefreshRates() ; avant le billet aidera-t-il à réduire un peu les requêtes ?
Cela dépend de la situation. Si vous avez deux commandes consécutives, il est judicieux d'appeler RefreshRates() avant de définir la deuxième commande. Ecoutez, vous envoyez un ordre au serveur pour ouvrir un ordre. Un certain temps s'écoulera pendant que le serveur réagit. Pendant ce temps, les cotes peuvent changer, donc dès que le serveur a répondu, nous devons appeler RefreshRates(), qui met à jour les données dans le terminal. Maintenant nous pouvons donner un ordre pour ouvrir la commande suivante. Si nous vérifions simplement l'existence d'un signal et plaçons immédiatement un ordre, il n'y a aucune raison d'appeler RefreshRates(). La raison est que la fonction de démarrage est appelée à l'arrivée d'un nouveau tick et nous pouvons négliger le temps jusqu'à ce que l'EA vérifie le signal.
Mais qu'est-ce que le billet a à voir avec ça ? Le ticket est le numéro de commande sur le serveur...
Eh bien, je voulais dire ticket=OrderSend(......)
Et qu'est-ce qu'ils t'ont dit ? ...