Questions des débutants MQL5 MT5 MetaTrader 5 - page 745

 
Les commentaires non liés à ce sujet ont été déplacés vers "Questions des débutants de MQL4 MT4 MetaTrader 4".
 

Une question à laquelle je n'ai pas trouvé de réponse claire :

Je dois utiliser 2 indicateurs avec quatre points, est-il nécessaire d'écrire à la main un indicateur 4 fois dans l'init et l'autre 4 fois ?

Ou bien il est possible d'en utiliser un à chaque fois, sinon il y aura trop de lignes dans le fichier.

Je n'ai aucune idée de comment l'utiliser.

 
Vitaly Muzichenko:

Une question à laquelle je n'ai pas trouvé de réponse claire :

Je dois utiliser 2 indicateurs avec quatre points, est-il nécessaire d'écrire à la main un indicateur 4 fois dans l'init et l'autre 4 fois ?

Ou bien il est possible d'en utiliser un à chaque fois, sinon il y aura trop de lignes dans le fichier.

Je n'ai aucune idée de comment l'utiliser.

Imaginez que vous devez ouvrir 8 portes, chacune avec une clé différente. Combien de clés faut-il pour ouvrir toutes les portes ?
 
Alexey Kozitsyn:
Imaginez que vous devez ouvrir 8 portes, chacune avec une clé différente. Combien de clés faut-il pour ouvrir toutes les portes ?

Un crochet de serrurier et pas plus.

