[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 244

 
Guten Tag zusammen. Ich habe folgende Frage: Ich möchte, dass der EA Daten von anderen Währungspaaren und Zeitrahmen anfordert. Dazu muss ich mehrere Dutzend Charts offen halten (obwohl der EA nur auf einem Chart installiert ist). All dies "frisst" eine Menge Speicher und verlangsamt den VPS (auch wenn die Einstellungen die Anzahl der Balken im Verlauf/Fenster reduzieren). Gibt es eine Möglichkeit zu vermeiden, dass viele Diagramme geöffnet werden, aber die gewünschten Zeitreihen weiterhin existieren? Ich danke Ihnen im Voraus für Ihre Antwort.
 
AndEv:
Guten Tag an alle. Ich habe eine Frage: Ich möchte den EA dazu bringen, die Daten von anderen Währungen und Zeitrahmen anzufordern. Dazu muss ich mehrere Dutzend Charts offen halten (obwohl sich mein Expert Advisor nur auf einem Chart befindet). All dies "frisst" eine Menge Speicher und verlangsamt den VPS (auch wenn die Einstellungen die Anzahl der Balken im Verlauf/Fenster reduzieren). Gibt es eine Möglichkeit zu vermeiden, dass viele Diagramme geöffnet werden, aber die benötigten Zeitreihen weiterhin existieren? Ich danke Ihnen im Voraus für Ihre Antwort.

Was genau brauchen Sie von anderen Währungen? So können Sie beispielsweise beliebige Währungen und Zeitrahmen in den Indikatoren angeben und die Daten auf diese Weise abrufen.

double iMA(NULL, 0, ...) // по символу и таймфрейму текущего графика
double iMA("AUDUSD", PERIOD_W1, ...) // по AUDUSD и по недельному таймфрейму

Und Sie müssen den AUDUSD, W1 Chart nicht offen halten.

 
paladin80:

Was genau brauchen Sie von anderen Währungen? So können Sie beispielsweise beliebige Währungen und Zeitrahmen in den Indikatoren angeben und die Daten auf diese Weise abrufen.

Und Sie müssen den AUDUSD, W1 Chart nicht offen halten.

Jeder Indikator führt seine Berechnungen auf der Grundlage einer Zeitreihe durch (in Ihrem Beispiel "AUDUSD", PERIOD_W1), und die Zeitreihe existiert nicht ohne einen Chart. Die Frage ist, ob es einen Weg gibt, dies zu umgehen. Mit MT4 konnte man viele Dinge nicht machen, aber kompetente Leute (Zhunko zum Beispiel) haben vieles möglich gemacht. Ich habe versucht, die Daten, wie Sie sagen, zu erhalten, aber es hat nicht funktioniert, obwohl das Paar im Market Watch-Fenster vorhanden war. Nachdem ich das entsprechende Diagramm geöffnet hatte, konnte ich die erforderlichen Daten sofort abrufen.
 
AndEv:
Jeder Indikator macht seine Berechnungen auf der Grundlage einer Zeitreihe (in Ihrem Beispiel "AUDUSD", PERIOD_W1), und eine Zeitreihe existiert nicht ohne einen Chart. Die Frage ist, ob es einen Weg gibt, dies zu umgehen. Mit MT4 konnte man viele Dinge nicht machen, aber kompetente Leute (Zhunko zum Beispiel) haben vieles möglich gemacht. Ich habe versucht, die Daten, wie Sie sagen, zu erhalten, aber es hat nicht funktioniert, obwohl das Paar im Market Watch-Fenster vorhanden war. Nach dem Öffnen der entsprechenden Karte war es sofort möglich, die erforderlichen Daten zu erhalten.

Eine Zeitreihe existiert auch ohne Chart, wenn das Instrument natürlich geöffnet ist und ein ständiger Bezug zu diesem Zeitrahmen besteht. In diesem Fall ist ein Diagramm überhaupt nicht erforderlich
 
AndEv:
Jeder Indikator führt seine Berechnungen auf der Grundlage der Zeitreihe durch (in Ihrem Beispiel "AUDUSD", PERIOD_W1), aber die Zeitreihe existiert nicht ohne einen Chart. Die Frage ist, ob es einen Weg gibt, dies zu umgehen. Mit MT4 konnte man viele Dinge nicht machen, aber kompetente Leute (Zhunko zum Beispiel) haben vieles möglich gemacht. Ich habe versucht, die Daten, wie Sie sagen, zu erhalten, aber es hat nicht funktioniert, obwohl das Paar im Market Watch-Fenster vorhanden war. Nachdem ich das entsprechende Diagramm geöffnet hatte, konnte ich die erforderlichen Daten sofort abrufen.
Erstellte einen Code wie diesen:

double MA_AUDUSD_M5, MA_AUDUSD_W1, MA_EURCAD_H1;
//+------------------------------------------------------------------+
int start()
  {
//----
MA_AUDUSD_M5=iMA("AUDUSD",PERIOD_M5,20,0,MODE_SMA,PRICE_CLOSE,0);
MA_AUDUSD_W1=iMA("AUDUSD",PERIOD_W1,20,0,MODE_SMA,PRICE_CLOSE,0);
MA_EURCAD_H1=iMA("EURCAD",PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,0);

Comment ("MA_AUDUSD_M5 = ",DoubleToStr(MA_AUDUSD_M5,Digits),"\n",
         "MA_AUDUSD_W1 = ",DoubleToStr(MA_AUDUSD_W1,Digits),"\n",
         "MA_EURCAD_H1 = ",DoubleToStr(MA_EURCAD_H1,Digits));
//----
   return(0);
  }
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+

Beim Testen mit der Visualisierung auf EURUSD, Daily stellt sich wie folgt dar:


Mit EURCAD war wirklich etwas nicht in Ordnung. Ich erinnerte mich, dass ich nicht mit diesem Instrument arbeiten und vielleicht gibt es keine Geschichte für sie, ich heruntergeladen (F2, etc.), neu gestartet das Terminal und das ist, was ich bekam:


Es gibt Daten zu EURCAD. Vielleicht sollte ich VPS die Historie für das gewünschte Instrument mitteilen.

 
AndEv:
Jeder Indikator macht seine Berechnungen auf der Grundlage einer Zeitreihe (in Ihrem Beispiel "AUDUSD", PERIOD_W1), und eine Zeitreihe existiert nicht ohne einen Chart. Die Frage ist, ob es einen Weg gibt, dies zu umgehen. Mit MT4 konnte man viele Dinge nicht machen, aber kompetente Leute (Zhunko zum Beispiel) haben vieles möglich gemacht. Ich habe versucht, die Daten, wie Sie sagen, zu erhalten, aber es hat nicht funktioniert, obwohl das Paar im Market Watch-Fenster vorhanden war. Nach dem Öffnen der entsprechenden Karte war es sofort möglich, die erforderlichen Daten zu erhalten.

Vorbeugend die Daten für das gewünschte Instrument anzufordern, ist auch ohne Karte möglich, kostet aber Zeit.
 
FAQ:

Fordern Sie vorsorglich die Daten für das gewünschte Instrument an, es wird ohne Grafik aufgebaut, aber es dauert.
Das ist der Punkt, es ist möglich, die Daten zu erhalten, wenn Sie sie erneut anfordern. Aber wie schafft man es, dass es gleich beim ersten Mal klappt?
 
hoz:

Und hier ist eigentlich der Truthahn selbst.

https://www.mql5.com/ru/code

Ich bin nicht an dem Indikator selbst als Handelssignal interessiert. Aber mir fiel der interessante Name auf und ich beschloss, mir die "Eingeweide" anzusehen. So stolperte ich über...

Ich beschloss, es zu "üblichen" Look (verzeihen Sie mir den Autor) zu bringen. Was ich habe (in der Datei).
Dateien:
ssl.mq4  4 kb
 
AndEv:
Das ist der Punkt, es ist möglich, die Daten zu erhalten, wenn Sie sie erneut anfordern. Aber wie schafft man es, dass es beim ersten Mal klappt?

Haben Sie die Fehlerbehandlung ausprobiert?
 
paladin80:

Vielleicht sollte die VPS über die zu verwendenden Werkzeuge berichten.

Das Herunterladen des Verlaufs bringt nichts, da die Abfrage ständig neue Daten benötigt. Ich habe auch ein solches Skript erstellt und dann den Code in die Eulen verschoben, so dass der Start durch den eingehenden Tick erfolgt. Bei Dynamics ohnegeöffnetes Diagramm muss ich die Abfrage zweimal durchführen, nur in diesem Fall kann ich frische Daten erhalten. Ich weiß nicht, wie man es ohne wiederholte Abfrage machen kann.