Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 815

 
Igor Makanu:

müssen wir über dieses Beispiel sprechen:

Nein, ganz und gar nicht, vorher wurde der Wert in Ordersend() von derselben Variablen gesetzt. Auch auf dem Ausdruck war es genau dasselbe.

 
Andrey Sokolov:

Nein, nicht nur das, sondern davor wurde in Ordersend() der Wert aus derselben Variablen gesetzt. Sogar die Druckausgabe war genau die gleiche.

Meiner Meinung nach gibt Print() nicht immer alle Doubles korrekt aus, ich weiß nicht, was der Grund dafür ist

Aber zu unserem Punkt - normalisieren StopLosses und TakeProfits, bevor sie an den Server gesendet werden, ist es in der Hilfe geschrieben, und ich denke, das ist richtig.

 
Igor Makanu:

Ich glaube, Print() gibt nicht immer alle Doppelwerte korrekt aus, ich weiß nicht, was der Grund dafür ist

aber zu unserem Punkt - normalisieren Sie die Stoplosses und Takeprofits, bevor Sie sie an den Server senden, ist es in der Hilfe geschrieben, und ich denke, das ist richtig.

Diese Variable stammte aus einem normalisierten Ausdruck
 
Andrey Sokolov:
Die Variable wurde aus dem normalisierten Ausdruck

Ich kann es von hier aus nicht sehen))), normalisieren Sie den Wert in OrderSend (), wenn Sie ihn an den Server senden - dort gibt es keine Optionen, der normalisierte Wert wird definitiv an den Server gesendet

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


Dies ist der Standard-MACD (wie Sie bereits erkannt haben)

Bitte sagen Sie mir, was diese ZeileMathAbs(MacdCurrent)>(MACDOpenLevel*Point) bedeutet?

Was sindMathAbs und(MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

Drehen Sie den Text um 30-40 Grad. Dann bleiben die Beschriftungen zwar lesbar, aber sie überschneiden sich weniger häufig

Multiplikation" hinzufügen - wenn sich der Mauszeiger innerhalb der Sitzung befindet, den Preis in Größe und Farbe hervorheben

Bevor der Code ist sehr weit, obwohl ein wenig drehen von Grad gefunden, ja jetzt wollte ich eine horizontale und vertikale Verschiebung des Preises zu tun und der Code hervorgehoben funktioniert nicht, warum nicht wissen?

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);

Und was ist "Multiplikation"?
 
Erzählen Sie uns kurz etwas über die Algorithmen zur Kursglättung, was sind sie?
 

Es gibt eine Frage, auf die es wahrscheinlich keine Antwort gibt: Es gibt eine bestimmte Ideologie des Schreibens von Ausdrücken, die ständig wiederholt wird, zum Beispiel:

if(Tdk>Odk) flag=true; es gibt den genau entgegengesetzten Vorzeichenausdruck, aber mit der gleichen Ideologie if(Tdk<Odk) flag=true; in beiden Fällen handelt es sich um den gleichen Code if(Tdk Odk) flag=true; ändern Sie das Vorzeichen > in dieses <, es wäre cool, wenn wir das Vorzeichen in einer Variablen speichern könnten, zum Beispiel durch eine logische Bedingung:

if(p==2) speichert das Vorzeichen >, if(p==1) speichert das Vorzeichen < und ersetzt es zwischen den Werten if(Tdk sign Odk) und schließlich keine Notwendigkeit, diesen Eintrag 2 Mal zu verwenden, es wäre sehr praktisch in langen Ausdrücken mit der gleichen Ideologie, wir könnten diese Sache in eine Funktion setzen und die Menge an Code reduzieren. Ist so etwas möglich?

 
Seric29:

Es gibt eine Frage, auf die es wahrscheinlich keine Antwort gibt: Es gibt eine bestimmte Ideologie des Schreibens von Ausdrücken, die ständig wiederholt wird, zum Beispiel:

if(Tdk>Odk) flag=true; es gibt den genau entgegengesetzten Vorzeichenausdruck, aber mit der gleichen Ideologie if(Tdk<Odk) flag=true; in beiden Fällen handelt es sich um den gleichen Code if(Tdk Odk) flag=true; ändern Sie das Vorzeichen > in dieses <, es wäre cool, wenn wir das Vorzeichen in einer Variablen speichern könnten, zum Beispiel durch eine logische Bedingung:

if(p==2) speichert das Vorzeichen >, if(p==1) speichert das Vorzeichen < und ersetzt es zwischen den Werten if(Tdk sign Odk) und schließlich keine Notwendigkeit, diesen Eintrag 2 Mal zu verwenden, es wäre sehr praktisch in langen Ausdrücken mit der gleichen Ideologie, wir könnten diese Sache in eine Funktion setzen und die Menge an Code reduzieren. Ist so etwas möglich?

Ja.

Code von @fxsaber lesen.

Lesen Sie hier mehr

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

Es gibt eine Frage, auf die es wahrscheinlich keine Antwort gibt: Es gibt eine bestimmte Ideologie des Schreibens von Ausdrücken, die ständig wiederholt wird, zum Beispiel:

if(Tdk>Odk) flag=true; es gibt den genau entgegengesetzten Vorzeichenausdruck, aber mit der gleichen Ideologie if(Tdk<Odk) flag=true; in beiden Fällen handelt es sich um den gleichen Code if(Tdk Odk) flag=true; ändern Sie das Vorzeichen > in dieses <, es wäre cool, wenn wir das Vorzeichen in einer Variablen speichern könnten, zum Beispiel durch eine logische Bedingung:

if(p==2) speichert das Vorzeichen >, if(p==1) speichert das Vorzeichen < und ersetzt es zwischen den Werten if(Tdk sign Odk) und schließlich keine Notwendigkeit, diesen Eintrag 2 Mal zu verwenden, es wäre sehr praktisch in langen Ausdrücken mit der gleichen Ideologie, wir könnten diese Sache in eine Funktion setzen und die Menge an Code reduzieren. Ist so etwas möglich?

Dann schreiben Sie sich eine Vergleichsfunktion/Vorlage

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