Puis-je l'utiliser ici, y a-t-il une possibilité et je ne le sais pas ? Les travaux ont été arrêtés en raison de l'incertitude(

 
Vitaly Muzichenko:

Un crochet de serrurier et pas plus.

Je peux l'utiliser ici, peut-être y a-t-il une possibilité et je ne le sais pas ?

Non, il n'y a que des clés.
 
Alexey Kozitsyn:
Non, juste les clés ici.
Merci, maintenant je vais faire avec confiance et ne pas penser à ce qui peut être fait correctement.
 
Bonjour 2017.05.05_02:58 GMT+3. Qui peut me dire comment obtenir les valeurs des quatre derniers points ZigZag et leurs indices ou heures de début de barre en MQL5 dans le code du programme EA ? Je m'y efforce depuis longtemps, mais rien n'en est sorti jusqu'à présent. Si j'applique l'opérateur de boucle while ou for, cela ne fait aucune différence, le testeur de stratégie génère une erreur dans l'un des journaux : dépassement de l'Array dans le fichier include. Voici le fichier d'inclusion. J'obtiens le tableau des valeurs ZigZag en utilisant la fonction CopyBuffer() et la poignée ZigZag. Il semble qu'il ne contienne que des points ZigZag, je ne peux donc pas parcourir le tableau de manière séquentielle par ordre croissant. Le tableau se dérègle. Peut-être que M. Karputov sait comment obtenir les derniers points de Zig-Zag sans sortir du tableau ?
J'ai même essayé de modifier le code de l'indicateur ZigZag, mais je n'ai pas réussi à le réécrire pour que les valeurs nulles soient également écrites dans les tampons de l'indicateur. J'ai essayé de le réécrire de manière à ce que les valeurs nulles ne dépassent pas les limites du tableau pendant le traitement du tableau. Jusqu'à présent, je n'ai pas réussi à comprendre complètement ce qui est écrit dans le code de ZigZag et comment il fonctionne. Je m'en lasse, c'est pourquoi j'écris au forum.
Je pense que le trading manuel appartient à une époque révolue. Je n'ai pas assez de temps pour commercer, je ne veux même pas dormir suffisamment et ouvrir des marchés pendant les repas. Je pense être capable d'écrire un conseiller expert. Je ne vais pas abandonner et baisser les bras. C'est tout pour le moment. J'attends votre réponse. 03:28 GMT+3. Posté à 03:56 GMT+3.
Dossiers :
TDiff.mqh  2 kb
 
Николай Никитюк:
Bonjour 2017.05.05_02:58 GMT+3. Qui peut me dire comment obtenir les valeurs des quatre derniers points ZigZag et leurs indices ou heures de début de barre en MQL5 dans le code du programme EA ? J'ai lutté avec elle pendant longtemps mais rien n'est sorti jusqu'à présent. Si j'applique l'opérateur de boucle while ou for, cela ne fait aucune différence, le testeur de stratégie génère une erreur dans l'un de ses journaux : dépassement de l'Array dans le fichier include. Voici le fichier d'inclusion. J'obtiens le tableau des valeurs ZigZag en utilisant la fonction CopyBuffer() et la poignée ZigZag. Il semble qu' il ne contienne que des points ZigZag, je ne peux donc pas parcourir le tableau de manière séquentielle par ordre croissant. On a un dépassement de tableau.

Non. Tous les points y sont enregistrés, y compris les points vides.

Mykola Nikityuk:
J'ai même essayé de modifier le code de l'indicateur ZigZag, mais je n'ai pas réussi à le réécrire de telle sorte que les valeurs nulles soient également écrites dans les tampons de l'indicateur. Je n'ai pas réussi à le réécrire de manière à ce qu'il ne dépasse pas les tableaux lors de leur traitement par la boucle. Jusqu'à présent, je n'ai pas réussi à comprendre complètement ce qui est écrit dans le code de ZigZag et comment il fonctionne. Je m'y ennuie, c'est pourquoi j'écris sur le forum.
Je pense que le trading manuel appartient à une époque révolue. Je n'ai pas assez de temps pour faire du commerce, je ne veux même pas dormir suffisamment et ouvrir des marchés pendant les repas. Je pense être capable d'écrire un conseiller expert. Je ne vais pas abandonner et baisser les bras. C'est tout pour le moment. J'attends votre réponse. 03:28 GMT+3. Posté à 03:56 GMT+3.

Pour se débarrasser des limites du tableau, il faut traiter les directions du tableau.

Afin d'obtenir les indices ou le temps des barres, nous devons copier le temps des barres CopyTime() ou CopuRates() en même temps que la copie du tampon de l'indicateur, où l'OHLC des barres existe également.

Puisque nous ne pouvons pas éviter le cycle, j'utiliserais la deuxième forme de la fonction

int  CopyBuffer(
   int       indicator_handle,     // handle индикатора
   int       buffer_num,           // номер буфера индикатора
   datetime  start_time,           // с какой даты
   int       count,                // сколько копируем
   double    buffer[]              // массив, куда будут скопированы данные
   );

La condition suivante : si une valeur supérieure à zéro est copiée, il s'agit d'un point ZigZag et nous obtiendrons l'extrémité supérieure ou inférieure en comparant cette valeur avec le High et le Low de cette barre.

 

S'il vous plaît, aidez-moi à comprendre ce qui se passe dans MQL5 avec la comptabilisation des commandes.

Je m'occupe de programmeurs et il semble que nous ne soyons pas en mesure d'avoir des ordres clairement basés sur les principes utilisés dans MQL4 - nous ne pouvons pas définir un nombre magique pour un ordre, il est alors impossible de sélectionner les positions nécessaires sur la base d'un nombre magique en utilisant simplement OrdersTotal() et de détecter quel ordre a été ouvert par un EA et lequel a été ouvert manuellement, etc., nous ne pouvons pas fermer un certain ordre sur la base d'un ticket, et il est impossible de créer une échelle d'ordres dans une direction et de fermer ensuite l'ordre le plus ancien, etc.

Les métacitations peuvent-elles vraiment faire une telle merde ? Comment pouvons-nous travailler sans elle ?

 
Artyom Kuraev:

S'il vous plaît, aidez-moi à comprendre ce qui se passe dans MQL5 avec la comptabilisation des commandes.

Je m'occupe de programmeurs et j'ai l'impression que nous sommes incapables de compter correctement les ordres selon le principe qui était utilisé dans MQL4 - vous ne pouvez pas fixer un nombre magique pour un ordre, vous ne pouvez pas simplement sélectionner les positions nécessaires en recherchant OrdersTotal() sur la base du nombre magique et ensuite déterminer quel ordre a été ouvert par un EA et quel autre a été ouvert manuellement, etc.

Les méta-citations pourraient-elles être à l'origine de cette merde ? Comment pouvez-vous travailler sans elle ?

Où trouve-t-on de tels programmeurs ?

Tout ceci est un non-sens absolu. Où envoyer un tel programmeur, j'espère que vous comprenez.

Eh bien, juste au cas où, pour ne pas le manquer, voici un pointeur.