Fehler, Irrtümer, Fragen - Seite 2854

 
Renat Fatkhullin:

Haben Sie technische Details angegeben, die zu verstehen oder zu reproduzieren sind?

Fragen, die keine Details enthalten, bleiben fast immer ohne unsere Aufmerksamkeit.

Renat, kann ich Ihnen eine Frage zum Indikator stellen? Muss der Indikator beim ersten Durchlauf (prev_calculate==0) den Verlauf ohne Lücken zwischen den Balken laden?

Nun komme ich oft in Situationen, in denen beim nächsten Durchlauf zum rechten Teil des Diagramms die Balken zusätzlich geladen werden. Grob gesagt - beim ersten Durchlauf des Indikators im Zeitfeld von OnCalcvulate ist das späteste Datum 2020.09.16, und beim zweiten Tick ist es das heutige Datum.

 
Vladimir Karputov:

Renat, darf ich Ihnen eine Frage zum Indikator stellen? Muss der Indikator beim ersten Durchlauf (prev_calculate==0) den Verlauf ohne Lücken zwischen den Balken laden?

Nun ertappe ich mich oft in Situationen, in denen beim nächsten Durchgang zum rechten Teil des Diagramms die Balken zusätzlich geladen werden. Grob gesagt, ist beim ersten Durchlauf des Indikators im Zeitfeld von OnCalcvulate das späteste Datum 2020.09.16, aber beim zweiten Ticken ist es das heutige Datum.

Was meinen Sie mit "laden müssen"? Auf Anfrage einen Datensynchronisationsprozess einleiten - ja, das muss er. Bereiten Sie die Daten VOR dem "ersten Durchgang" vor - nein.

Referenz lesen:

https://www.mql5.com/ru/docs/series/timeseries_access

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Прежде чем ценовые данные будут доступны в терминале MetaTrader 5, их необходимо получить и обработать. Для получения данных требуется подключение к торговому серверу MetaTrader 5. Данные поступают с сервера по запросу терминала в виде экономно упакованных блоков минутных баров. Механизм обращения к серверу за данными не зависит от того, каким...
 
Alexey Viktorov:

Ersetzen Sie diesen Unsinn

mit diesem Unfug.

Das hat nichts mit der Frage zu tun. Und wenn Sie sich entschieden haben, schlau zu werden, habe ich zwei Fragen an Sie Warum brauche ich Nullen im Indikatorpuffer? Meine Methode ist zuverlässiger und erprobt, warum sollte ich Ihre Methode mit nicht garantierten Ergebnissen anwenden?

 

Gibt es eine Möglichkeit, eine beliebige Anzahl von Eingabeparametern in einem Programm oder eine beliebige Anzahl von Enums in einem Enum mit den Direktiven #define, #ifndef und anderen zu erzeugen?


Art der

#define  TOTAL_PARAMS = 10;
#define MAKE_ENUM ( )   ABRAKADABRA


und erstellt zur Kompilierzeit

enum E{

param1, //text 1
 
param2, //text 2

param3, //text 3

...

param9 //text 9

};
 
Konstantin Efremov:

Das hat überhaupt nichts mit der Frage zu tun. Und wenn Sie sich entschieden haben, schlau zu sein, habe ich zwei Fragen an Sie Warum brauche ich Nullen im Indikatorpuffer? Meine Methode ist zuverlässiger und erprobt, warum sollte ich Ihre Methode mit nicht garantierten Ergebnissen anwenden?

Dann ersetzen Sie sie durch diese.

  if(prev_calculated == 0)
    ArrayInitialize(Arrows, EMPTY_VALUE);

Ich dachte, Sie wüssten, wie man die Nullen ersetzt.

Genau das ist der Sinn der Frage. Erstens ist Ihre Schleife katastrophal langsam. Zweitens ist Ihre Bedingung nicht immer erfüllt, wenn sie gebraucht wird. Ersetzen Sie sie und sehen Sie sich das Ergebnis an. Und dann werde ich schlauer.

 

Es gibt keine Entnahme-/Auffüllungsdaten im Wachstumsdiagramm in der Signalstatistik (ein paar Stunden zu spät). Die Diagramme der Bilanz und der Aktiva zeigen jedoch diese Daten.

Eine Synchronisierung wäre wünschenswert.

 

Wenn ein Beitrag mehr als ein Bild enthält, müssen Sie auf jedes einzelne Bild klicken, um die Bilder im Vollbildmodus zu sehen.

Es wäre besser, wenn man zwischen ihnen LINKS/RECHTS wechseln könnte. Dies ist besonders nützlich, wenn Sie die Bilder miteinander vergleichen wollen.

 

Zwei Fragen.



Nach mehreren Optimierungen bleibt eine Registerkarte stecken.

Alle haben sie geschlossen, aber diese lässt sich nicht schließen. Ich hoffe, dass nach einem Neustart des Terminals dieses nach all.... geschlossen werden kann.

P.S. Diese Registerkarte ist nach dem Neustart des Terminals verschwunden.


Frage zwei.

Warum bei der Optimierung ein Fehler auftaucht

2020.09.24 13:43:15.115 Core 5  pass 19272 tested with error "critical runtime error 502 in OnInit function (array out of range, module Experts\NC_mZZ3\nc_MPL_mZZ3_1.05.ex5, file nc_MPL_mZZ3_1.05.mq5, line 167, col 65)" in 0:00:00.000

auf diese Codezeile

for(int i = ArraySize(indicators); i >= 0; i--) delete netMLP[i];

wenn keiner dieser Fehler bei einem einzigen Test auftritt?

 

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

OOP-Fragen in MQL5

A100, 2020.09.24 13:05

Eine Methode zur Vorlage machen und darauf zugreifen

class A {
template<typename T>
void f( T ) {}
};
void OnStart()
{
        A а;
        а.f(0); //нормально
}

 

Fehler auf der Website: Code einfügen und dann sofort das Codefragment farblich hervorheben

Ergebnis: Der Code verschwindet

Browser: Opera