Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 341

 
Nauris Zukas:

Noch einmal: Was hat das damit zu tun?

Ganz einfach, weil ich nicht weiß, was Sie sich wünschen. Du zeigst mir Bilder. Ich mag keine Comics - das ist nicht unser Ding - das ist amerikanisch. Sie sind diejenigen, die aus einem Spider-Man auf einem Seil kopfüber einen Sinn machen können. Hier müssen Sie es auf Russisch sagen.

 
Artyom Trishkin:

Das bedeutet, dass die Architektur Ihres Programms von Anfang an falsch war, denn Sie haben solche Probleme, wenn Sie Änderungen vornehmen.


Es geht nicht um die Probleme, sondern um den damit verbundenen Aufwand.

Wie kann man beurteilen, was man nicht kennt...

 
Aleksey Vyazmikin:

Es sind nicht die Probleme, es ist die Arbeitsbelastung.

Wie kann man beurteilen, was man nicht kennt...

Die Erfahrung sagt Ihnen. Im Moment bist du zu faul, um daran zu arbeiten, die Dinge einfach zu halten - also wird es von hier an nur noch schwieriger werden ;)

 
Artyom Trishkin:

Die Erfahrung lehrt mich. Im Moment bist du zu faul, um daran zu arbeiten, es einfach zu machen - also wird es nur noch schwieriger werden ;)


Ich bin zufrieden mit dem, was ich habe! Was hat das mit Faulheit und Anstrengung zu tun? Ich habe 17k Zeilen EA-Code, ein Dutzend Klassen nicht mitgezählt...

 
Artyom Trishkin:

Ihre Bilder sind irgendwo da draußen... Warum sollte jemand, der beschlossen hat, Ihnen zu helfen, dorthin laufen? Wenn Sie es der Person, die Ihnen hilft, und sich selbst nicht leicht machen wollen, lassen Sie die Leute weiterhin auf der Suche nach Ihren Beiträgen, die nur Sie wollen, durch die Seiten springen.

Was haben Sie dort eingekreist? Ein Bild? Glauben Sie, dass heutzutage jeder eine Clip-Comic-Mentalität hat? Fällt es Ihnen schwer, einfach in Worte zu fassen, was Sie tun und was Sie damit erreichen wollen?

Ich habe es bereits in Worten beschrieben und zum besseren Verständnis ein Bild hinzugefügt.
Diejenigen, die sich entschließen zu helfen, werden immer sehen, worum es geht, und nicht nur einen Kommentar hinterlassen, um sich abzumelden. Es ist nicht das erste Mal, dass ich Ihnen begegne, Artyom Trishkin.

 
Nauris Zukas:

Ich habe es bereits in Worten beschrieben und ein Bild hinzugefügt, um es leichter zu verstehen.
Jeder, der sich entschließt zu helfen, wird immer sehen, worum es geht und nicht nur einen Kommentar hinterlassen, um sich abzumelden. Es ist nicht das erste Mal, dass ich Ihnen begegne, Artyom Trishkin.

Wie Sie wünschen. Ich wollte helfen.
 
Aleksey Vyazmikin:

Ich bin zufrieden mit dem, was ich habe! Was hat das mit Faulheit und Anstrengung zu tun? Ich habe 17k Zeilen EA-Code, ein Dutzend Klassen nicht mitgezählt...

Sie sehen also, dass sehr kleine Änderungen viel Aufwand erfordern. Sie ist also nicht von Anfang an optimal. Es geht nicht um die Anzahl der Codezeilen, sondern darum, Änderungen auf sehr kostengünstige Weise vorzunehmen.
Ich zum Beispiel habe ein Programm mit 50.000 Zeilen oder mehr, das keine große Menge an Arbeit erfordert, um Änderungen vorzunehmen. Sie müssen nur die richtigen Bedingungen in der Methode der gewünschten Klasse angeben.
 
Artyom Trishkin:
Sie sehen also, dass sehr kleine Veränderungen viel Aufwand erfordern. Sie ist also nicht von Anfang an optimal. Es geht nicht um die Anzahl der Codezeilen, sondern darum, Änderungen einfach und kostengünstig vorzunehmen.
Ich zum Beispiel habe ein Programm mit 50.000 oder mehr Zeilen, bei dem es keinen großen Aufwand erfordert, Änderungen vorzunehmen. Es reicht aus, die richtigen Bedingungen in der Methode der richtigen Klasse anzugeben.

Ich habe den Eindruck, dass es in unserem Gespräch um nichts geht.

Ich will damit sagen, dass es praktisch ist, nur eine Funktion bei der Initialisierung zu haben, um die am meisten geforderte Aufgabe zu implementieren - das Ausblenden von Indikatoren beim Verkauf des EA.

Und Sie versuchen immer wieder, mir zu erklären, dass mein Code schlecht ist, obwohl Sie ihn nicht ein einziges Mal gesehen haben. Natürlich ist sie nicht perfekt, aber sie ist auch nicht so primitiv wie die in der Hilfe.

 
Aleksey Vyazmikin:

Ich habe den Eindruck, dass es in unserem Gespräch um nichts geht.

Ich will damit sagen, dass es praktisch ist, nur eine Funktion bei der Initialisierung zu haben, um die am meisten geforderte Aufgabe zu implementieren - das Ausblenden von Indikatoren beim Verkauf eines Expert Advisors.

Und Sie versuchen immer wieder, mir zu erklären, dass mein Code schlecht ist, obwohl Sie ihn nicht ein einziges Mal gesehen haben. Natürlich ist sie nicht perfekt, aber sie ist auch nicht so primitiv wie die in der Hilfe.

Sie erstellen ein Indikatorobjekt. Im Klassenkonstruktor setzen Sie die Sichtbarkeit des Indikators nach dem Testen. Sie übergeben seine Sichtbarkeit an die Methode, die den neuen Indikator erstellt. Und Sie müssen nicht 17 Zeilen Code durchlaufen ;)
Das war's, ohne es auf den ersten Blick zu sehen, aber aufgrund Ihrer Erklärungen habe ich eine Ahnung.
 

So fügen Sie eine First/Previous-Funktion zu einem bereits fertigen Indikator hinzu. Das heißt, sie bearbeiten.

Alle sagen, es sei

int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{

Sie sollten dies ersetzen durch

int OnCalculate (const int rates_total,
const int prev_calculated,
const int begin,
const double &price[])
{

Aber all dies führt nicht zu Ergebnissen. Dies könnte eher beim Schreiben als beim Bearbeiten helfen.

Bitte sagen Sie mir, wie ich diese Funktion schreiben soll, wenn Sie das können.