Viele Hundert Charts auf gleichzeitig Live analysieren

 

Guten Tag,


gibt es eine Möglichkeit viele Hunderte Charts zeitgleich zu analysieren ohne diese unbedingt offen haben zu müssen? Ich möchte verschiedene Chartmuster in Live-Charts suchen lassen und bei einem Fund würde ich gerne eine Benachrichtigung rausschicken. Wäre das dann ein Expert Advisor, Indikator oder doch eher ein Script?


Mit freundlichen Grüßen

René Moll 

 
René Moll:

Guten Tag,


gibt es eine Möglichkeit viele Hunderte Charts zeitgleich zu analysieren ohne diese unbedingt offen haben zu müssen? Ich möchte verschiedene Chartmuster in Live-Charts suchen lassen und bei einem Fund würde ich gerne eine Benachrichtigung rausschicken. Wäre das dann ein Expert Advisor, Indikator oder doch eher ein Script?


Mit freundlichen Grüßen

René Moll 

Ja gib es, und es wären alle 3 möglich.

wenn du es nicht selbst tust poste deinen job am besten in der freelance section

 
Ich hatte vor es selber zu Programmieren. Kennst du eventuell ähnliche Scripte bei dem dieser Ansatz durchgeführt wurde? Ich habe bisher noch keinen Code in der Richtung finden können.
 
Mehrere Symbole in einem Programm heißt, man kann nicht onTick() verwenden, weil die Funktion aufgerufen wird, wenn ein neuer Tick des und nur des Symbols ankommt, auf dessen Chart der EA läuft. Das müsste man mit onTimer() machen, aber das wird dann schnell kompliziert, weil alles immer für ein Symbol definiert werden muss. Ich würd erstmal mit einem Symbol anfangen...
Dokumentation zu MQL5: Ereignisbehandlung / OnTimer
Dokumentation zu MQL5: Ereignisbehandlung / OnTimer
  • www.mql5.com
//|                                               OnTimer_Sample.mq5 | //|                        Copyright 2018, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | "It is recommended to run the EA at the end of a trading week before the weekend...
 

hier ein Beispiel


 ResetLastError();

   for(int idx = 0; idx < SymbolsTotal(true); idx++)

     {

      string sym = SymbolName(idx, true);

      SymbolSelect((string)sym[idx], true);


      MqlTick tick;   // rates[0].close ---> tick.bid   hier wird die MQLRates verwendet, weil die SetBreakEven über alle Symbole geht


      if(!SymbolInfoTick(sym, tick))

         Print(GetLastError(), " Failure in getting Tick Value for ", sym);


      while(i-->0)

        {


                // hier dein Code



        }


     }

  
 
amando:

hier ein Beispiel


Danke amando,

ich wollte eben dein Beispiel mal testen, doch der compiler kommt mit deiner while Bedingung nicht ganz klar. Was genau soll i-->0 machen?

 
René Moll:

Danke amando,

ich wollte eben dein Beispiel mal testen, doch der compiler kommt mit deiner while Bedingung nicht ganz klar. Was genau soll i-->0 machen?

Einfach mal selber nachlesen unter Grundlagen der Sprache und Arithmetische Operationen.

Übrigens, wenn man den Kursor auf einen Term stellt und F1 drückt öffent sich die Hilfe dazu.

Dokumentation zu MQL5: Grundlagen der Sprache / Operationen und Ausdruecke / Arithmetische Operationen
Dokumentation zu MQL5: Grundlagen der Sprache / Operationen und Ausdruecke / Arithmetische Operationen
  • www.mql5.com
Inkrement- und Dekrementoperationen werden nur Variablen gegenüber vewendet, nicht Konstanten gegenüber.  Praefixinkrement (++i) und praefixdekrement  (--k) werden variable gegenüber unmittelbar vor der Verwendung dieser Variable im Ausdruck. Postfixinkrement  (i++) und Postfixdekrement  (k--) werden der Variable gegenüber verwendet sofort nach...
 
Carl Schreiber:

Einfach mal selber nachlesen unter Grundlagen der Sprache und Arithmetische Operationen.

Übrigens, wenn man den Kursor auf einen Term stellt und F1 drückt öffent sich die Hilfe dazu.

Ich habe versucht dazu was zu finden, aber leider erfolglos. Der MQL5 Compiler hat ja wie gesagt schon gemeckert bei dem "-->" Operator und in der MQL5 Dokumentation habe ich dazu auch nichts gefunden. Ich weiß aber, dass C++ einen solchen Operator benutzt. Der Tipp mit dem Kursor und F1 ist hilfreich, danke dafür.

 
René Moll:

Danke amando,

ich wollte eben dein Beispiel mal testen, doch der compiler kommt mit deiner while Bedingung nicht ganz klar. Was genau soll i-->0 machen?

stimmt, die hab ich vergessen wegzulöschen, nimm die Zeilen raus ( Klammern nicht vergessen)

for(int idx = 0; idx < SymbolsTotal(true); idx++)

     {

      string sym = SymbolName(idx, true);

      SymbolSelect((string)sym[idx], true);


      MqlTick tick;   // rates[0].close ---> tick.bid   hier wird die MQLRates verwendet, weil die SetBreakEven über alle Symbole geht


      if(!SymbolInfoTick(sym, tick))

         Print(GetLastError(), " Failure in getting Tick Value for ", sym);



                // hier dein Code

        idx++

     }
Grund der Beschwerde: