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

 

Pour Roger.

Je ne vais pas vendre, je ne vais pas vendre, l'argent me convient. Je veux partager des idées et comprendre la raison de ma stupidité ;))

 

Veuillez m'indiquer comment appeler des indicateurs AO et AC personnalisés via iCustom. Et comment écrire la condition suivante à travers iCustom. Merci d'avance.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

 
Stepan241 >> :

Les amis, bon après-midi.

Je suis tombé sur un Trend Detector sur l'un des forums. L'auteur affirme qu'il montre très bien la tendance et peut m'aider à créer un système d'oscillateur. Mais il l'a implémenté directement dans son conseiller expert. J'ai essayé d'établir un indicateur basé sur ce modèle. Je veux voir si le calcul est correct.

Je cite l'auteur :

-----------------------------------------------

Je ne m'attendais pas à un si bon résultat de ma découverte. Je l'ai accidentellement aveuglé - mets-le en place. Et a même sauté de la surprise !

Cette méthode a également été légèrement discutée ici - ici https://www.mql5.com/ru/forum/105321/page11.



 

Bon après-midi à tous.

Pourriez-vous me dire comment calculer le nombre de franchissements du prix d'un certain niveau ? Je veux que mon ordre s'ouvre après 3 (4,5...), mais pas après le premier croisement.

Merci.

 
Veuillez me dire comment écrire les conditions suivantes. Si le prix actuel est inférieur au prix moyen de la journée, alors..... et deuxièmement, si le prix à 14.56 (par exemple) du jour courant est plus élevé que le prix actuel, alors... Il serait très intéressant d'obtenir une réponse. Je ne peux pas encore résoudre le problème moi-même. Merci d'avance.
 
future >> :
Veuillez me dire comment écrire les conditions suivantes. Si le prix actuel est inférieur au prix moyen de la journée, alors..... et deuxièmement, si le prix à 14.56 (par exemple) du jour courant est plus élevé que le prix actuel, alors... Il serait très intéressant d'obtenir une réponse. Je ne peux pas encore résoudre le problème moi-même. Merci d'avance.
extern string xxxxxxxxxxxxx="x=0 сегодня х=1 вчера итд";
extern int х=0;
int середина=(iHigh(0,PERIOD_D1, х)-iLow(0,PERIOD_D1, х))/2;
if(Bid> середина)...;
if(Ask< середина)...;


extern datetime some_time=D'14:56';
int середина_some_time=(iHigh(0,0,iBarShift(0,0, some_time))-iLow(0,0,iBarShift(0,0, some_time)))/2;
if(Bid> середина_some_time)...;
if(Ask< середина_some_time)...;
 
skifodessa >> :

Bon après-midi à tous.

Pourriez-vous me dire comment calculer le nombre de fois où le prix a franchi un certain niveau ? Je veux ouvrir un ordre après 3 (4,5...), mais pas après le premier franchissement de niveau.

Merci.

Je comprends que les conditions seront limitées dans le temps ! (le troisième croisement aura lieu demain ))))

Je conseille d'ajouter aux conditions les données du senior fame. (si M5..M30 alors H1..H4)

Par exemple

if(ССI(M5)>0 && CCI(H1)>0 ) OpenB();
 
Stepan241 писал(а) >>

Les amis, bon après-midi.

Sur un des forums, je suis tombé sur un INDICATEUR DE TENDANCE...

https://www.mql5.com/ru/forum/105321/page11#53278

 
Necron >> :

Veuillez m'indiquer comment appeler les indicateurs personnalisés AO et AC via iCustom. Et comment spécifier la condition suivante à travers iCustom. Merci d'avance.


if (iAO(NULL,0,i) > iAO(NULL,0,i+1) && iAC(NULL,0,i)> iAC(NULL,0,i+1))
{ }
else
if (iAO(NULL,0,i) < iAO(NULL,0,i+1) && iAC(NULL,0,i) < iAC(NULL,0,i+1))

Pourquoi avez-vous besoin de les appeler via iCast ? Est-ce pour l'unification ? Eh bien, écrivez une enveloppe d'indicateur séparée pour chacun d'eux et utilisez iCustom pour les appeler...

 
skifodessa >> :

Bon après-midi à tous.

Pouvez-vous me dire comment calculer le nombre de fois où le prix a franchi un certain niveau ? Je veux que mon ordre s'ouvre après 3 (4,5...), mais pas après le premier franchissement de niveau.

Merci.

Par exemple, voici une variante universelle. Au fait, il serait utile de disposer d'une fonction de détection des passages à niveau :

int Cross(double a[], double level, int pos)
{
   if( a[ pos]< level&& a[ pos+1]> level) return(-1);
   if( a[ pos]> level&& a[ pos+1]< level) return(1);
   return(0);
}

c'est-à-dire que si le croisement est en haut, c'est 1, s'il est en bas -1, sinon c'est 0

Compte maintenant (bars_limit - max time spread)

int count=0;
for ( i=0; i< bars_limit; i++)
{
   if( Cross( a, level, i)==1) count++;// ну или -1 если пересечения вниз считаем
}

if( count>=3) //4,5,...
{
...
}