Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4537
Beiträge: 41162
Benutzer: 6.933
Aktive Benutzer: 229
Links: 80
Wir begrüßen unseren neuesten Benutzer: peterken
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- peterken
vor 3 Tagen
- traderotor
vor 4 Tagen
- Brummi
vor 6 Tagen
- Fussellien...
vor 6 Tagen
- ZHannes82

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 102
Gesamt: 102
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: Jun 2020
Beiträge: 8
TraumExpert befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Michael_ Beitrag anzeigen
Hallo und guten Abend,



Ich mach ja derzeit mit der while-Schleife (while(LongOrder1<=0) bzw. while(LongOrder2<=0)) die Long-Orders mit "OrderSend" auf. Ist das so notwendig oder genügt ein einfacher Befehl wie "int LongOrder = OrderSend(...)"? Gibt's da Probleme im Livebetrieb?

l
Hier fragst Du wieder das Ticket ab. Das solltest Du nicht tun.
Mit Zitat antworten
  #12 (permalink)  
Alt vor 4 Wochen
Neues Mitglied
 
Registriert seit: Jun 2020
Beiträge: 8
TraumExpert befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Michael_ Beitrag anzeigen
Hallo zusammen,


Eventuell mit einem Counter, der die offenen Orders zählt, und nachfolgend einer for-Schleife (beginnend mit dem Counter+1)
Michael
Counter, schon nicht schlecht!

int CountOrders()
{

int total=0;

for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(..... *1)



total++;


}

return (total);
}

*1 Abfrage auf Wert, OrderArt, Identifier EA (MagicNo).

Vor deiner Order fragst Du dann ab, wie viele Orders es gibt und zugelassen sind. Achtung evtl Buy/Sell Orders unterscheiden.
Gruß
Mit Zitat antworten
  #13 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Jun 2020
Beiträge: 33
Michael_ befindet sich auf einem aufstrebenden Ast
Standard

Hallo TraumExpert,

Zitat:
Zitat von TraumExpert Beitrag anzeigen
Hier fragst Du wieder das Ticket ab. Das solltest Du nicht tun.
Mit "int LongOrder = OrderSend(...)" frag ich nicht nach dem Ticket, da gib ich ja nur die Order auf. Falls es nicht erfolgreich war, frage ich nach dem Errorcode. Eigentlich würde ich den Befehl genau so ausführen wie in der Doku: https://docs.mql4.com/trading/ordersend

Ist das nicht die richtige Vorangehensweise?

LG,
Michael
Mit Zitat antworten
  #14 (permalink)  
Alt vor 4 Wochen
Benutzerbild von Indikator-Trading
Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 110
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Michael_ Beitrag anzeigen
Mit "int LongOrder = OrderSend(...)" frag ich nicht nach dem Ticket, da gib ich ja nur die Order auf.
Eigentlich habt ihr beide recht.

Die OrderSend gibt dir die Ticketnummer zurück gibt, sobald die Order ohne Fehler platziert worden ist. Bei Fehlern ist die Rückgabe halt -1 und genau danach fragst du ja in der While-Schleife.

Zitat:
Returned value
Returns number of the ticket assigned to the order by the trade server or -1 if it fails. To get additional error information, one has to call the GetLastError() function.
Wenn du mehrfach die OrderSend Funktion senden möchtest, da du erwartest, dass das evtl. nicht klappt, dann solltest du das eher in einer For-Schleife packen. Diese beendet den OrderSend()-Versuch nach x-Durchläufen und du solltest dann darüber informiert werden (Alert(), SendNotification(), SendEmail,.. usw.).
Zudem würde ich noch eine Wartefunktion hinzufügen und IsTradeContextBusy() abfragen. Außerdem kann es sinnvoll sein IsTradeAllowed() z.B. in der OnInit()-Funktion abzufragen

Gruß Timo
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mehrere orders

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 07:19 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2020 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2020 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------