Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43266
Benutzer: 7.224
Aktive Benutzer: 75
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 4 Tagen
- Sundaytrad...
vor 4 Tagen
- TS_6
vor 6 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 26.08.20
Mitglied
 
Registriert seit: Jun 2020
Beiträge: 38
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.
  #12 (permalink)  
Alt 26.08.20
Mitglied
 
Registriert seit: Jun 2020
Beiträge: 38
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ß
  #13 (permalink)  
Alt 27.08.20
Mitglied
 
Registriert seit: Jun 2020
Beiträge: 41
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
  #14 (permalink)  
Alt 27.08.20
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
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
Thema geschlossen

Lesezeichen

Stichworte
mehrere orders


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 20:06 Uhr.





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