Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 107

 

FEAR:

bonne réponse

Et surtout, le bon...
 
VladislavVG:


bool SLowTen = (Open[1]==Low[1]) ; // pas d'ombre inférieure d'un chandelier haussier

Cherchez sur le forum une comparaison correcte des nombres réels.

Tout le monde peut offenser un artiste, vous auriez dû l'écrire correctement. J'aime beaucoup la critique - une critique constructive. Je connais moi-même le code moche.

J'ai encore une question à ce sujet - comment écrire dans une condition que la taille d'une bougie est supérieure à 60 points (en cinq chiffres).

 
alexey1979621:

Tout le monde peut être offensé par un artiste, vous auriez dû l'écrire correctement. J'aime beaucoup les critiques - les critiques constructives. Je suis moi-même au courant de l'horrible code.

Voici une autre question à ce sujet - comment écrire dans la condition que la taille de la bougie est plus grande que 60 points (en cinq chiffres).


Double comparaison :

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   // Значит равны
   }

Comment prescrire dans la condition que la taille de la bougie est plus de 60 pips (sur cinq chiffres).

if (размер_свечи>60*Point) {}
 
artmedia70:

Comparaison double :

Comment prescrire dans la condition que la taille de la bougie est plus de 60 pips (sur un cinq chiffres).


Pardonnez mon étourderie, mais p1 et p2 sont respectivement High et Low ? Et que signifie 0,5 ?

Appliqué à mon code existant

   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen = (Open[1]==Low[1]);    // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; // размер свечи

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point)


Я правильно должен прописать: 
   double STelo = MathAbs(Close[1]-Open[1])/Point; // тело бычьей свечи
   double SHighTen = (High[1]-Close[1])/Point; // верхняя тень бычьей свечи
   bool SLowTen;

   if (NormalizeDouble(Open[1]-Low[1],Digits)<0.5*Point)  // отсутствие нижней тени бычьей свечи
  
   
   double Razmer_1 = (High[1]-Low[1])/Point; 

        
   if(Volume[0]>1) return;

   if (Open[1]<Close[1] && SHighTen > 5*STelo && SLowTen == true && Razmer_1 > 60*Point) // продажа
 
alexey1979621:

Tout le monde peut être offensé par un artiste, vous auriez dû l'écrire correctement. J'aime beaucoup les critiques - les critiques constructives. Je suis moi-même au courant de l'horrible code.

Il reste une question à ce sujet : comment écrire dans la condition que la taille de la bougie est plus de 60 points (en cinq chiffres).



Il s'agit de connaissances de base que vous devez comprendre, et non pas simplement consulter. La question est tellement traitée sur le forum que seules les personnes très paresseuses ne peuvent pas trouver la réponse et la résoudre. D'ailleurs, c'est beaucoup plus utile pour vous.

Mais qu'en est-il de la laideur du code - ce n'est pas pour moi. Il me semble qu'il est tout à fait normal d'introduire des variables supplémentaires pour rendre le code plus lisible.

 
artmedia70:

Double comparaison :



Dans ce cas.

if (NormalizeDouble(p1-p2,Digits)<0.5*Point) {
   

NormalizeDouble() est redondant ;).

 
VladislavVG:


Dans ce cas

NormalizeDouble() est redondant ;).

Et ensuite, expliquez-lui pourquoi il n'y a pas de normalisation ici et des prix normalisés dans les ordres commerciaux? C'est pourquoi j'ai mis la normalisation ici, afin qu'il ne fasse pas les yeux doux lorsqu'il envoie des prix non normalisés dans les ordres de négociation.
 
artmedia70:
Et ensuite lui expliquer pourquoi il n'y a pas de normalisation ici, mais des prix dans les commandes commerciales avec normalisation ? C'est pourquoi j'ai mis la normalisation ici, afin qu'il ne fasse pas les yeux doux lorsqu'il envoie des prix non normalisés dans l'ordre de négociation.


)))))))))))))))))) oui, c'est un argument.
 
VladislavVG:

)))))))))))))))))) oui, c'est un argument.
Je pense qu'il finira par apprendre où il en a besoin et où il n'en a pas besoin. En même temps, il saura immédiatement qu'une normalisation est nécessaire. Et quand il sera possible de s'en passer, ce sera au stade suivant de l'apprentissage... ;) A partir de ces considérations...
 
Les amis, s'il vous plaît, aidez-nous. Cela fait cinq jours maintenant et je n'arrive pas à comprendre. J'ai fait en sorte que mon EA modifie le stop loss d'un ordre lorsque les bons critères sont déclenchés. Et le stop loss - qui devrait être fixé, prendre le profit du dernier ordre fermé. Mais lorsque la modification commence, le robot fixe toujours un Stop Loss de 1.0000. Je ne comprends pas ce qui ne va pas. Je me suis déjà creusé les méninges. Quelqu'un a-t-il des variantes, comment prendre le take profit de l'ordre précédent contre le stop loss de l'ordre actuel ?