Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 682

 
Artyom Trishkin:

Ich rede von Thomas, er redet von Yeroma...

Wie kommunizieren Sie in dieser Situation?

Ich spreche von der verderblichen Gewohnheit, globale Variablen in OnInit() gedankenlos zu initialisieren.

Gleichzeitig zwingen Sie allen Neuankömmlingen Ihre schädliche Gewohnheit in einer unhinterfragten Form auf. Sie züchten eine Generation von E.S.T.'s? Klone derer, die nicht denken, sondern ihrem Sensei blindlings folgen?

Die "gedankenlose Initialisierungglobaler Variablen" sind Ihre Worte und Ihre Fiktion. Wenn Sie es unüberlegt tun, gibt es nur einen Rat: "Das Geld gehört Ihnen, machen Sie, was Sie wollen".
 
Vladimir Karputov:
"Globale Variablen gedankenlos initialisieren" - das sind Ihre Worte und Ihre Fiktion. Wenn Sie es unüberlegt tun, gibt es nur einen Rat: "Das Geld gehört Ihnen, machen Sie, was Sie wollen".

Nein. Das sind IHRE Worte. Und Ihre "Lehre" für den Fragesteller:


Das ist nicht der richtige Weg:

bool TimeFlag,FLG;
int TimeScale=50,TimeInMemory,TimeNow;

bzw. nach einer solchen Deklaration müssen Sie diese Variablen in OnInit() explizit initialisieren(ihnen Werte zuweisen).

Die Sell-Methode muss ebenfalls von Prüfungen umgeben sein, wie z. B.

trade.ResultRetcode(),
" (",trade.ResultRetcodeDescription(),"));

Und es gibt vielleicht einen Haken - am Morgen, bei der Eröffnung des Handels, wird nicht sofort, nicht von der ersten Sekunde an, gehandelt - da sind Fehler möglich.


Und dann wird er, Ihrem, gelinde gesagt, unbedachten Rat folgend, denken - warum hat er sein Geld verloren ...

DU bist derjenige, der sagt, dass man eine Variable, die man deklariert hat, ohne sie explizit zu initialisieren, in OnInit() explizit initialisieren muss.

Das Ergebnis dieses unbedachten Handelns konnten Sie bei der Ausführung des beigefügten Test-Expert Advisors sehen - den Verlust des Variablenwerts, wenn sich der Zeitrahmen ändert.

ZS: Haben Sie den Mut, Ihre Fehler und Unzulänglichkeiten zuzugeben.

ZZZY: Meine Worte über die Sinnlosigkeit der von Ihnen vorgeschlagenen blinden obligatorischen Initialisierung in OnInit() entsprechen also meiner Behauptung, dass Sie vorschlagen, globale Variablen in OnInit() sinnlos dumm zu initialisieren

 

sagen Sie mir, in welchem Build

KONTO_FREIMARGE

geändert in

KONTO_MARGEN_FREI

 
Artyom Trishkin:


Bitte leben Sie weiter in Ihrer Fantasiewelt und suchen Sie, was nicht da ist.
 
Vladimir Karputov:
Bitte leben Sie weiter in Ihrer Phantasiewelt und suchen Sie nach etwas, das es nicht gibt.

Sie haben einen EA-Test vor sich. Die Art und Weise, wie Sie Anfängern beibringen, globale Variablen zu initialisieren, führt dazu, dass sie ihre Werte verlieren, wenn Sie den Zeitrahmen wechseln. Sie müssen sich dessen bewusst sein und dürfen es nicht gedankenlos tun. Wenn Sie aber globale Variablen NICHT initialisieren, wie Sie vorschlagen, gehen ihre Werte nicht verloren, wenn Sie den Zeitrahmen ändern - folglich gibt es keine Verletzung der Logik in einigen Fällen, in denen der Wert einer globalen Variablen nicht von einer Änderung des Zeitrahmens abhängen sollte.

Die Welt ist also imaginär - Sie haben sie. Sie sind es, der in seiner eigenen Welt lebt und denkt, dass Sie von Prüfungen und Initialisierungen umgeben sind (gedankenlos) und alles in Ordnung ist.

Aber die Überprüfung Berater beweist, dass es in Ihrem Fall ist, dass die Person sein Geld verlieren kann. In meinem Fall hingegen kann er den Zeitrahmen des Charts, auf dem sein EA läuft, einfach wechseln.

Die Erfahrung kommt nicht vom Lesen der Referenz. Denken Sie öfters nach, denken Sie an verschiedene Situationen.

ZS: Anstatt sich zu bedanken und zu sagen: "Ich wusste es nicht, ich werde es berücksichtigen, danke", fangen Sie an, sich kindisch und beleidigend aufzuführen ...

Es würde mich nicht überraschen, wenn Sie gesperrt werden - wenn Sie eine Person kennen lernen wollen, geben Sie ihr etwas Macht.

 
Artyom Trishkin:

Sie haben einen EA-Test vor sich. Die Art und Weise, wie Sie Anfängern beibringen, globale Variablen zu initialisieren, führt dazu, dass sie ihre Werte verlieren, wenn Sie den Zeitrahmen wechseln. Sie müssen sich dessen bewusst sein und dürfen es nicht gedankenlos tun. Wenn Sie aber globale Variablen NICHT initialisieren, wie Sie vorschlagen, gehen ihre Werte nicht verloren, wenn Sie den Zeitrahmen ändern - folglich gibt es keine Verletzung der Logik in einigen Fällen, in denen der Wert einer globalen Variablen nicht von einer Änderung des Zeitrahmens abhängen sollte.

