Aide au codage - page 463

 
mrcodix:
Bonjour,

ArrayMaximum - Documentation MQL4

J'ai fait des recherches et il semble que cette fonction renvoie la valeur la plus élevée de toutes les valeurs du tableau. Ce que je cherche, c'est une fonction qui vous indique la valeur la plus élevée qu'un indicateur a atteint dans une barre de timeframe. Comment puis-je enregistrer cela ? Par exemple, l'indicateur X forme la barre la plus récente. Il passe de 3 à 5 à 4 à 7 et ensuite, lorsque la barre de l'intervalle de temps se ferme, il termine à la valeur 2. La valeur la plus élevée qu'il a atteinte est 7. Comment puis-je enregistrer cette valeur ?

Il n'y a pas de fonction qui le fera automatiquement pour vous.

Faites simplement quelque chose comme ceci :

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(l'hypothèse est que vous utilisez la variable i dans votre boucle principale)

Après l'exécution de cette fonction, la variable count aura le nombre exact de barres que vous devez rechercher pour le plus haut ou le plus bas et qui appartiennent toujours aux barres de l'image temporelle supérieure.

 
mladen:
Il n'y a pas de fonction qui le fera automatiquement pour vous.

Faites simplement quelque chose comme ceci :

int count = 0;

int hftbar = iBarShift(NULL,HigherTimeFrame,Time);

for (int k = 0; (i+k)<(Bars-1); k++)

if (iBarShift(NULL,HigherTimeFrame,Time)==hftbar)

count++;

else break;

(l'hypothèse est que vous utilisez la variable i dans votre boucle principale)

Après l'exécution de cette fonction, la variable count aura le nombre exact de barres que vous devez rechercher pour le plus haut ou le plus bas et qui appartiennent toujours aux barres de l'image temporelle supérieure.

Bonjour,

Que voulez-vous dire par HigherTimeFrame ?

 
mrcodix:
Bonjour, que voulez-vous dire par HigherTimeFrame ?

Vous l'avez appelé "une barre de temps". .

Si c'est l'image temporelle actuelle, alors la plus haute et la plus basse sont simplement les valeurs de la barre actuelle.

Ce n'est que dans le cas où vous recherchez des barres appartenant à un cadre temporel plus élevé, qu'il est logique de le faire (par exemple, vous êtes sur un graphique de 15 minutes, et vous souhaitez voir quel est le minimum ou le maximum des valeurs de l'indicateur de 15 minutes atteint à ce jour pour la journée en cours).

 

Salut Mladen, je voulais lui demander s'il est possible de modifier cet indicateur faisant en sorte de transformer les lignes droites de cet indicateur en lignes douces comme la moyenne mobile. en pratique cet indicateur fonctionne comme cet indicatif que je lui avais demandé si on pouvait le programmer avec la MA bouleversée, j'espère à la fois possible de le faire

non_repainting_supertrend_alerts.mq4[ATTACH]

 
morenokosta:
Salut Mladen, je voulais lui demander s'il est possible de modifier cet indicateur en transformant les lignes droites de cet indicateur en lignes douces comme la moyenne mobile. En pratique cet indicateur fonctionne comme cet indicatif que je lui avais demandé s'il pouvait être programmé avec la MA bouleversée, j'espère à la fois possible de le faire

non_repainting_supertrend_alerts.mq4[ATTACH]

morenokosta

Cela ne peut pas être fait puisque les tendances de la super tendance dépendent directement de ces valeurs. Changer ces valeurs rendrait l'indicateur de super tendance plus ou moins inutile.

 
mladen:
morenokosta Ce n'est pas possible car les tendances du super trend dépendent directement de ces valeurs. Changer ces valeurs rendrait l'indicateur super trend plus ou moins inutile.

Non c'est tout droit à partir de là un.... merci cependant pour votre disponibilité

 
morenokosta:
Non c'est tout bon à partir de là un.... merci cependant pour votre disponibilité

morenokosta

La "tendance" de la super tendance dépend aussi des valeurs que nous voyons sur le graphique. Si ces valeurs sont changées, la "tendance" de la super tendance est changée - et elle ne sera plus la même - elle montrera des tendances à tous les endroits différents par rapport à la super tendance originale.

 

Bonjour à tous !

Je ne sais pas si vous pouvez m'aider mais ce serait génial !

J'essaie d'établir les conditions de mon EA. Mais je tombe sur une sorte de problème en codant avec les bandes de bollinger.

Comment puis-je dire à l'EA que je veux que le trade soit pris si le corps entier de la bougie dépasse la bande de bollinger : cela signifie les deux côtés de la bougie.

Pour le moment, j'ai la condition :

Close[0]>bandes(0,0)+Above_Below_Range*P*Point

Malheureusement, il prend le trade quand c'est comme ça :

Je veux qu'il prenne le trade quand le corps entier est sorti comme ceci :

Une solution ?

Merci

Dossiers :
 

Bonjour

J'ai trouvé cet indice et je l'ai modifié pour répondre à mes besoins.

Veuillez me dire si/comment je peux mettre une boîte de saisie pour ouvrir les graphiques pour toutes les paires de devises qui contiennent CAD par exemple.

Sinon, une boîte de saisie dans laquelle je peux charger une paire et ouvrir les graphiques.

Merci pour votre temps,

Darren

string template_ = "DCC" ;

//

void OnStart()

{

//

long nr ;

nr = ChartOpen(Symbol(),1440) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),240) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),60) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),15) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),5) ;

ChartApplyTemplate(nr,template_) ;

//

}

 
DCC66:
Bonjour

J'ai trouvé cet indice et l'ai modifié pour répondre à mes besoins.

Veuillez me dire si/comment je peux mettre une boîte de saisie pour ouvrir les graphiques pour toutes les paires de devises qui contiennent CAD par exemple.

Sinon, une boîte de saisie dans laquelle je peux charger une paire et ouvrir les graphiques.

Merci pour votre temps,

Darren

string template_ = "DCC" ;

//

void OnStart()

{

//

long nr ;

nr = ChartOpen(Symbol(),1440) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),240) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),60) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),15) ;

ChartApplyTemplate(nr,template_) ;

nr = ChartOpen(Symbol(),5) ;

ChartApplyTemplate(nr,template_) ;

//

}

Vous devez d'abord vérifier quels sont les symboles contenant "CAD" dans leur nom.

Vous pouvez utiliser le code de cet indicateur pour cela : https://www.mql5.com/en/forum/173060/page118

Raison: