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

 
Nail_Saby писал(а) >>

J'ai pris un morceau de code avec for de la fonction prête à l'emploi http://fxnow. ru/blog.php?user=Yuriy&blogentry_id=66...

Et qu'en est-il de return()? Pour que ça marche ?

Il faut commencer par la logique. Ce que vous voulez obtenir et comment.

 

Veuillez me dire pourquoi il est impossible d'égaliser la valeur d'un MA par rapport à un autre et d'ouvrir une transaction dans le cas où ils sont égaux. Il ne fonctionne qu'avec <= ou >=, mais rien d'autre.

 
Stanislav.exe >>:

Подскажите почему нельзя приравнять значение одной МА к другой и в случае их равенства открывать сделку. У меня работает только со знаками <= или >=, а никак иначе.

il n'est pas recommandé de comparer des variables doubles

 
sanyooooook писал(а) >>

Il n'est pas recommandé de comparer les variables de type double

Alors quelle est la bonne façon de l'écrire si j'ai besoin d'un crossover et pas plus ou moins ?

Et une dernière chose, est-il possible de compter le nombre de transactions pour le temps égal à : du premier franchissement des MA à leur recroisement ?

Si oui, comment...

 
Stanislav.exe >>:

Так как правильно написать если мне нужно именно пересечение, а не больше или меньше?

И ещё один момент можно ли считать количество сделок за время равное: от первого пересечения МА до их повторного пересечения?

Если да то как...

   ma=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,5);
   ma1=iMA(NULL,0, MovingPeriod1, MovingShift,MODE_EMA,PRICE_CLOSE,5);
   ma2=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   ma3=iMA(NULL,0, MovingPeriod1, MovingShift,MODE_EMA,PRICE_CLOSE,1);
//---- sell conditions
   if ( ma1< ma && ma2< ma3) 
     {
      res=OrderSend(Symbol(),OP_SELL, Lots,NormalizeDouble(Bid,Digits),5,0,0,"", MAGICMA,0,Red);
      f=0;
      return;
     }
//---- buy conditions
   if ( ma1> ma && ma2> ma3)
     {
      res=OrderSend(Symbol(),OP_BUY, Lots,NormalizeDouble(Ask,Digits),5,0,0,"", MAGICMA,0,Blue);
      f=0;
      return;
une version du code
 
sanyooooook писал(а) >>
une des variantes du code

Merci sanyooooook, si je peux me permettre, quel est le dernier chiffre dans

ma=iMA(....... ...PRICE_CLOSE,.... ce 5);

Et en ce qui concerne le nombre de transactions, est-il possible de définir le nombre de transactions pour qu'il soit seulement de 1, 2 ou 3 pendant l'AMM ?

 
Stanislav.exe >>:

Спасибо sanyooooook, если можно, что означает последняя цифра в

ma=iMA(....... ..PRICE_CLOSE,.... вот эта пятёрочка 5);

И ещё на счёт количества сделок, можно прописать, чтоб их было например только 1 или 2..3 за время перечения МА

Dans le MetaEditor, mettez en évidence le texte qui vous intéresse, dans ce cas iMA, et appuyez sur F1, les informations sur la ligne mise en évidence apparaîtront au bas de la fenêtre.

 
sanyooooook писал(а) >>

Dans l'éditeur de méta, mettez en évidence le texte qui vous intéresse, dans ce cas iMA, et appuyez sur F1, les informations sur la ligne mise en évidence apparaîtront au bas de la fenêtre.

équipe - Shift - indice de la valeur obtenue à partir du tampon de l'indicateur (décalage par rapport à la barre actuelle du nombre de périodes en arrière spécifié).

Comment c'est en russe pour comprendre mon ami, je l'ai lu, je ne peux pas le comprendre de toute façon...

 
Stanislav.exe >>:
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Как это по русски понять дружище, я это уже читал всё равно допереть не могу...

En termes simples, il s'agit du numéro de la barre à partir de laquelle le signal de l'indicateur est pris. La barre actuelle est égale à zéro, alors le compte se situe dans l'historique.

 

Il est plus facile et plus rapide de vérifier l'intersection d'une manière différente.

   ma11=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,1);
   ma12=iMA(NULL,0, MovingPeriod,0,MODE_EMA,PRICE_CLOSE,2);
   ma21=iMA(NULL,0, MovingPeriod1,0,MODE_EMA,PRICE_CLOSE,1);
   ma22=iMA(NULL,0, MovingPeriod1,0,MODE_EMA,PRICE_CLOSE,2);
   if (( ma11- ma12)*( ma21- ma22)<0) {
       //пересечение есть
       if ( ma11> ma21)  // Пересечение вверх
       if ( ma11<ma21)  // Пересечение вниз
   }
La vitesse est plus rapide. Les expressions logiques complexes prennent plus de temps que les expressions simples. La multiplication est plus rapide que la logique
Raison: