[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 62

 

Bonne journée à vous tous !

Veuillez conseiller le débutant

344272288 2011.07.25 01:21 acheter 0.01 gbpchf 1.3267 0.0000 1.3062 2011.08.08 18:02 1.2373 -0.09 0.00 0.00 -11.79

5732040 so : 9,3%/1,1/12,0

Je me suis fait avoir ?

Le fait est que la commande s'est fermée d'elle-même sans que je sois impliqué !

Je me demande s'il s'agit d'un naufrage, y a-t-il un moyen de s'en protéger ?

 
Solree:
Roger a raison, il n'y a pas de problème si vous sélectionnez à nouveau l'ordre après la fermeture.
L'erreur est donc dans mon interprétation... Mais je ne pense pas que "chaque variable a une valeur"...
 

Bonjour à tous !

J'ai écrit un indicateur qui produit une alerte dans certaines conditions. Le problème est que tant que la condition est remplie, il donne des alertes sans fin. Comment puis-je limiter la condition de manière à ce qu'il n'y ait pas plus de 1 à 2 alertes émises ?

 

quelque part comme ceci

static bool flag=true;
if(ваше условие)
{
if(flag)
{
Alert;
flag=false;
}
}
else flag=true;
 
WTL:

Bonjour à tous !

J'ai écrit un indicateur qui produit une alerte dans certaines conditions. Le problème est que tant que la condition est remplie, il donne des alertes sans fin. Comment puis-je limiter la condition de manière à ce qu'il n'y ait pas plus de 1 à 2 alertes émises ?

//Алерт не чаще одного раза в две минуты...
static datetime atime=0;
if (индикатор)
if ((TimeCurrent()-atime)>120)
{
atime=TimeCurrent();
Alert;
}
 
Roger, splxgf, merci ! J'ai croisé les deux conditions et ça a bien marché.
 

Bonjour à tous. Les gars, j'ai une condition pour trouver le maximum : mais dans un couloir.

for (int max=1 ; max<1000 ; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break ;

cela ne fonctionne pas.

si j'enlève le couloir, c'est bon :

for (int max=1 ; max<1000 ; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break ;

Quel pourrait être le problème ?

Je comprends que max<1000 devrait être augmenté, je l'ai essayé mais cela n'a pas fonctionné.

 
sergey_r:

Bonjour à tous. Les gars, j'ai une condition pour trouver le maximum : mais dans le couloir.

pour (int max=1 ; max<1000 ; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break ;

ça ne marche pas.

Si je retire le couloir, tout va bien :

pour (int max=1 ; max<1000 ; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break ;

Quel pourrait être le problème ?

Je comprends que max<1000 doit être augmenté, je l'ai essayé mais ça n'a pas marché.


Je suggère de changer les valeurs de low_level_s, high_level_s.

 

Voici un exemple en chiffres :

1. 4100<1.4150<1.4200

mais 1.4150 devrait toucher le niveau bas = 1.4145, niveau haut = 1.4155 . Dans cet exemple, c'est le cas.

Mais si ce n'est pas le cas, supposons que c'est 1,4160, alors allons plus loin. Le problème est que cette valeur élevée peut remonter à 3 ans, par exemple, et que le programme ne la trouve pas.

Que faire ?

 
Que puis-je faire si elle dépasse 999 ? Y a-t-il un moyen de le faire sortir de l'archive des citations ?