Inhalte aufrufen

  • Über Facebook anmelden Über Twitter anmelden Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Speicherort Variablen

- - - - - Speicherort Variablen

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
7 Antworten zu diesem Thema

  #1
OFFLINE   Elatos

Hallöchen,

 

weiß jemand eine Antwort auf folgende Frage:?

 

Wenn ein oder mehrere EA's auf dem MT4 laufen, werden ja verschiedene Variablen verteilt. Sicherlich sind diese irgendwo gespeichert? Weiß jemand den Ort, an dem die liegen und ob man diesen Ordner einfach öffnen kann und quasi eine Momentaufnahme anschauen kann? - Also ich meine nicht die globalen Variablen. Die kann man jederzeit unter Extras einsehen...

 

Sicherlich gibts da eine Möglichkeit?

 

Vielen Dank schonmal


Bearbeitet von Elatos, 11 April 2018 - 19:48 Uhr,


  #2
OFFLINE   CashDigger

Variablen werden im RAM bzw im Cache gespeichert (vor einiger Zeit hatte ich zum Thema eine spannende Diskussion hier im Forum :wink:)

Um den Inhalt der Variablen zu sehen, muss man sie auf einer grafischen Oberfläche anzeigen lassen. In Metatrader geht das beispielsweise mit Funktionen wie Print() oder Comment().

 

C$D



  #3
OFFLINE   CashDigger

Hier liegen die guten Daten:

(und scheinbar ist in der aktuellen Entwicklung die Zugriffszeit auf den Cache immer noch schneller als auf den RAM :Whistle: :wink:)

 

Dateianhang



  #4
OFFLINE   Elatos

Mmh, ja, das klingt logisch. Ich hatte die Hoffnung, sie könnten Zeitweise in irgendeinem Order gespeichert sein.

 

Gibt es denn überhaupt keine andere Möglichkeit, sich diese Variablenzustände im Demo- oder Livetrading anzeigen zu lassen?

 

Die Darstellung durch Print() ist nur sinnvoll zu ausgewählten Augenblicken oder in sonstwie gestalteten Zeitabständen. Die ständige Anzeige aller oder nur einiger Daten sprengt jeden Rahmen.

 

 

Wenn ich mein Programm Demo teste und es treten Fehler auf, die sonst nicht aufkamen, die lassen sich unmöglich mit Print() zerlegen. Ich hatte gehofft, ich kann irgendwie reinschauen in den Heuhaufen...



  #5
OFFLINE   CashDigger

Es darf nur das eigene Programm reinschauen und das ist auch sinnvoll so, sonst wäre es eine Speicherzugriffsverletzung.

Man kann sich auch über die grafischen Funktionen von Metatrader was bauen oder etwas in eine CSV Datei schreiben und dann mit Excel öffnen, ist aber alles deutlich komplizierter als Print() oder Comment() :)

 

C$D



  #6
OFFLINE   traderdoc

Na nun mal langsam mit die jungen Pferde!

Wozu eine ständige Anzeige? Bei manchen Variablen, z.B. die in Schleifen verarbeitet werden,

würdest Du mit dem Zählen des Zahlenwechsels nicht mal ansatzweise hinterherkommen, geschweigen denn

irgendeine Interpretation daraus gewinnen. Alles Mumpitz.

Der Weg geht über Print() oder auch Alert(). Letzteres ist bloß viel langsamer. Da kannst Du Dir auch jeden Zustand anzeigen lassen.

Comment() scheidet nahezu aus, weil da nix gespeichert wird.

 

Aber das Hauptproblem ist, dass keiner von uns bisher weiss, welche Variablen überhaupt ausgelesen werden sollen.

Also, worüber reden wir denn eigentlich hier?

 

D.h. zeig uns doch mal den Code, wo es hakt, beschreibe Deine Beobachtungen und schildere wie es korrekt laufen soll.

Dann sehen wir weiter. Alles andere ist Glaskugelguckerei!

 

traderdoc


  • asfranz gefällt das
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

  #7
OFFLINE   Elatos

Erst mal Dank euch beiden für eure Antworten. Ich stelle immer wieder fest, dass mir allein durch die Unterhaltung hier, neue Ideen kommen. Ich denke, ich werde eine Funktion mit einem Schalter bauen, der in den EA-Einstellungen umgelegt werden kann und daraufhin ein Mal das Abbild der benötigten Variablen und Arrays zeigt.

 

Dann kommt es aber zum zweiten Teil des Problems, nämlich, die Auswirkungen des festgestellten Fehlers zu beheben - also die ArrayWerte online zu verändern bzw. wieder zu richten. Dazu fällt mir nur ein, den EA zu "pausieren", die Daten als Globale Variablen auszugeben, zu ändern und dann wieder mittels Schalter in den Einstellungen einzulesen, Pausierung beenden. Bei dynamischen Arrays wird das nicht so einfach sein.

 

Also, warum der Aufwand? Beim vernetzten Handel mit mehreren Charts glaube ich, dass es immer mal wieder zu Fehlerchen kommen kann. Den Code kann ich mittlerweile online anpassen, aber fast noch schlimmer erscheinen mir falsche Variablen- und Arraywerte. Dadurch kann ein falscher Programmablauf entstehen...

 

Ja, TraderDoc, in dem Code stecken jetzt 2,5 Jahre, mehrere tausend Zeilen und vielleicht an die tausend Arbeitsstunden und Hirnschmalz. Wo "es hakt" erkenne ich nun in manchen Testphasen nicht mehr durch bloßes Codeanalysieren - wegen der Vernetzung. Ohne Weiteres den Code zu zeigen, bringe ich deswegen auch nur schwerstens übers Herz.



  #8
OFFLINE   traderdoc

Das wird schwierig, weniger für Dich als für uns.
Was sollen wir Dir hier außer der Benutzung von Print() für einen Tip geben?,
wenn wir nicht wissen, was das Programm macht.

Ich kann nur das betonen, was ich schon schrieb.
Außerdem benutze ich an sehr vielen Stellen die Print()-Funktion, einfach
nur mit einem bestimmten Text, um in den Log-Files nachzuvollziehen, wo der
EA entlanggelaufen war. Das alles z.T. mit einer dementsprechenden Variablen-
Ausgabe. So habe ich bisher bei all meinen Kunden und den für sie geschriebenen
Programmen v.a. im Nachgang die Fehler rel. schnell gefunden und dann beseitigen
können.

traderdoc
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.





0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer