Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1439

 
ANDREY:

Merci pour ces précieux conseils. Maintenant, je ne lis la documentation que lorsque j'écris du code, lorsque je rencontre une question dont je ne connais pas la réponse. Je n'ai jamais eu besoin d'écrire des données dans des fichiers tout en écrivant du code dans le passé, c'est donc un sujet totalement nouveau pour moi.
Dites-moi, mon idée ne peut-elle pas être réalisée d'une manière plus simple, sans l'écrire dans un fichier? Comme dans mon code. Il ne s'agit pas d'un code de travail mais d'illustrer mon idée de comment trouver le minimum entre deux ordres adjacents ouverts sur un chandelier d'une minute
Merci pour votre aide.

C'est-à-dire que j'ai écrit le prix de chaque tick directement dans le tableau, et non dans un fichier.

Eh bien, je ne sais pas comment tu peux lire comme ça. Quand j'ai commencé à programmer, quand j'entrais dans la documentation pour n'importe quelle chose triviale, la programmation s'arrêtait. J'en ai retiré de plus en plus de choses... Vous avez lu qu'une fonction écrivait dans un fichier et vous n'avez rien vu à côté. On vous a parlé d'un autre et vous êtes euphorique de ce que vous avez entendu. Qu'y a-t-il d'autre ? Avez-vous lu quoi que ce soit ? Quelles autres fonctions existent pour écrire dans un fichier ? Et comment faut-il lire pour poser de telles questions ? Je t'ai dit d'écrire un tableau et de lire un tableau. Et vous voulez écrire .csv et lire dans un tableau. Ce n'est pas comme ça que ça marche. Et si vous n'avez besoin que de tout... sur le moment, pourquoi l'écrire dans un fichier ?
 
Valeriy Yastremskiy:

Vous obtenez leur prix, vous pouvez fixer l'heure mais vous attendez un nouvel ordre. et ensuite vous demandez l'heure maximale ou minimale du tick. un tick est un tick après tout.

Le prix d'un tick est toujours un tick. Il ne s'agit pas de la variable x low, mais de l'expression X =LoY[1]. LoY[1] est price..... sans option.
"..... et ensuite vous demandez le temps de tic maximum ou minimum...."

C'est ça le truc avec cette idée, le temps n'intervient pas du tout ..... seulement le prix minimum de la bougie, que je ne découvre que deux fois. La première fois lorsque la première commande est ouverte et la deuxième fois lorsque la deuxième commande est ouverte. Ensuite, je compare ces prix et je fais une conclusion : si le premier ordre a été ouvert avant la formation de LoY[] ou après sa formation. Au début, je pensais que j'avais besoin d'informations sur le temps pour résoudre mon problème. Mais ensuite, j'ai compris que l'on pouvait se passer du temps et que le prix minimum d'une bougie suffisait.

 
Alexey Viktorov:
Eh bien, je ne sais pas comment tu peux lire comme ça. Lorsque j'ai commencé à programmer, le fait d'entrer dans la documentation pour quelque chose de trivial arrêtait tout simplement la programmation. J'en ai retiré de plus en plus de choses... Vous avez lu qu'une fonction écrivait dans un fichier et vous n'avez rien vu à côté . On vous en a parlé d'un autre et vous êtes euphorique de ce que vous avez entendu. Qu'y a-t-il d'autre ? Avez-vous lu quoi que ce soit ? Quelles autres fonctions existent pour écrire dans un fichier ? Et comment faut-il lire pour poser de telles questions ? Je t'ai dit d'écrire un tableau et de lire un tableau. Et vous voulez écrire .csv et lire dans un tableau. Ce n'est pas comme ça que ça marche. Et si vous n'avez besoin que de tout... sur le moment, pourquoi l'écrire dans un fichier ?

Je pense qu'il est utile de regarder ce qui se trouve les uns à côté des autres lorsque le matériel est relié logiquement en termes de signification et présenté dans une séquence compréhensible. Comme c'est généralement le cas dans les manuels scolaires. Je ne ressens pas cette connexion et cette cohérence dans le manuel. J'admets que je peux en avoir, mais la question est celle de mes particularités cognitives.

Je ne comprends pas encore l'essentiel. Pourquoi devrais-je écrire les données de mon code dans le fichier si je n'en ai pas besoin. Dans quelles circonstances est-il judicieux d'écrire les données d'un programme dans un fichier ..... en général et dans mon cas. D'après vos propos, il me semble que le caractère raisonnable de l'écriture de données dans un fichier est en quelque sorte conditionné par la fréquence d'utilisation de mon code. Mais je ne comprends toujours pas le sens de cette conditionnalité. Peut-être que le but est que les mêmes données du fichier puissent aussi être utilisées par mon autre programme ? Mais un autre programme aurait alors besoin d'écrire exactement ces données dans le fichier. Et c'est loin d'être une certitude...
Merci pour votre aide.

 
Chers collègues, bonjour ! Je cherche un indicateur d'équité pour montrer le pourcentage du drawdown actuel sur l'équité, ainsi que les courbes en temps réel du solde et de l'équité. Je ne fais pas de contrôle à la volée pour le plaisir de le faire.
 
Alexey Viktorov:
Je t'ai dit d'écrire un tableau et de lire un tableau. Et vous voulez écrire .csv et lire le tableau. Ça ne marche pas comme ça. Et si vous n'avez besoin que de tout... pour le moment, pourquoi écrire dans un fichier ?

J'étais aussi intrigué par la phrase rouge. Parce que je ne voulais pas écrire un .csv et le lire dans un tableau. Parce que je ne sais pas encore comment le faire. Je sais qu'il existe des fichiers texte portant l'extension .csv. Mais ai-je touché un fichier avec cette extension dans mon code de quelque manière que ce soit ? Du tableau .... lire.... Je suis désolé :=)... maisje ne sais pas non plus commentliredans untableau et je ne comprends pas encore ce que cela signifie.
J'apprécierais si vous pouviez réécrire mon code (il est assez court) pour qu'il ait une fonction
d' écriture dans le fichier et une fonction de lecture du fichier.
Puisque ce code est le mien, je vais rapidement apprendre de nouvelles informations pour moi.
Merci encore, et excusez-moi de ne pas être aussi avancé que vous et de poser des questions probablement stupides (selon votre opinion professionnelle).

Je veux apprendre mql4 et ensuite mql5 de manière stable. Il ne s'agit pas d'une mode passagère. De plus, j'ai maintenant plus de temps pour le faire.
Par ailleurs, je reçois de nouvelles informations, pas aussi vite que je le voudrais.... mais je le fais. Merci à vous et aux autres participants de ce forum. Pour cela, je suis reconnaissant à tous.

 
ANDREY:

J'étais aussi intrigué par la phrase rouge. Parce que je ne voulais pas écrire un .csv et le lire dans un tableau. Parce que je ne sais pas encore comment le faire. Je sais qu'il existe des fichiers texte portant l'extension .csv. Mais ai-je touché un fichier avec cette extension dans mon code de quelque manière que ce soit ? Du tableau .... lire.... Je suis désolé :=)... maisje ne sais pas non plus commentliredans untableau et je ne comprends pas encore ce que cela signifie.
J'apprécierais si vous pouviez réécrire mon code (il est assez court) pour qu'il ait une fonction
d' écriture dans le fichier et une fonction de lecture du fichier.
Puisque ce code est le mien, je vais rapidement apprendre de nouvelles informations pour moi.
Merci encore et excusez-moi de ne pas être aussi avancé que vous et de poser des questions probablement stupides, selon votre opinion professionnelle.

Andriy, je ne fouille pas dans les codes des autres. Je préfère expliquer, si je ne comprends pas ce qui est écrit dans la documentation. Si vous n'avez pas lu la documentation ou si vous ne l'avez pas approfondie, il est évident que vous n'avez rien compris. Et la méthode que vous suggérez ne sera pas une formation, mais un "bocal" pour lequel vous souhaitez faire quelque chose de similaire à l'avenir. Mais cette approche ne fonctionne pas toujours.

 
ANDREY:

Merci pour le conseil. Mais...... Voici une capture d'écran de la documentation sur les opérations sur les fichiers

Il me semble que le guide est conçu pour des utilisateurs déjà avancés. Dans son tutoriel, Kovalev explique en détail ce qui est nécessaire et dans quel but avant d'entrer dans les détails.

Mais son tutoriel, comme on dit ici, est désespérément dépassé, voire dangereux pour les débutants.

Non, ça ne l'est pas. Il suffit de le lire en comprenant qu'il y a eu des améliorations et des changements linguistiques. Il est préférable d'insérer d'abord le code en créant un modèle dans le méta-éditeur. Il y aura moins d'erreurs. Dans la logique des algorithmes, le manuel est pertinent. Et l'écriture dans le fichier est correcte. Jetez un coup d'œil au livre de Dmitry Fedoseyev sur µl5. Je pense qu'il a mis le sien sur Googleplay.

 
Valeriy Yastremskiy:

Non, ce n'est pas dépassé. Vous devez simplement lire en comprenant qu'il y a eu des améliorations linguistiques et qu'il y a des changements. Il est préférable d'insérer le code en créant d'abord un modèle de programme dans le méta-éditeur. Il y aura moins d'erreurs. Dans la logique des algorithmes, le manuel est pertinent. Et l'écriture dans le fichier est correcte. Jetez un coup d'œil au livre de Dmitry Fedoseyev sur µl5. Je pense qu'il a mis le sien sur Googleplay.

Merci pour le conseil. J'ai déjà commencé à lire FILE OPERATIONS à partir du tutoriel de Kovalev. En effet... quelque chose commence à devenir clair. J'ai compris que tous les EAs que je testais lisaient des fichiers textes avec les prix des barres (bien que non créés par mon programme) avec l'extension .cvv situés dans le dossier du terminal Tester.
En d'autres termes, les informations (données) de tout programme sont écrites dans le fichier et ces données sont lues à partir du fichier, également par tout programme. Il me semble que les fichiers stockent une grande quantité de données qu'il n'est pas raisonnable de stocker dans le programme. Quelque chose comme un fichier mqh.
Si vous voulez m'expliquer ce que signifie la phrase d'Alexey Victorov : "....Voulez-vous écrire .csv et lire array....." du post en référence à mon code du post
. Je pensais qu'il voulait dire le fichier texte .cvv, avec les prix des barres du répertoire du testeur. Mais ce qu'il veut dire exactement, je ne le comprends toujours pas. Ce n'est pas moi qui écris ces fichiers .cvv, mais le programme du revendeur Alpari... Comment le programme lit dans un tableau - en général, je comprends un peu ... Elle accède à une cellule d'un tableau par son adresse, entre dans la cellule et accède à la valeur de la cellule (c'est-à-dire la lit). Comment un programme peut-il lire dans un tableau au lieu d'en sortir ? Il s'agit d'une contradiction insoluble .... me semble-t-il dans mon opinion de profane. Je pense, pour une raison quelconque, que dans un tableau , on ne peut écrire que certaines valeurs. Et vous ne pouvez lire qu'à partir d' un tableau

 
ANDREY:

...
Si vous voulez bien m'expliquer ce que signifie la phrase d'Alexey Victorov "....Et vous voulez écrire .csv et lire dans array....." du post par rapport à mon code du post
Il me semble qu'il veut dire fichier texte .cvv, avec les prix des barres du catalogue Tester. Mais ce qu'il veut dire exactement, je ne le comprends toujours pas. Ce n'est pas moi qui écris ces fichiers .cvv, mais le programme du revendeur Alpari... Comment le programme lit dans un tableau - en général, je comprends un peu ... Elle accède à une cellule d'un tableau par son adresse, entre dans la cellule et accède à la valeur de la cellule (c'est-à-dire la lit). Comment un programme peut-il lire dans un tableau au lieu d'en sortir ? Il s'agit d'une contradiction insoluble .... me semble-t-il dans mon opinion de profane. Je pense, pour une raison quelconque, que dans un tableau , on ne peut écrire que certaines valeurs. Et vous ne pouvez lire que dans le tableau.

Oui, et ça ne me dérange pas. Ce n'est pas creuser dans le code.

FileWrite

Écriture des données dans un fichier CSV ou TXT

FileWriteArray

Écrit des tableaux de tous types, à l'exception des tableaux de chaînes, dans un fichier de type BIN .


Lire dans un tableau, c'est-à-dire à partir d'un fichier. Regardez la fonction

uint  FileReadArray( 
   int    file_handle,               // handle файла 
   void&  array[],                   // массив для записи 
   int    start=0,                   // стартовая позиция для записи в массив 
   int    count=WHOLE_ARRAY          // сколько читать 
   );

Passe un tableau préparé et écrit dedans.

Vous ne pouvez utiliser la fonction de lecture de tableau qu'à partir d'un fichier écrit avec la fonction d'écriture de tableau.

En principe, vous pouvez lire n'importe quel fichier qui ne contient pas de chaînes de caractères dans un tableau. Mais ce ne sera qu'un remplissage élément par élément du tableau.

ps ;

Grâce à la chance, au moins j'ai lu la documentation moi-même et j'ai trouvé de nouvelles fonctions d'écriture de tableau et de lecture de tableau dans mql5.

Документация по MQL5: Файловые операции / FileSave
Документация по MQL5: Файловые операции / FileSave
  • www.mql5.com
FileSave - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Ce n'est pas difficile pour moi non plus. Il ne s'agit pas de creuser dans le code.

FileWrite

Écriture de données dans un fichier CSV ou TXT

FileWriteArray

Écrit tous les types de tableaux, sauf les tableaux de chaînes, dans un fichier de type BIN .



Grâce à la chance, au moins j'ai lu la documentation et trouvé de nouvelles fonctions dans mql5 pour l'écriture et la lecture de tableaux.

Content d'avoir pu vous aider :=) :=) :=)

Maintenant, parlons de mon code, qui est probablement si mauvais qu'il est désagréable d'y fouiller. Mais dites-moi au moins quel serait l'avantage de mon code, si j'écrivais un seul tableau (avec des valeurs de prix) de ce code dans un fichier, et ensuite le programme le lirait de ce fichier et utiliserait ses valeurs dans d'autres calculs ? Et le tableau de seulement 60 éléments. Qu'est-ce qui serait optimal dans mon code ?
Merci de votre aide.