Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 365

 
Sepulca:
Und wenn Punkte berechnet werden, verwechseln Sie sie nicht mit Punkten. Sagen wir, doppelte SPRED=Ask-Bid-Punkte, oder sogar doppelte SPRED=(Ask-Bid)/Punkte.


Es ist nur ein Problem auf der Ebene, wie es scheint, um mich))) OrderOpenPrice() ist ein Double, aber um den tatsächlichen Eröffnungskurs zu sehen, muss ich einen String verwenden?))

und um eine Subtraktion oder Addition zu machen, muss man wieder eine Verdopplung der Zeichenkette machen, also kein Unsinn, oder ich verstehe etwas nicht)

 
vadynik:


Nur ein Problem auf gleicher Augenhöhe, wie es mir scheint)) OrderOpenPrice() ist ein Double, aber um den tatsächlichen Eröffnungspreis zu sehen, muss ich einen String daraus machen?))

Ich muss einen String verdoppeln, um subtrahieren oder addieren zu können, ist das nicht verrückt? Oder übersehe ich etwas?)


Nein, wenn Sie den OrderOpenPrice()-Wert herausnehmen, brauchen Sie ihn nicht einmal zu normalisieren, aber um ihn auszudrucken, müssen Sie die erforderliche Genauigkeit einstellen. Bei vielen Maklerunternehmen werden Variablen standardmäßig mit nur vier Dezimalstellen im Protokoll gedruckt, obwohl sie bei der Eröffnung von Aufträgen fünf Dezimalstellen verwenden...
 
vadynik:


Es ist nur ein Problem auf der Ebene, wie es scheint, um mich))) OrderOpenPrice() ist ein Double, aber um den tatsächlichen Eröffnungskurs zu sehen, muss ich einen String verwenden?))

und um eine Subtraktion oder Addition zu machen, muss man wieder eine Verdopplung der Zeichenkette machen, na ja, kein Unsinn, oder ich verstehe etwas nicht))


Obwohl ja))) Es muss historisch sein)))) Um einen fünfstelligen Eröffnungspreis zu sehen, müssen Sie eine Zeichenkette daraus machen((.

In der Regel werden doppelte Werte standardmäßig nur mit vier Dezimalstellen ausgegeben. Sie müssen sie also in eine Zeichenkette umwandeln.....(((((

 

Wie sagen Sie mir bitte einige bewährte Expert Advisor in MQL4 und 5, und die Zeit ist sehr kurz, manchmal müssen Sie eine Idee zu überprüfen oder jemandem helfen, endlich eine Grundlage für den Roboter zu schaffen und zu beenden, es selbst zu schreiben ...

Ich wäre Ihnen sehr dankbar, vielen Dank im Voraus!!! =)

 
Ekburg:

Wie sagen Sie mir bitte einige bewährte Expert Advisor in MQL4 und 5, und die Zeit ist sehr kurz, manchmal müssen Sie eine Idee zu überprüfen oder jemandem helfen, endlich eine Grundlage für den Roboter zu schaffen und zu beenden, es selbst zu schreiben ...

Ich wäre Ihnen sehr dankbar, vielen Dank im Voraus!!! =)

Was ist kein Baukasten? Sie nehmen die "Würfel" und bauen ;)
 
Sepulca:


Obwohl ja)))) muss dies historisch sein))) Um einen fünfstelligen Eröffnungspreis zu sehen, müssen Sie eine Zeichenfolge daraus machen((

In der Regel werden doppelte Standardwerte nur mit vier Nachkommastellen ausgegeben. Sie müssen also in eine Zeichenkette übersetzt werden.....(((((


Warum funktioniert die Normalisierung bei OrderOpenPrice() nicht ?
 
evillive:
Was ist kein Baukasten? Nimm die "Würfel" und baue ;)


Sehr nützlich, danke, ich werde es verwenden, aber nicht das)) Ich brauche genau einen Konstruktor, ich kenne einen guten, aber er ist auf Englisch und macht Experten in einer anderen Sprache...)
 
Sepulca:


Obwohl ja))) es muss historisch sein))) Um einen fünfstelligen Eröffnungspreis zu sehen, müssen Sie eine Zeichenfolge daraus machen((

In der Regel werden doppelte Werte standardmäßig nur mit vier Dezimalstellen ausgegeben. Daher müssen Sie sie in Strings umwandeln.....(((((

Was soll die ganze Aufregung? Wenn Sie es ausdrucken, wandeln Sie auf jeden Fall alles, was Sie ausgeben, in Tanga-Slips um. Selbst wenn Sie nur PRICE=Ask; Print(PRICE); verdoppeln, wird der PRICE automatisch in Tangas gekleidet und dann ausgedruckt. Mit DoubleToStr() geben Sie einfach die Größe des Höschens an, mit welcher Genauigkeit das Double im Tanga ausgegeben werden soll.
 

Ich bin so dumm...

Das Drehbuch

int start()
{

 for(int i=OrdersTotal()-1;i<=0;i--)
 {
    if(OrderSelect(i, SELECT_BY_POS)==true) 
      {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
      }
      else Print("OrderSelect() error - ",GetLastError());

 }
   return(0);
}

Im Log wird nichts angezeigt, es gibt zwei Marktpositionen, eine für Eurodol. und eine für Yenodol.

 
evillive:

Ich bin so dumm...

Das Drehbuch

Im Log wird nichts angezeigt, es gibt zwei Marktpositionen, eine für Eurodol. und eine für Yenodol.


Sie haben einen Fehler in der Schleifenzuweisung, sie ist ursprünglich falsch und wird daher nicht ausgeführt und Sie sehen die Ausdrucke nicht

int start()
  {
  for(int i=OrdersTotal()-1;i>=0;i--)
     {
     if(OrderSelect(i, SELECT_BY_POS)==true) 
        {
            Print("Normalized OOP order#", OrderTicket()," is ",NormalizeDouble(OrderOpenPrice(),5)); 
            Print("doubletostr OOP order#", OrderTicket()," is ",DoubleToStr(OrderOpenPrice(),5)); 
            Print("Symbol of order#",OrderTicket() ," is ",OrderSymbol()); 
            Print("Volume of order#",OrderTicket() ," is ",OrderLots()); 
        }
     else Print("OrderSelect() error - ",GetLastError());
     }
   return(0);
   }

Das ist richtig.