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: 4973
Beiträge: 43267
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Like Tree2Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 24.03.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ok, wenn es Dir tatsächlich nur! darum geht, beim Neustart des MT4 die offenen Orders abzufragen, dann reicht es, wenn Du die Abfrage in die init()-Funktion packst, denn die wird nur einmal am Anfang aufgerufen.

Aber ungewöhnlich ist das trotzdem!

traderdoc
  #12 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Im Grunde sollte es reichen.
Bei einem EA mit einem offenen Trade wäre mir es recht egal und ich würde es nach wie vor in den start() Bereich packen.
Bei meiner Grididee kann es ggf sein, dass 50 Trades oder mehr offen sind.
Das kann ich jetzt leider noch nicht ermitteln.
Und dann bei jedem Durchlauf alle offenen Prositionen ermitteln kostet doch viel zu viel Zeit. Gerade wenn der Kurs durchrauscht.
  #13 (permalink)  
Alt 24.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Ich habe es durchblicken lassen, der doc hat es und dennoch scheint hier was unklar zu sein, also nochmal:

Wo für mußt Du wissen wie viele trades offen sind? Bist Du sicher daß diese nur EINMALIG, nämlich beim start des EA (wo i.d.R. noch gar keine trades des EA offen sind) zählen willst?

Beispiel, man kann es auch "Wink mit dem Zaunpfahl" nennen: Trader Dosenkohl startet morgens um 8 uhr seinen super-grid-ea. Da wird in der init-funktion eine Orderzählfunktion aufgerufen. Offene orders = 0. Jetzt läuft der ea und öffnet fleissig trades.
Es ist 16 uhr, Trader Dosenkohl ist frustriert - ganze 1500 offene orders, das darf nicht wahr sein. Der ea sollte doch nur maximal 5 orders auf einmal offen haben.
Wie konnte das passieren, wer hat an der Uhr gedreht, was ist hier los? Doch dann, man ahnt es schon, der Geistesblitz. In der Folge hat Trader Dosenkohl die Idee mit der Initfunktion dann nochmal überdacht und sich entschlossen den Kram doch lieber in der start-funktion aufzurufen um immer auf dem aktuellen stand zu sein.

Und jetzt die Preisfrage: Was macht trader dosenkohl am Anfang falsch, was Du richtig machst?
  #14 (permalink)  
Alt 24.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Nachtrag:
Zitat:
Zitat von PortfolioTrader Beitrag anzeigen
Und dann bei jedem Durchlauf alle offenen Prositionen ermitteln kostet doch viel zu viel Zeit. Gerade wenn der Kurs durchrauscht.
Ja, ich würde mir für sowas auch lieber nen Quantenrechner zulegen, ...

Spaß beiseite: Gehe mal Kaffeetrinken oder lenke Dich sonstwie ab. Und dann lies' dir das Thema hier nochmal durch. Aktuell scheinst Du den Wald vor lauter Bäumen nicht zu sehen (ja, kann vorkommen wenn man sich in eine Sache vergräbt, das kenne ich auch ), da hilft nur ein wenig Abstand.
  #15 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fxdaytrader Beitrag anzeigen
Ich habe es durchblicken lassen, der doc hat es und dennoch scheint hier was unklar zu sein, also nochmal:

Wo für mußt Du wissen wie viele trades offen sind? Bist Du sicher daß diese nur EINMALIG, nämlich beim start des EA (wo i.d.R. noch gar keine trades des EA offen sind) zählen willst?

Beispiel, man kann es auch "Wink mit dem Zaunpfahl" nennen: Trader Dosenkohl startet morgens um 8 uhr seinen super-grid-ea. Da wird in der init-funktion eine Orderzählfunktion aufgerufen. Offene orders = 0. Jetzt läuft der ea und öffnet fleissig trades.
Es ist 16 uhr, Trader Dosenkohl ist frustriert - ganze 1500 offene orders, das darf nicht wahr sein. Der ea sollte doch nur maximal 5 orders auf einmal offen haben.
Wie konnte das passieren, wer hat an der Uhr gedreht, was ist hier los? Doch dann, man ahnt es schon, der Geistesblitz. In der Folge hat Trader Dosenkohl die Idee mit der Initfunktion dann nochmal überdacht und sich entschlossen den Kram doch lieber in der start-funktion aufzurufen um immer auf dem aktuellen stand zu sein.

Und jetzt die Preisfrage: Was macht trader dosenkohl am Anfang falsch, was Du richtig machst?
Dein schön überheblicher Unterton bringt Dir nicht viel, denn mir geht es gerade eben nur um das Auffinden der Trades nach einem Neustart.
Alles weitere, also der Gridbaum der im laufenden Betrieb entsteht ist davon nicht betroffen. Dieser wird in einem Array abgelegt welches sich wunderbar bei jedem weiteren Trade um eine Zeile vergrößert.
So kann ich mir aus dem Array Min, Max holen, schnell über dass Array die Pips aufaddieren, ...und und und.

Verstanden?
  #16 (permalink)  
Alt 24.03.14
Benutzerbild von fxdaytrader
Premium Mitglied
 
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
fxdaytrader befindet sich auf einem aufstrebenden Ast
Standard

Verstanden
Zitat:
Zitat von PortfolioTrader Beitrag anzeigen
Dein schön überheblicher Unterton bringt Dir nicht viel, denn mir geht es gerade eben nur um das Auffinden der Trades nach einem Neustart.
Schade, habe ich mir die schöne Geschichte umsonst ausgedacht.

"Überheblich" war nicht meine Absicht, ist auch nicht meine Art, ich ging wirklich davon aus daß hier ein Missverständnis vorliegt.
  #17 (permalink)  
Alt 24.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fxdaytrader Beitrag anzeigen
Verstanden

Schade, habe ich mir die schöne Geschichte umsonst ausgedacht.

"Überheblich" war nicht meine Absicht, ist auch nicht meine Art, ich ging wirklich davon aus daß hier ein Missverständnis vorliegt.
Okay, dann passt es wieder.
  #18 (permalink)  
Alt 25.03.14
Mitglied
 
Registriert seit: Aug 2013
Beiträge: 61
dave_hofmann befindet sich auf einem aufstrebenden Ast
Standard

Hallo PortfolioTrader,

deine Idee ist glaube ich nur dann sinnvoll, wenn du in der Init() wissen willst, ob noch Trades von einer vorherigen Session offen sind.
Wenn du vermeiden willst, dass du immer wieder über alle offenen Trades eine Schleife durchführen willst um deine offenen Trades zu finden, dann kannst du dir die offenen Trades im EA merken. Dazu kannst du dir den Return-Wert der Ordersend Funktion merken und per Orderselect (SELECT_BY_TICKET) die richtige Order auswählen.

Trotzdem ist das möglich, allerdings weiß ich nicht, ob das laufzeittechnisch die bessere Lösung ist. Dies scheint ja dein Problem zu sein. Hierfür ist es im Regelfall besser, mal Schleife zu optimieren, woher weißt du dass du ein Laufzeitproblem hast?


Gruß

Dave
__________________
hier schreibe ich Beiträge - www.aomt.de
  #19 (permalink)  
Alt 25.03.14
Mitglied
 
Registriert seit: Oct 2013
Beiträge: 130
PortfolioTrader befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von dave_hofmann Beitrag anzeigen
Hallo PortfolioTrader,

deine Idee ist glaube ich nur dann sinnvoll, wenn du in der Init() wissen willst, ob noch Trades von einer vorherigen Session offen sind.
Wenn du vermeiden willst, dass du immer wieder über alle offenen Trades eine Schleife durchführen willst um deine offenen Trades zu finden, dann kannst du dir die offenen Trades im EA merken. Dazu kannst du dir den Return-Wert der Ordersend Funktion merken und per Orderselect (SELECT_BY_TICKET) die richtige Order auswählen.

Trotzdem ist das möglich, allerdings weiß ich nicht, ob das laufzeittechnisch die bessere Lösung ist. Dies scheint ja dein Problem zu sein. Hierfür ist es im Regelfall besser, mal Schleife zu optimieren, woher weißt du dass du ein Laufzeitproblem hast?


Gruß

Dave
Ich kann noch gar nicht beurteilen ob ich ein Laufzeitproblem haben werde. Es kam mir nur in meinen Vorüberlegungen, dass ich hierauf acht geben will. Nennen wir es "guessworking".

Genau, mein Problem ist, dass ich wissen will ob noch ein Basket offen ist. Bei einem Grid ist die Wahrscheinlich recht hoch.
Da will ich offene Trades aus dem offenen Basket übernehmen und weiterverarbeiten und offene Pending und/oder Limit Order schließen.
Die soll der EA dann neu berechnen und ggf. wieder öffnen.
Thema geschlossen

Lesezeichen

Stichworte
mql4, offen, offene trades, programmierung, programmierung metatrader, trades

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 +1. Es ist jetzt 15:29 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.
-----------------------------------------------------------------------------------------------------------------------------