[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 872

 

Gospoda programisty...

S bolshim uvazheniyem k Vam

Est tutin indikator MACD s raznih timeframe 'ov https://www.mql5.com/ru/forum/112720

A est tochno takoi zhe gotovyi, tolko po indikatoru OsMA ? Ya tut v kode probyat menyat iMACD na iOsMA chto to tut ne kleetsya... ili kak sdelat toch tolko po OSMA ? pomogite....

 

Merci pour votre aide, peut-être que ce fil de discussion vous aidera, Sincèrement Tolik.

 
Rossi:

1) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",percent, 0,1) ;

2) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",percent, period1, period2, 0,1) ;

3) RSIBuffer=iCustom(NULL, 0, "2MAPercentage",0,1) ;

Messieurs, pourquoi mon Expert Advisor appelant l'indicateur fonctionne-t-il sans interruption sans variable alimentée ou avec une variable alimentée (qui vient après l'en-tête de l'indicateur, cas 3 et 1), mais quand deux ou plus sont alimentées pour l'optimisation, alors lors du test il y a un chargement et déchargement constant de l'indicateur (cas 2), avec un gros ralentissement du travail ?

Vérifiez que les données saisies dans l'indicateur personnalisé sont correctes. Des données incorrectes entraîneront une surcharge et ralentiront l'ensemble du processus.
 

En fouillant dans le code du chalut standard, une idée m'est venue à l'esprit pour modifier (ajouter quelques lots supplémentaires à la position existante). Comme il n'est pas possible de modifier un lot à l'aide de la fonction OrderModify( .... ), je l'ai modifié à l'aide de la fonction OrderSend (.... ), mais rien ne se passe, l'ordre n'est pas ouvert, aucun message d'erreur n'apparaît non plus. Je me demande pourquoi, est-ce parce qu'un seul ordre choisi peut être modifié en une itération, ou parce qu'il est impossible de le faire dans le chalut ? Et comment est-il possible de le faire en général ? Pour passer des paramètres à l'appel de la fonction chalut, mais comment est-elle seulement appelée. Peut-être par le biais d'une variable globale? Il faudrait alors écrire non pas une mais plusieurs variables à la fois, ce qui complique l'exécution.

Qui sait, pouvez-vous partager vos connaissances ?

 
Infinity:

En fouillant dans le code du chalut standard, une idée m'est venue à l'esprit pour modifier (ajouter quelques lots supplémentaires à la position existante). Comme la modification du lot à l'aide de la fonction OrderModify( .... ) n'est pas possible, je l'ai modifiée à l'aide de la fonction OrderSend (....), mais rien ne se passe, l'ordre n'est pas ouvert, aucun message d'erreur n'apparaît non plus. Je me demande pourquoi, est-ce parce qu'un seul ordre choisi peut être modifié dans une itération, ou parce qu'il est impossible de le faire dans le chalut ? Et comment est-il possible de le faire en général ? Pour passer des paramètres à l'appel de la fonction chalut, mais comment est-elle seulement appelée. Nous pourrions peut-être utiliser une variable globale, mais nous devrions alors écrire non pas une mais plusieurs variables à la fois, ce qui compliquerait l'exécution.

Qui sait, pouvez-vous partager vos connaissances ?

Il est possible de faire en sorte que même un diable à cornes... :)
Je peux vous dire sans votre code - appelez la fonction d'ouverture de position immédiatement après avoir modifié le StopLoss dans le chalut.
 

Dans l'indicateur, après avoir atteint la valeur de Max bar dans la fenêtre, IndicatorCounted() ne change pas la valeur quand une nouvelle bougie arrive, en conséquence la bougie arrive, le graphique bouge, mais l'indicateur reste debout.

Veuillez m'indiquer comment résoudre ce problème (je peux simplement augmenter le nombre de barres dans la fenêtre, mais l'indicateur fonctionne toujours).

 

Chers gourous, veuillez m'indiquer comment trouver une solution à ce problème simple :

L'entrée du script est constituée de 25 variables externes de type chaîne nommées XXXXXX_counter, où le compteur est un nombre naturel 1,2,3... 25

le corps du script doit traiter ces variables dans une boucle for ( i=1 ; i<=25 ; i++ ){...}

Je n'arrive pas à trouver comment faire référence à la variable correspondante dans le corps de la boucle, en obtenant son nom à l'aide du compteur i.

un tableau serait bien, mais les tableaux externes ne sont pas autorisés....

le problème se résume finalement à faire référence à une variable dont le nom est contenu dans une variable de type chaîne.

Respectueusement, Gravitus

 

Gravitus:

serait bien, mais les tableaux externes ne sont pas autorisés.....

autorisé.
 
reag:

Dans l'indicateur, après avoir atteint la valeur de la barre Max dans la fenêtre, IndicatorCounted() ne change pas la valeur quand une nouvelle bougie arrive, en conséquence la bougie arrive, le graphique bouge, mais l'indicateur reste debout.

Veuillez m'indiquer comment résoudre ce problème (je peux simplement augmenter le nombre de barres dans la fenêtre, mais l'indicateur fonctionne toujours).

Au lieu de IndicatorCounted(), écrivez ce dont vous avez besoin.
 
Andrei01:
autorisé.

Quand j'essaie d'écrire

extern string array[25] ;

le compilateur donne

array' - les tableaux externes ne sont pas autorisés.