Inhalte aufrufen

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

OnTick() von anderen Charts abfangen

- - - - -

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

  #1
OFFLINE   CashDigger

Hallo,

 

gibt es einen Weg das Event OnTick aus fremden Charts abzufangen? In einem EA sollen also ohne Verzögerung Events anderer Charts gebündelt werden und dort zB eine Funktion auslösen. OnTick reagiert regulär nur auf den Chart auf dem der EA geladen ist daher steht es von mql Seite nicht zur Verfügung.

Eine permanente Schleife mit ask/bid check auf Veränderung könnte man machen, aber ob man das schön findet...

Oder über dlls irgendwelche komplizierten IPC Dinge machen, noch unschöner...

In diesen Dashboards wird scheinbar einfach alles zusammen OnTick(nur des EA Charts) abgerufen, also auch kein funktionierendes Vorbild.

 

C$D



  #2
OFFLINE   ping

Hi CashDigger,

 

... also wenn man Infos zwischen Programmen (EA's, Indis, Skripte) herstellen möchte, dann kann man dieses über eine Datei oder über die globalen MQL-Variablen (also die globalsten unter den Globalen) realisieren. Oder hab ich dein Anliegen nicht richtig verstanden?

 

ciao ping


8(|In Wirklichkeit  *_* ist die Realität ganz anders! 8(| 8(|¡sɹəpuɐ zuɐɓ ʇıəʞɥɔıๅʞɹıM əıp ʇsı*_*ʇəɐʇıๅɐəଧ ɹəp uI8(|


  #3
OFFLINE   CashDigger

Hi Ping,

 

es geht weniger um den Datenaustausch (die Kurse von anderen Charts lassen sich leicht abrufen) sondern um das erfassen des zeitliche Event wenn in einem anderen Chart ein neuer Tick kommt.

Beispiel, wenn in USDCAD ein neuer Tick kommt dann soll ohne Verzögerung eine Funktion im EA der auf EURUSD läuft ausgeführt werden.

 

 

Eine permanente Schleife mit ask/bid check auf Veränderung

wäre zwar eine funktionierende Variante aber man lastet entweder die CPU unnötig aus oder handelt sich um dies zu umgehen mit einem Sleep eine Verzögerung ein.

 

C$D


Bearbeitet von CashDigger, 19 May 2017 - 13:44 Uhr,


  #4
OFFLINE   ping

... dann wäre doch eine Lösung über globale Variablen mögich.

 

z.B.: in OnTick() eines Charts eine gV auf 1 setzen und in deinem EA diese gV abfragen und danach auf 0 setzen.


8(|In Wirklichkeit  *_* ist die Realität ganz anders! 8(| 8(|¡sɹəpuɐ zuɐɓ ʇıəʞɥɔıๅʞɹıM əıp ʇsı*_*ʇəɐʇıๅɐəଧ ɹəp uI8(|


  #5
OFFLINE   CashDigger

und in deinem EA diese gV abfragen und danach auf 0 setzen.

 

Die Variable ist dann zwar pünklich global verfügbar aber woher weiss der EA wann diese gV abzufragen ist?Der "fremd"-Tick soll ja zeitlich ohne Verzögerung eine Funktion auslösen. Die einzige Möglichkeit bisher sehe ich wie geschrieben in einer permanenten Schleife und dafür bräuchte man nicht mal gVs denn auf die "fremd"Charts lässt sich ja auch direkt zugreifen. Es geht nur um den Zeitpunkt des "fremd"Ticks.

 

C$D



  #6
OFFLINE   ping

... jo da hast du Recht. Die Abfrage müsste in der OnTimer()-Funktion deines EA's stehen, aber eine Abfrage einer gV (oder lass es 20 sein bei 20 Charts), selbst wenn sie aller 100'stel Sekunden erfolgt, kann man doch nicht als rechenintensiv bezeichnen.


  • CashDigger gefällt das

8(|In Wirklichkeit  *_* ist die Realität ganz anders! 8(| 8(|¡sɹəpuɐ zuɐɓ ʇıəʞɥɔıๅʞɹıM əıp ʇsı*_*ʇəɐʇıๅɐəଧ ɹəp uI8(|


  #7
OFFLINE   traderdoc

@CashDigger, wieviel Zeitverzögerungen wäre denn tolerabel?
Um es kurz zu machen, es gibt keine Möglichkeit, die Ereignisse einer fremden OnTick()-Funktion abzufangen.
Ich mache es immer so, wie @ping es beschreiben hatte und von den beiden Möglichkeiten wähle ich die
codekürzeste Variante - der Gang über die Terminal-GVs - incl. der permanenten Abfrage der GVs via kurzgetriggerten Timer.

Damit kommst Du am Schnellsten als Ziel.

traderdoc
  • CashDigger gefällt das

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

 


  #8
OFFLINE   CashDigger

Zeitmäßig ist es schon in Ordnung man könnte es theoretisch auf 1ms stellen (ob das im Dauerbetrieb gut geht sein mal dahin gestellt?).

Ich werde es mal mit EventSetMillisecondTimer machen und auf 50ms probieren das wäre noch ok.

 

C$D


Bearbeitet von CashDigger, 19 May 2017 - 15:02 Uhr,


  #9
OFFLINE   traderdoc

Nun interessiert es mich doch, was da so schnell in dem EA verarbeitet werden soll.

 

traderdoc


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

 


  #10
OFFLINE   ping

Nun interessiert es mich doch, was da so schnell in dem EA verarbeitet werden soll.

 

... ich tippe auf Daten, ist aber nur 'ne wage Vermutung. :rofl: :Sheepish:


8(|In Wirklichkeit  *_* ist die Realität ganz anders! 8(| 8(|¡sɹəpuɐ zuɐɓ ʇıəʞɥɔıๅʞɹıM əıp ʇsı*_*ʇəɐʇıๅɐəଧ ɹəp uI8(|


  #11
OFFLINE   traderdoc

... ich tippe auf Daten, ist aber nur 'ne wage Vermutung. :rofl: :Sheepish:

Hast Du wenigstens Deine vage! Vermutung vorher ordentlich überprüft, denn sonst wäre es eher eine Haltlose.

 

traderdoc


  • ping gefällt das

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

 


  #12
OFFLINE   CashDigger

Es geht mir nur um das Prüfen von Signalen anhand aktuellster Kursdaten, auch unabhängig vom EA-Chart.

Wenn man alle Underlyings nur per Tick des Charts des EAs abruft, dann würde eine Berechnung auch nur dann stattfinden.

Wenn in der Pause zwischen den Ticks des EA-Charts in anderen Charts große Bewegungen passieren würde das System nicht darauf reagieren können weil die Funktionen nicht ausgelöst werden.

Wenn Signale eines Systems von mehrere Underlyings abhängen, sollten meiner Meinung nach auch alle Ticks aller Underlyings zur Überprüfung dieses Signals herbeigezogen werden. Das ist eigentlich alles ;-)

 

C$D



  #13
OFFLINE   traderdoc

Hättest Du das gleich geschrieben, dann hätte ich Dir geantwortet:

Dazu reicht ein ein kurzgetriggerter Timer und der Check über alle entsprechenden Underlyings - fertig!

traderdoc
  • CashDigger gefällt das

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

 


  #14
OFFLINE   ping

Hi Traderdoc,

 

 

PS. Ich warte noch auf mein Paypal-Konto und dann geht das Spenden los! Es wäre doch gelacht, wenn wir hier nicht die paar Hundert € zusammenbekommen für eine ordentliche Hard- und Software. Und da appelliere ich an dieser Stelle an alle User. Das Management sollte aber das "Eintreiben" jeglicher Gelder nicht aus den Augen verlieren. Das Geld ist nun mal das Wichtigste im Geschäft.

 

 

... wie lange dauert denn so eine Paypal-Konto-Anmeldung? Wir wollen doch ... "das "Eintreiben" jeglicher Gelder nicht aus den Augen verlieren." :welldone:

 

ciao ping


8(|In Wirklichkeit  *_* ist die Realität ganz anders! 8(| 8(|¡sɹəpuɐ zuɐɓ ʇıəʞɥɔıๅʞɹıM əıp ʇsı*_*ʇəɐʇıๅɐəଧ ɹəp uI8(|


  #15
OFFLINE   reteid2222

Hallo,

 

gibt es einen Weg das Event OnTick aus fremden Charts abzufangen? In einem EA sollen also ohne Verzögerung Events anderer Charts gebündelt werden und dort zB eine Funktion auslösen. OnTick reagiert regulär nur auf den Chart auf dem der EA geladen ist daher steht es von mql Seite nicht zur Verfügung.

Eine permanente Schleife mit ask/bid check auf Veränderung könnte man machen, aber ob man das schön findet...

Oder über dlls irgendwelche komplizierten IPC Dinge machen, noch unschöner...

In diesen Dashboards wird scheinbar einfach alles zusammen OnTick(nur des EA Charts) abgerufen, also auch kein funktionierendes Vorbild.

 

C$D

Mach doch eine Wiederholungsanweisung durch alle Paare, die du brauchst und frag die Ask bid infos ab...wenn sich was geändert hat-> Neuer Tick ist generiert worden außer Ask und bid sind gleich geblieben, was vernachlässigbar sein dürte... :w00t:

Ach....jemand hatte mir hier geschrieben, dass geht auch mit Close[0]......booohhh eh..... :O:

lg R


Bearbeitet von reteid2222, 06 July 2017 - 21:36 Uhr,

IBUPLpwH.jpg




Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer