Inhalte aufrufen

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

EA Einstellungen, Globales Array

- - - - - EA Einstellungen Globales Ar

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

  #1
OFFLINE   Elatos

Hallöchen,

 

ich habe heute gleich mal zwei schöne Fragen:

 

-Gibt es die Möglichkeit im MT4 mehrdimensionale Arrays zu speichern? So wie ich es heraus gelesen habe, gibt es nur FileWriteArray(), dass nur Eindimensionale Arrays speichert - damit müsste ich die Sache zerstückeln...

 

-Kann ich einen EA dazu überreden, nicht neu zu starten, wenn ich lediglich während seines Betriebes eine Einstellung ändere?

Ich möchte also gerne seine Einstellungen ändern, ohne dass er die Init()- und DeInit()Funktionen durchläuft.



  #2
ONLINE   ping

-Kann ich einen EA dazu überreden, nicht neu zu starten, wenn ich lediglich während seines Betriebes eine Einstellung ändere? Ich möchte also gerne seine Einstellungen ändern, ohne dass er die Init()- und DeInit()Funktionen durchläuft.

 

... also das Anspringen der Init()- und DeInit()-Funktion kann man nicht verhindern, aber du entscheidest was da drin steht. Ob die Einstellungen geändert wurden, kann man in DeInit() abfragen und dann angeben was in diesem Fall zu tun ist und was im anderen Fall.

Damit das darauf folgende Init() davon auch was mitbekommt, bleibt nur die Möglichkeit in DeInit dann eine globale Variable (GlobalVariableSet()) zu erstellen, diese in Init() abzufragen und gleich wieder zu löschen.


In Trauer um "Dive"


  #3
OFFLINE   Elatos

Danke ping, für deine schnelle Antwort.

 

Mein Problem ist, dass mit jedem Neustart des EA's ja alle Variablendaten und Arraydaten neu aufgenommen werden müssen. Deswegen dachte ich mir: -entweder verhindere ich den Neustart oder ich speichere meine Arrays und nehme die dann beim Neustart wieder auf. Dabei habe ich auch schon an GlobalVariableSet() gedacht. Das hat aber zwei Nachteile, in dieser Situation:

 

-es lassen sich nur Variablen speichern, keine Arrays. Die mehrdimensionalen Arrays müsste ich demnach völlig zerstückeln...für FileWriteArray() müssten die Arrays nur dimensionsweise zerstückelt werden, falls es nicht doch noch eine Möglichkeit gibt, mehrdimensionale Arrays zu speichern

 

-im Falle, das MT4 beendet wird oder ein anderer Fehler geschieht, dann sind die globalen Daten verloren.(oder?)  FileWriteArray() legt diese auf der Festplatte ab (wobei ich hier noch nicht weiß wo...)



  #4
ONLINE   traderdoc

Zu Frage 1: nein, das geht nur mit eindimensionalen Arrays -> Lösung: richtigerweise zerstückeln und in der OnInit()-Funktion wieder zusammensetzen oder von vornherein nur eindimensionale Arrays schreiben.

Zu Frage 2: da hat @ping im Prinzip schon geantwortet. Wer mag, kann auch die Daten in OnInit() per csv-Datei speichern und wieder auslesen, da Globale Variablen nur für 30 Tage im Terminal gespeichert bleiben, sofern nicht einmal darauf zugegriffen wird.
Nein, nach dem Beenden des Programms gehen diese Variablen nicht verloren.
Ein Array lässt sich natürlich auch unter den Globalen Variablen speichern, nur das halt immer nur eine Variable auch nur ein Feld des Arrays speichern kann. Aber über eine flotte for-Schleifen kann man doch
ruckzuck das Array wieder herstellen.

traderdoc

Bearbeitet von traderdoc, 23 November 2017 - 10:59 Uhr,

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

 


  #5
OFFLINE   Elatos

Danke auch dir traderdoc, das hilft mir schnell weiter.

 

...also doch nicht FileWriteArray()





Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer