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: 43273
Benutzer: 7.224
Aktive Benutzer: 74
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 18 Stunden
- Sundaytrad...
vor einem Tag
- TS_6
vor 3 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 10.04.17
Neues Mitglied
 
Registriert seit: Apr 2017
Beiträge: 26
Mr_Snow befindet sich auf einem aufstrebenden Ast
Standard Orderverwaltung, macht ein Array Sinn?

Hallo,

erst mal ein freundliches Hallo, das wird meine erste Frage in diesem Forum.

Dann mal zu Sache:

Ich habe in meinem EA in der Regel immer eine Hauptorder, an die ein bis drei Orders angelehnt werden. Nachkäufe oder Teilverkäufe also.

Für ein so ein Orderset, so nenne ich es mal, kommen dann immer bis zu insg. 4 Orders zusammen. Abhängig von den Signalen, können dann auch schon mal 2 oder 3 Ordersets aktiv sein. Das bedeutet 4*3 = 12 aktive Orders, die verwaltet werden wollen.

Das erste was mir in den Sinn kam, sind natürlich Arrays. Für Kleinkram funktionieren die auch in MQL ganz passabel, aber möchte man spezifische Werte aus einem Array holen, bin ich über diesen Satz in der MQL-Doku gestolpert:

Die Funktion, um ein Array zu durchsuchen - arraybsearch()

"The function returns index of a found element. If the wanted value isn't found, the function returns the index of an element nearest in value."

Wenn die Funktion den gesuchten Wert nicht findet, nimmt sie einfach den nächsten?! Hä?
Das macht überhaupt keinen Sinn.

Jetzt stehe ich auf dem Schlauch. Bevor ich jetzt alles mit for und while Schleifen zupflastere um die Orders annähernd sinnvoll zu verwalten, wollte ich fragen, wie Ihr solche Orderverwaltungen löst.

Über Arrays? Und wenn ja, worauf sollte ich achten, oder wo gibts im Internet Lesestoff.
Oder klassisch über gestaffelte while und for Scheifen, die die OrdersTotal() solange abfragt, bis man bei der entsprechenden Order geladent ist?

Über Anregungen oder Codebeispiele wäre ich sehr dankbar.

In diesem Sinne noch mal ein freundliches Hallo in die Runde, ich bin der Neue

Snow
  #2 (permalink)  
Alt 10.04.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

""The function returns index of a found element. If the wanted value isn't found, the function returns the index of an element nearest in value."

Wenn die Funktion den gesuchten Wert nicht findet, nimmt sie einfach den nächsten?! Hä?
Das macht überhaupt keinen Sinn."

Nein, da steht nearest in value - also der am nächsten gelegene Wert des zu Suchenden - also nicht der nächste Wert in dem sortierten Array.

D.h. unter Benutzung von ArrayBsearch():
1. das Array muss sortiert sein
2. die Suche wird nur in der ersten Dimension stattfinden
3. findet die Suche nicht genau diesen Wert, dann wird der Index ausgegeben, dessen Wert dem zu Suchenden am nächsten kommt.

D.h. es gibt jetzt zwei Möglichkeiten zu suchen:
1. mittels ArrayBsearch() in der 1. Dimension, dann müsste der Wert des zurückgegebenen Index nochmals verglichen werden mit dem zu Suchenden
2. es wird nicht ArrayBsearch() benutzt, sondern man sucht über schrittweise Vergleiche des zu suchenden Wertes mit allen Elementen des Arrays. Das geht dann auch über alle Dimensionen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 10.04.17
Neues Mitglied
 
Registriert seit: Apr 2017
Beiträge: 26
Mr_Snow befindet sich auf einem aufstrebenden Ast
Standard

Ah ok danke. Das RetunValue nochmals gegenprüfen ist eine Option, darauf bin ich nicht gekommen.

Kennst Du gute Quellen, wo das Arbeiten mit Mehrdimensonalen Arrays anschaulich erklärt wird? Löschen, verschieben, Daten ändern, etc.
  #4 (permalink)  
Alt 10.04.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Mr_Snow Beitrag anzeigen
Kennst Du gute Quellen, wo das Arbeiten mit Mehrdimensonalen Arrays anschaulich erklärt wird? Löschen, verschieben, Daten ändern, etc.
Nein, kenne ich nicht, aber was soll sich da groß ändern, ob ein- oder zwei- oder dreidimensional?
So viele Arrayfunktionen sind das hier nicht. Und entweder kann man die Funktion über alle Dimensionen benutzen oder nur über die erste. Das steht dann in dem jeweiligen Hilfetext des MetaEditors.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 11.04.17
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Mr_Snow Beitrag anzeigen

Für ein so ein Orderset, so nenne ich es mal, kommen dann immer bis zu insg. 4 Orders zusammen. Abhängig von den Signalen, können dann auch schon mal 2 oder 3 Ordersets aktiv sein. Das bedeutet 4*3 = 12
Moin,

ich würde an Deiner Stelle je Orderset einen eindimensionalen Array definieren, diese dann mit den OrderTicket-Nummern befüllen (oder mit Magic-Numbers, falls Du diese bevorzugst) und die Array dann ganz normal mit for-Schleifen auslesen.
Thema geschlossen

Lesezeichen

Stichworte
array, arrays, mql4, orderverwaltung, orderverwaltung array, programmierung, programmierung metatrader, programmierung mql4


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 12:30 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.
-----------------------------------------------------------------------------------------------------------------------------