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
peut-être que vous utilisez u char
dans mon script, j'utilise une chaîne de caractères
Oui, c'était le problème. Maintenant, il compile bien avec la v604. Donc, en fait, nous devons utiliser InternetOpenW et InternetOpenUrlW et concaténer la chaîne de la même manière qu'avant.
Oui, c'était le problème. Maintenant, il compile bien avec la v604. Donc, en fait, nous devons utiliser InternetOpenW et InternetOpenUrlW et concaténer la chaîne de la même manière qu'auparavant.
J'ai utilisé le code ci-dessus, développé par WDHolic, avec succès depuis l'arrivée de la build 600 (merci beaucoup :-)). Malheureusement, lorsque j'ai recompilé le code aujourd'hui, sous la build 830, j'ai constaté qu'il ne fonctionne plus. Je me demande si une personne aimable peut suggérer une modification pour le faire fonctionner à nouveau. Le code que j'utilise est le suivant :
Il semble maintenant qu'il ne renvoie que des espaces.
Toute aide serait la bienvenue. Merci d'avance,
Greg
Y a-t-il une raison de ne pas utiliser WebRequest à la place ?
Seulement, Grabweb est la première méthode que j'ai rencontrée il y a quelques années et il a été plus facile de m'y tenir que d'étudier d'autres options ! Je vais jeter un coup d'œil à WebRequest et voir si je peux l'intégrer dans mon code. Merci beaucoup pour la suggestion - je vous ferai part de mes expériences - si possible réussies :-)
Merci,
Greg
Y a-t-il une raison de ne pas utiliser WebRequest à la place ?
J'utilise WebRequest dans mon alerteur de nouvelles, mais WebRequest souffre d'un défaut qui ne conviendra pas à tout le monde : il ne peut être utilisé que dans un EA.
Extrait de la documentation de WebRequest:
La fonction WebRequest() est asynchrone, ce qui signifie qu'elle interrompt l'exécution du programme et attend la réponse du serveur demandé. Comme les délais de réception d'une réponse peuvent être importants, la fonction n'est pas disponible pour les appels des indicateurs, car les indicateurs s'exécutent dans un thread commun partagé par tous les indicateurs et graphiques sur un symbole. Un retard de performance d'un indicateur sur l'un des graphiques d'un symbole peut arrêter la mise à jour de tous les graphiques du même symbole.
J'utilise WebRequest dans mon alerte de nouvelles, mais WebRequest souffre d'un défaut qui ne conviendra pas à tout le monde : il ne peut être utilisé que dans un EA.
La fonction WebRequest() est asynchrone, ce qui signifie qu'elle interrompt l'exécution du programme et attend la réponse du serveur demandé. Comme les délais de réception d'une réponse peuvent être importants, la fonction n'est pas disponible pour les appels des indicateurs, car les indicateurs s'exécutent dans un thread commun partagé par tous les indicateurs et graphiques sur un symbole. Un retard de performance d'un indicateur sur l'un des graphiques d'un symbole peut arrêter la mise à jour de tous les graphiques du même symbole.
Devrait être synchrone.
Mon besoin actuel est dans un EA, donc WebRequest sera probablement la réponse à court terme.
Cependant, j'ai un certain nombre d'indicateurs qui accèdent aux nouvelles, ce qui signifie que je vais devoir essayer de trouver ce qu'il faut changer dans Grabweb, si je veux qu'ils continuent à être maintenables. Je me demande si les informations contenues dans cet article fourniront la réponse: https://www.mql5.com/en/articles/73 ?
Mon besoin actuel est dans un EA, donc WebRequest sera probablement la réponse à court terme.
Cependant, j'ai un certain nombre d'indicateurs qui accèdent aux nouvelles, ce qui signifie que je vais devoir essayer de trouver ce qu'il faut changer dans Grabweb, si je veux qu'ils continuent à être maintenables. Je me demande si les informations contenues dans cet article apporteront la réponse: https://www.mql5.com/en/articles/73 ?
Je pense avoir trouvé la réponse - et elle était dans l'article mentionné ci-dessus. Le code de GrabWeb ressemble maintenant à ceci :
En gros...
1) j'ai changé la définition de InternetRead pour utiliser une référence indirecte à un tableau uchar pour les données, et aussi pour utiliser une simple variable int directe pour le compte.
2) j'ai fait en sorte que la fonction InternetRead utilise un tableau uchar, puis a converti le tableau rempli en une chaîne de caractères.
Je ne suis pas trop sûr de l'effet de la taille du tableau uchar. Il semble que la page web entière (FFCal XML par exemple) soit lue quoi qu'il en soit, et c'est plus grand que 500 octets. Est-ce qu'il se contente d'utiliser les n octets de mémoire suivants, ou est-ce que le système est assez intelligent pour allouer dynamiquement de l'espace ?
Merci,
Greg
Ce code a fonctionné parfaitement pour moi jusqu'à ce que je le teste dans MT4 build 600, où il ne vérifie plus les comptes de mon serveur.
Bonjour les gars, s'il vous plaît, à quoi sert ce code, est-ce un indicateur ou un EA ? J'ai essayé de l'exécuter dans l'éditeur mql4 et j'ai obtenu le message d'erreur suivant :
'User - undeclared identifier' (Utilisateur - identifiant non déclaré)
Il s'agit en fait de la ligne de code suivante :
(Ligne : 112) GrabWeb("http://www.website.com/query.php?accountnumber="+AccountNumber()+"&login="+User, answer) ;
Comment déclarer le "User" pour qu'il soit accepté par le programme ou par quoi puis-je remplacer le "User" ?
J'utilise Windows 8.1, OS 64 bit, et MT4 version 4.00, build 1010.
Merci d'avance.