Die Welt ist also imaginär - Sie haben sie. Sie sind es, der in seiner eigenen Welt lebt und denkt, dass Sie von Prüfungen und Initialisierungen umgeben sind (gedankenlos) und alles in Ordnung ist.

Aber die Überprüfung Berater beweist, dass es in Ihrem Fall ist, dass die Person sein Geld verlieren kann. In meinem Fall hingegen kann er den Zeitrahmen des Charts, auf dem sein EA läuft, einfach wechseln.

Die Erfahrung kommt nicht vom Lesen der Referenz. Denken Sie öfters nach, denken Sie an verschiedene Situationen.

ZS: Anstatt sich zu bedanken und zu sagen: "Ich wusste es nicht, ich werde es berücksichtigen, danke", fangen Sie an, sich kindisch und beleidigend aufzuführen ...

Es würde mich nicht überraschen, wenn Sie gesperrt werden - wenn Sie eine Person kennen lernen wollen, geben Sie ihr etwas Macht.

Spucken Sie es aus, regen Sie sich nicht auf. Je mehr von diesem Unsinn er schreiben wird, desto weniger Neulinge werden in diesem Forum bleiben und desto mehr erfahrene werden es verlassen, und deshalb wird die Verwaltung darüber nachdenken, warum dies geschieht.

Und wo steht geschrieben, dass es immer ein Problem geben wird, wenn die Variable nicht initialisiert wird? Überall heißt es nur möglicher Fehler, NUR möglich... Dies ist eine Folge von ege, von der ersten Generation an.

 
Alexey Viktorov:

Regen Sie sich nicht auf, regen Sie sich nicht auf. Je mehr Unsinn er schreibt, desto weniger Neulinge werden in diesem Forum bleiben und die erfahreneren werden es verlassen, und die Verwaltung wird sich fragen, warum das so ist.

Und wo steht geschrieben, dass es immer ein Problem geben wird, wenn die Variable nicht initialisiert wird? Überall steht nur etwas von einem möglichen Fehler, NUR möglich... Dies ist eine Folge von ege, von der ersten Generation an.

Ich bin nicht verärgert - ich habe falsche Aussagen gemeldet. Dieser Mann, fehlgeleitet, verstanden, dass er fehlgeleitet wurde, und das muss nicht dumm in copy-paste jemand anderes Schlussfolgerungen zu engagieren, und er dachte, und verstanden, dass in diesem oder jenem Fall passieren wird. Der Fall hat sogar mit einem einfachen Test EA gezeigt. Ich bin also ganz im Gegenteil beruhigt: Wer vorgewarnt ist, ist gewappnet.

Aber Sie sollten immer noch Variablen initialisieren, IMHO, nicht zu viel auf Standard-implizite Initialisierung Werte verlassen, aber denken und zu verstehen, wo, wie und mit welchem Wert, anstatt als "sagte auf dem Forum MODERATOR ist die absolute Wahrheit"... Ein Moderator ist kein Entwickler.

 
Artyom Trishkin:

Ich bin nicht verärgert - ich habe falsche Aussagen gemeldet. Damit die fehlgeleitete Person versteht, dass sie fehlgeleitet ist, und dass sie nicht stupide die Schlussfolgerungen eines anderen nachplappern muss, sondern selbst denkt und versteht, was in diesem oder jenem Fall passieren wird. Der Fall hat sogar mit einem einfachen Test EA gezeigt. Ich bin also ganz im Gegenteil beruhigt: Wer vorgewarnt ist, ist gewappnet.

Aber um Variablen zu initialisieren, IMHO, alle gleich, ist es notwendig, nicht vor allem auf Standardwerte der impliziten Initialisierung verlassen, aber das Denken und das Verständnis, wo, wie und durch welchen Wert, aber nicht als "sagte auf einem Forum MODERATOR - es bedeutet die Wahrheit in der letzten Instanz"... Ein Moderator ist kein Entwickler.

Übrigens wäre es sinnvoll, für die von Ihnen aufgeworfene Frage einen separaten Thread zu erstellen - wenn Renat ein FAC-Forum einrichtet und Karputov nach seinen eigenen Kriterien Threads abhängt/auslässt/teilt.

Nicht jeder weiß wirklich, wie globale Variablen initialisiert werden - selbst der "Haupthinweis" Karputov ist "schwebend".

Und das letzte Mal bei 4, ich erinnere mich, dass das Thema bereits 2011 angesprochen wurde.

p.s. Wenn Sie diesen Thread erstellen könnten, Artem - denken Sie sich einen Titel aus, der besagt, dass Sie dort ein Testprogramm haben - lassen Sie die Suchmaschine die Frage finden.

 
Andrey F. Zelinsky:

Übrigens ist die von Ihnen aufgeworfene Frage sinnvoll, um einen separaten Thread im Allgemeinen zu erstellen - wenn Renat ein FAC-Forum einrichtet und Karputov die Threads nach seinen eigenen Kriterien abhängt/schreddert/teilt.

Nicht jeder weiß wirklich, wie globale Variablen initialisiert werden - selbst der "Haupthinweis" Karputov ist "schwebend".

Und das letzte Mal bei 4, ich erinnere mich, dass das Thema bereits 2011 angesprochen wurde.

p.s. Du solltest dir diesen Thread erstellen, Artem - denk dir einen Namen aus, der es sagt - du hast dort ein Testprogramm - lass die Suchmaschine das Problem finden.

Kein Problem. Das habe ich. Ich hoffe, dass es dort möglich sein wird, weitere Kenntnisse und Methoden auszutauschen.
 
Kommentare, die für dieses Thema nicht relevant sind, wurden nach "Hinweis, es fängt an zu hinken)" verschoben.
Grund der Beschwerde: