[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 718
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
Vous lisez le fichier ligne par ligne et vous attribuez des valeurs à vos variables à chaque fois. Lorsque le fichier se termine, les variables auront les dernières valeurs.
Comment mettre cela en œuvre ?
Je ne sais pas quoi utiliser
Comment mettre cela en œuvre ?
Je ne sais pas quoi utiliser
Beaucoup de choses ont déjà été écrites et réécrites à ce sujet, essayez https://www.mql5.com/ru/forum/118349.
Encore une fois, bonne nuit ! J'ai récemment commencé à écrire un EA multidevises qui ouvre des ordres sur une paire de devises et qui ouvre des ordres sur une autre paire.
J'ai arraché le stop suiveur le plus proche de l'EA et j'ai commencé à jouer avec, mais cela n'a pas fonctionné. Voici le code :
Voici ce que je n'arrive pas à comprendre. Comme le conseiller expert est un conseiller expert multidevises, il ouvre les ordres pour les devises de manière imprévisible et les ouvre parfois au même moment pour plusieurs devises.
Dans le code qui suit, je calcule les ordres ouverts pour(int i=0 ; i<OrdersTotal() ; i++) et ensuite je sélectionne les ordres OrderSelect etc. Je comprends que chaque ordre ouvert pour une certaine paire de devises nécessite des données bid, ask, etc. Mais ici je veux savoir quelles données charger et comment sélectionner un ordre pour les changements. Je n'ai qu'une seule variante à l'esprit, la pire étant d'écrire un stop suiveur pour chaque devise) Veuillez me conseiller sur ce qui peut être fait.
Encore une fois, bonne nuit ! J'ai récemment commencé à écrire un EA multidevises qui ouvre des ordres sur une paire de devises et qui ouvre des ordres sur une autre paire.
J'ai arraché le stop suiveur le plus proche de l'EA et j'ai commencé à jouer avec, mais cela n'a pas fonctionné. Voici le code :
Voici ce que je n'arrive pas à comprendre. Comme le conseiller expert est un conseiller expert multidevises, il ouvre les ordres pour les devises de manière imprévisible et les ouvre parfois au même moment pour plusieurs devises.
Dans le code de suivi, je calcule les ordres ouverts pour(int i=0 ; i<OrdersTotal() ; i++) et ensuite la sélection des ordres OrderSelect etc. Je comprends que chaque ordre ouvert pour une certaine paire de devises nécessite des données bid, ask, etc. Mais ici, je veux savoir quelles données doivent être téléchargées et comment sélectionner un ordre pour les changements ? Je n'ai qu'une seule variante à l'esprit, la pire étant d'écrire un stop suiveur pour chaque devise) Veuillez me conseiller sur ce qui peut être fait.
Infinity:
Je ne comprends pas bien la technologie, comment cela va fonctionner.
Beaucoup de choses ont déjà été écrites et réécrites à ce sujet - essayez https://www.mql5.com/ru/forum/118349.
int a1 ;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';') ;FileWrite(handle,a1) ;
FileClose(handle) ;
Dans le fichier a1=5 ;
Je ne comprends pas les principes de base.
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';') ;ici nous assignons la valeur 5 à a1
FileClose(handle) ;
très nécessaire
mais déclaré avec une valeur qui lui est attribuée :
int ask = MarketInfo(sy, MODE_ASK), bid=MarketInfo(sy, MODE_BID), open, stop, level;
En conséquence,
devrait déjà être écrit autrement, par exemple :
Ou bien créez une autre variable, par exemple PriceBid et écrivez
et ensuite utiliser PriceBid au lieu de Bid dans le code...
Examinez l'ensemble de votre code et utilisez des variables pour un symbole particulier lorsque cela est nécessaire.
Et ce symbole, vous le passerez à la fonction chalut lors de son appel :
ou
C'est plus clair ?
Attribuez des valeurs aux variables du code de chalutage en fonction des données de la paire passée à la fonction. Vous devez finaliser le code de chalutage... Par exemple, la variable Bid ne doit pas seulement être déclarée,
mais déclaré avec une valeur qui lui est attribuée :
Par conséquent,
devrait déjà être écrit autrement, par exemple :
Ou bien créez une autre variable, par exemple PriceBid et écrivez
et ensuite utiliser PriceBid au lieu de Bid dans le code...
Examinez l'ensemble de votre code et utilisez la récupération des valeurs de variables pour un symbole particulier.
Et ce symbole, vous le passerez à la fonction chalut lors de son appel :
ou
C'est plus clair ?
La seule chose que je ne comprends pas est quelle paire de devises doit m'être envoyée à quel moment. Je ne sais pas où obtenir l'information que, par exemple, 4 ordres sont ouverts sur telle paire et que ces paires doivent m'être envoyées.
Je ne sais pas si je le fais bien ou pas... de toute façon ....
Mais pour une raison quelconque, j'ai obtenu une erreur EURUSD : zero divide - cette erreur signifie probablement quelque part dans la variable 0, probablement pendant une opération de type split. Est-ce que j'essaie de l'appliquer correctement ?
int a1 ;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';') ;FileWrite(handle,a1) ;
FileClose(handle) ;
Dans le fichier a1=5 ;
Incompréhension de l'essentiel. Veuillez expliquer - en remplissant le formulaire proposé.
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';') ;ici nous assignons la valeur 5 à a1
FileClose(handle) ;
J'en ai vraiment besoin.
Donc, dans l'ordre.
Si seules les dernières données sont nécessaires, alors pourquoi sauvegarder les précédentes ? ("avant l'écriture" se produit avec la combinaison des modes FILE_READ|FILE_WRITE).
Il est donc plus logique d'utiliser le mode FILE_CSV|FILE_WRITE, où les enregistrements précédents sont supprimés avant l'écriture de nouvelles données.
Commençons à écrire 4 variables dans le fichier.
L'essentiel est de se souvenir de l'ordre dans lequel les variables sont écrites, car c'est dans cet ordre que nous les lirons.
Commençons à lire les données dans les variables à partir du fichier.
En utilisant la fonction FileReadNumber(), nous lisons le numéro après le numéro dans l'ordre dans lequel ils ont été écrits.
C'est tout ce qu'il y a à faire, rien de compliqué :)
La seule chose que je ne comprends pas est quelle paire de devises doit m'être envoyée à quel moment. Où puis-je obtenir l'information que, par exemple, 4 ordres sont ouverts sur ces paires et que ces paires doivent m'être envoyées ?
Je ne sais pas si je le fais bien ou pas ... de toute façon ....
Mais j'ai obtenu EURUSD : zero divide error. Apparemment, cette erreur indique que j'ai 0 dans une variable quelque part, probablement, c'est une opération de division. Est-ce que j'essaie de l'appliquer correctement ?