Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 815

 
Igor Makanu:

nous devons parler de cet exemple :

Non, pas du tout, avant cela, dans Ordersend() la valeur était définie à partir de la même variable. Même dans l'impression, c'était exactement la même chose.

 
Andrey Sokolov:

Non, pas seulement cela, mais avant cela, dans Ordersend() la valeur était définie à partir de la même variable. Même la sortie imprimée était exactement la même.

À mon avis, Print() n'affiche pas toujours tous les doubles avec précision, je ne sais pas pourquoi.

Mais pour ce qui est de notre point - normaliser les StopLosses et TakeProfits avant de les envoyer au serveur, c'est écrit dans l'aide, et je pense que c'est correct.

 
Igor Makanu:

Je pense que Print() n'affiche pas toujours tous les doubles avec précision, je ne sais pas pourquoi.

mais pour ce qui nous concerne - normaliser les stoploss et takeprofits avant de les envoyer au serveur, c'est écrit dans l'aide, et je pense que c'est correct.

Cette variable provenait d'une expression normalisée
 
Andrey Sokolov:
La variable provenait de l'expression normalisée

Je ne le vois pas d'ici))), normaliser la valeur dans OrderSend () lors de l'envoi au serveur - il n'y a pas d'options ici, la valeur normalisée sera définitivement envoyée au serveur

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


Il s'agit du MACD standard (comme vous l'avez déjà compris)

. Veuillez me dire ce que signifie cette ligneMathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?

Que sont lesMathAbs et(MACDOpenLevel*Point) ?

 
Maxim Kuznetsov:

faire pivoter le texte de 30 à 40 degrés. Les étiquettes resteront lisibles, mais elles se chevaucheront moins souvent.

ajouter "multiplication" - lorsque le pointeur de la souris se trouve à l'intérieur de la session, mettre en évidence le prix en taille et en couleur

Avant le code est très loin bien que trouvé un petit tour de degrés, oui maintenant je voulais faire un déplacement horizontal et vertical du prix et le code mis en évidence ne fonctionne pas, pourquoi ne sais pas ?

objname = session + " Session Low label" ;

ObjectCreate(objname, OBJ_TEXT, 0, time2 - 1800, price1) ;

ObjectSet(objname, OBJPROP_BACK, false) ;

ObjectSet(objname, OBJPROP_XDISTANCE, 477) ;

ObjectSet(objname, OBJPROP_YDISTANCE, 91) ;

ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime) ;

ObjectSet(objname, OBJPROP_ANGLE,-41) ;

Et qu'est-ce que la "multiplication".
 
Parlez-nous brièvement des algorithmes de lissage des devis, quels sont-ils ?
 

il y a une question, il n'y a probablement pas de réponse : alors, regardez, il y a une certaine idéologie de l'écriture des expressions, qui se répète tout le temps, par exemple :

if(Tdk>Odk) flag=true ; il y a l'expression de signe exactement opposé mais avec la même idéologie if(Tdk<Odk) flag=true ; dans les deux cas le même code est impliqué if(Tdk Odk) flag=true ; changer le signe > à ce <, ce serait cool si on pouvait enregistrer le signe à la variable par condition logique par exemple :

if(p==2) sauvegarder le signe >, if(p==1) sauvegarder le signe < et le substituer entre les valeurs if(Tdk sign Odk) et éventuellement pas besoin d'utiliser cette entrée 2 fois, ce serait très pratique dans les expressions longues avec la même idéologie, on pourrait mettre cette chose dans une fonction et réduire la quantité de code. Une telle chose est-elle possible ?

 
Seric29:

il y a une question, il n'y a probablement pas de réponse : alors, regardez, il y a une certaine idéologie de l'écriture des expressions, qui se répète tout le temps, par exemple :

if(Tdk>Odk) flag=true ; il y a l'expression de signe exactement opposé mais avec la même idéologie if(Tdk<Odk) flag=true ; dans les deux cas le même code est impliqué if(Tdk Odk) flag=true ; changer le signe > à ce <, ce serait cool si on pouvait enregistrer le signe à la variable par condition logique par exemple :

if(p==2) sauvegarder le signe >, if(p==1) sauvegarder le signe < et le substituer entre les valeurs if(Tdk sign Odk) et éventuellement pas besoin d'utiliser cette entrée 2 fois, ce serait très pratique dans les expressions longues avec la même idéologie, on pourrait mettre cette chose dans une fonction et réduire la quantité de code. Une telle chose est-elle possible ?

Oui.

Lire le code de @fxsaber.

Plus d'informations ici

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

il y a une question, il n'y a probablement pas de réponse : alors, regardez, il y a une certaine idéologie de l'écriture des expressions, qui se répète tout le temps, par exemple :

if(Tdk>Odk) flag=true ; il y a l'expression de signe exactement opposé mais avec la même idéologie if(Tdk<Odk) flag=true ; dans les deux cas le même code est impliqué if(Tdk Odk) flag=true ; changer le signe > à ce <, ce serait cool si on pouvait enregistrer le signe à la variable par condition logique par exemple :

if(p==2) sauvegarder le signe >, if(p==1) sauvegarder le signe < et le substituer entre les valeurs if(Tdk sign Odk) et éventuellement pas besoin d'utiliser cette entrée 2 fois, ce serait très pratique dans les expressions longues avec la même idéologie, on pourrait mettre cette chose dans une fonction et réduire la quantité de code. Une telle chose est-elle possible ?

Alors, écrivez vous-même une fonction/un modèle de comparaison.

if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }

Raison: