Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 741 1...734735736737738739740741742743744745746747748...1504 Neuer Kommentar Alexey Volchanskiy 2017.04.07 00:50 #7401 fxsaber: Sie haben ohne Perversionen gefragt. Und wenn Sie das getan haben, dann...Das ist der Grund, warum es so ist.double GetPositionCommission( void ){ double Commission = ::PositionGetDouble(POSITION_COMMISSION); // На случай, если POSITION_COMMISSION не работает if (Commission == 0) { const ulong Ticket = MT4ORDERS::GetPositionDealIn(); if (Ticket > 0) { const double LotsIn = ::HistoryDealGetDouble(Ticket, DEAL_VOLUME); if (LotsIn > 0) Commission = ::HistoryDealGetDouble(Ticket, DEAL_COMMISSION) * ::PositionGetDouble(POSITION_VOLUME) / LotsIn; } } return(Commission);} OderIch weiß, dass der Beitrag schon alt ist, aber er hat mich gerade jetzt wie ein Splitter getroffen.Dieses Bit hier ist nicht korrekt, die Kommission in Forex kann Null sein// На случай, если POSITION_COMMISSION не работает if (Commission == 0) Markttheorie EURUSD - Trends, Prognosen Auf digitalen Filtern basierende Maksym Moroz 2017.04.07 06:22 #7402 Artyom Trishkin: ObjectGetValueByShift() (nur MT4), ObjectGetValueByTime() (MT4, MT5) Dankeschön fxsaber 2017.04.07 06:24 #7403 Alexey Volchanskiy: Ich weiß, dass der Beitrag schon alt ist, aber er hat mich gerade jetzt wie ein Splitter getroffen.Dieses Bit hier ist nicht korrekt, die Kommission in Forex kann Null sein Inwiefern ist sie falsch? Klimenko_a_e 2017.04.10 00:08 #7404 Problem mit dem Kopierkonstruktor in MQL5Das dynamische Array this.arr im Kopierkonstruktor wird vom Debugger als eindimensional angesehen.Daher ist die Größe von ob2.arr in der Ausgabe gleich 0.Warum?Das gleiche Fragment funktioniert korrekt in MQL4.MT5-EditorMetaEditor 5.0 1578MT4-EditorMetaEditor 5.0 1562class obj { public: double arr[][2]; obj(){} obj(obj &o) { ArrayCopy(this.arr,o.arr); } obj operator=(obj &o) { ArrayCopy(this.arr,o.arr); return &this; } }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ obj Copy(obj &o) { return o; }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart() { //--- obj ob1,ob2; ArrayResize(ob1.arr,3); ob2=Copy(ob1); bool stop=true; } Questions from Beginners MQL5 Strategietest Error Fragen von Neueinsteigern zu fxsaber 2017.04.10 06:39 #7405 Klimenko_a_e: Das Ergebnis ist, dass die Größe ob2.arr in der Ausgabe 0 ist.Und warum?obj* Copy(obj &o) { return & o; };Andernfalls erstellen Sie ein neues Objekt. void operator=(obj &o) { ArrayCopy(this.arr,o.arr); return; // &this; }Sonst passieren unnötige Dinge.Ich bezweifle, dass Ihr Code in MQL4 korrekt funktioniert. Akinak 2017.04.10 15:10 #7406 Guten Tag, können Sie mir bitte sagen, wie ich einen einzelnen schwebenden Auftrag eröffnen kann?Wie stoppe ich die Schleife, wenn ich einen schwebenden Auftrag öffnen muss, während die Bucht offen ist???Ich kann einen ganzen Haufen davon öffnen, bis das Pfand aufgebraucht ist!Ich weiß nicht, wie man einen schwebenden Auftrag eröffnet. Fragen von Anfängern MQL4 [WARNUNG GESCHLOSSEN!] Alle Fragen [ARCHIV] Alle Fragen von Vladislav Andruschenko 2017.04.10 15:12 #7407 Akinak: Guten Tag, können Sie mir bitte sagen, wie ich einen einzelnen schwebenden Auftrag eröffnen kann?Wie stoppe ich die Schleife, wenn ich einen schwebenden Auftrag öffnen muss, während die Bucht offen ist???Ich kann einen ganzen Haufen davon öffnen, bis das Pfand aufgebraucht ist!Vielen Dank im Voraus!Zuerst müssen Sie herausfinden, "wer er ist". Akinak 2017.04.10 16:18 #7408 Vladislav Andruschenko:Zuerst müssen Sie herausfinden, "wer er ist".Vladislav Andruschenko: Zuerst müssen Sie herausfinden, "wer er ist".for(int i=0; i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS))if(AuftragSymbol()==Symbol())if(OrderMagicNumber()==Magic)if(b>0){int tak=OrderSend(Symbol(),OP_SELLSTOP,Lots_work,SOPrase,Slip,0,0,",Magic,0,clrRed);if(tak>0)Print("SELLSTOP Ok");sonstPrint("SELLSTOP Fehler");} if(s>0){OrderSend(Symbol(),OP_BUYSTOP,Lots_work,BOPrase,Slip,0,0,",Magic,0,clrBlue);if(tik>0)Print("BUYSTOP Ok");sonstPrint("BUYSTOP Fehler");}} Questions from Beginners MQL5 Pending orders Broken CLOSE ALL function Vladislav Andruschenko 2017.04.10 19:45 #7409 Nun, der Zyklus läuft folgendermaßen ab:Sie eröffnen eine Position - Sie eröffnen einen Auftrag, die Anzahl der Positionen wird erhöht, der Zyklus wiederholt sich - bis ins Unendliche.int OrderSTotal=OrdersTotal(); for(int i=0; i<OrderSTotal;i++) { if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==Symbol()) if(OrderMagicNumber()==Magic) { if(b>0) { int tak=OrderSend(Symbol(),OP_SELLSTOP,Lots_work,SOPrase,Slip,0,0,"",Magic,0,clrRed); if(tak>0) Print("SELLSTOP Ok"); else Print("SELLSTOP Error"); } if(s>0) { int tik=OrderSend(Symbol(),OP_BUYSTOP,Lots_work,BOPrase,Slip,0,0,"",Magic,0,clrBlue); if(tik>0) Print("BUYSTOP Ok"); else Print("BUYSTOP Error"); } } } //+------------------------------------------------------------------+ Sie müssen wissen, was b und s sind Klimenko_a_e 2017.04.10 19:58 #7410 fxsaber: Andernfalls erstellen Sie ein neues Objekt.Sonst passieren unnötige Dinge.Ich bezweifle, dass Ihr Code in MQL4 korrekt funktioniert.In echtem Code - die Funktion gibt ein Objekt zurück.Ich denke, der Kopierkonstruktor sollte in diesem Fall eine temporäre Kopie erstellen.Der Code funktioniert korrekt in MQL5 Build 1545.In der neuen Version kann der Kopierkonstruktor nicht einmal die Größe eines eindimensionalen Arrays ändern: Fehler 4007.Dies ist meiner Meinung nach nicht korrekt. Fragen zu OOP in MQL5 Der Compiler unterscheidet ************Forum EA-Wettbewerb .... Lasst 1...734735736737738739740741742743744745746747748...1504 Neuer Kommentar
Sie haben ohne Perversionen gefragt. Und wenn Sie das getan haben, dann...
{
double Commission = ::PositionGetDouble(POSITION_COMMISSION);
// На случай, если POSITION_COMMISSION не работает
if (Commission == 0)
{
const ulong Ticket = MT4ORDERS::GetPositionDealIn();
if (Ticket > 0)
{
const double LotsIn = ::HistoryDealGetDouble(Ticket, DEAL_VOLUME);
if (LotsIn > 0)
Commission = ::HistoryDealGetDouble(Ticket, DEAL_COMMISSION) * ::PositionGetDouble(POSITION_VOLUME) / LotsIn;
}
}
return(Commission);
}
Ich weiß, dass der Beitrag schon alt ist, aber er hat mich gerade jetzt wie ein Splitter getroffen.
Dieses Bit hier ist nicht korrekt, die Kommission in Forex kann Null sein
ObjectGetValueByShift() (nur MT4), ObjectGetValueByTime() (MT4, MT5)
Dankeschön
Ich weiß, dass der Beitrag schon alt ist, aber er hat mich gerade jetzt wie ein Splitter getroffen.
Dieses Bit hier ist nicht korrekt, die Kommission in Forex kann Null sein
Inwiefern ist sie falsch?
Problem mit dem Kopierkonstruktor in MQL5
Das dynamische Array this.arr im Kopierkonstruktor wird vom Debugger als eindimensional angesehen.
Daher ist die Größe von ob2.arr in der Ausgabe gleich 0.
Warum?
Das gleiche Fragment funktioniert korrekt in MQL4.
MT5-Editor
MetaEditor 5.0 1578
MT4-Editor
MetaEditor 5.0 1562
Das Ergebnis ist, dass die Größe ob2.arr in der Ausgabe 0 ist.
Und warum?
Andernfalls erstellen Sie ein neues Objekt.
Sonst passieren unnötige Dinge.
Ich bezweifle, dass Ihr Code in MQL4 korrekt funktioniert.
Ich kann einen ganzen Haufen davon öffnen, bis das Pfand aufgebraucht ist!
Ich weiß nicht, wie man einen schwebenden Auftrag eröffnet.
Ich kann einen ganzen Haufen davon öffnen, bis das Pfand aufgebraucht ist!
Vielen Dank im Voraus!
Zuerst müssen Sie herausfinden, "wer er ist".
Zuerst müssen Sie herausfinden, "wer er ist".
Zuerst müssen Sie herausfinden, "wer er ist".
}
Nun, der Zyklus läuft folgendermaßen ab:
Sie eröffnen eine Position - Sie eröffnen einen Auftrag, die Anzahl der Positionen wird erhöht, der Zyklus wiederholt sich - bis ins Unendliche.
Sie müssen wissen, was b und s sind
Andernfalls erstellen Sie ein neues Objekt.
Sonst passieren unnötige Dinge.
Ich bezweifle, dass Ihr Code in MQL4 korrekt funktioniert.
In echtem Code - die Funktion gibt ein Objekt zurück.
Ich denke, der Kopierkonstruktor sollte in diesem Fall eine temporäre Kopie erstellen.
Der Code funktioniert korrekt in MQL5 Build 1545.
In der neuen Version kann der Kopierkonstruktor nicht einmal die Größe eines eindimensionalen Arrays ändern: Fehler 4007.
Dies ist meiner Meinung nach nicht korrekt.