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

 
rigonich:

Es wird nach dem Balkenindex mit dem höchsten Preis in den letzten 9 Balken suchen, vorausgesetzt, Sie starten das Programm um 10:00 Uhr. Hour() ist die Startzeit des Programms (Serverzeit).

P.S. Genauer gesagt, nicht der Index, sondern der Höchstkurs (High) dieses Balkens.

Das Wesen der Arbeit des EA ist einfach: für eine bestimmte Zeit (01.00 bis 10.00) bestimmen den minimalen und maximalen Preis und setzen die ausstehenden Aufträge.
Dateien:
wfweja10.mq4  10 kb
 
Ekburg:

und dieser Zustand ist nicht hilfreich...

Sie müssen den Code durchsehen, nicht nur die Funktion, sondern das ganze Programm, eine Fehlerprüfung einfügen, Variablenwerte und den letzten Fehler ausgeben und nach einer bestimmten Fehlerstelle im Code suchen. Bei der Fehlersuche in meinen eigenen Programmen, die recht umfangreich waren (ca. 1000 Zeilen), habe ich manchmal Wochen gebraucht, d. h. mehr Zeit als beim Schreiben.
 

Hallo zusammen!

Ich sehe mir ein Beispiel aus einem Lehrbuch an. Ich kann nicht herausfinden, welche Funktion die folgende Bedingung hat:

ObjectSet(His_Name,OBJPROP_RAY,  false);  

Ich habe den Code selbst beigefügt. Der Expert Advisor färbt die letzten n Balken ein.

Bitte helfen Sie mir, es zu verstehen.

Dateien:
strings.mq4  7 kb
 
rigonich:


void,int,bool, die einer initialisierten Funktion vorangestellt sind, geben den Typ der Variablen an, deren Wert die Funktion an das Programm zurückgibt, um mit ihr weiterzuarbeiten.void zeigt an, dass die Funktion keine Werte zurückgibt (wenn das Ergebnis der Funktion z.B. darin besteht, Aufträge zu schließen oder zu öffnen oder Werte globaler Variablen zu ändern, die nicht zurückgegeben werden sollten, weil sie

Was dieANDERESprache anbelangt, so gibt es eine englische Version des Forums. Sprache ist einfach eine Reihe von Regeln, und in einer bestimmten Sprache gibt es gebräuchliche Namen für Objekte und Phänomene. Wenn Sie Namen verwenden, die nicht gebräuchlich sind, sondern die, die Sie bevorzugen, werden Sie nicht verstanden.


Ich glaube, ich hab's :)) danke :))
 
Sergstuddek:
Das Wesen der Arbeit des EA ist einfach: zu einer bestimmten Zeit (01.00 bis 10.00) bestimmen den minimalen und maximalen Preis und setzen die ausstehenden Aufträge


Ich habe Ihren Code bereits gesehen und weiß nicht, was ich dazu sagen soll. WieTarasBY bereits gesagt hat, ist es einfacher zu sagen, was darin richtig ist:

Wie ich Ihnen oben gesagt habe, geben die Funktionen Seconds(), Minute() und Hour() die Startzeit des Servers zurück, und unter dieser Bedingung, wenn (Hour()==10), wird Ihre Funktion nicht funktionieren, wenn Sie Ihren Expert Advisor nicht um 10 Uhr gestartet haben. Sie haben ständig solche Bedingungen. Lesen Sie die Beschreibung der Funktionen in der Hilfe sorgfältig durch.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) und if (TIMECLOSELOW19<TIMEOPENHIGH19) -- diese Bedingungen werden immer funktionieren.

3. schreiben Sie nicht 3 oder 4 fast identische Funktionen in ein Programm, sondern machen Sie eine Funktion und übergeben Sie ihr die erforderlichen Parameter, wenn Sie sie aufrufen. Das ist kein Fehler, aber es macht Ihren Code umständlich und schwer zu lesen.

4) Benutzen Sie ein beliebiges, aber immer gleiches System der Anordnung von Syntaxzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche, Klammern), sonst verwirren Sie sich selbst und andere werden verwirrt.

Das ist genug für jetzt, reparieren Sie es und dann werden wir sehen.

 
Pacman:

Hallo zusammen!

Ich sehe mir ein Beispiel aus einem Lehrbuch an. Ich kann nicht herausfinden, welche Funktion die folgende Bedingung hat:

Ich habe den Code selbst beigefügt. Der Expert Advisor färbt die letzten n Balken ein.

Bitte helfen Sie mir, es zu verstehen.


double ObjectGet( string name, int prop_id)
Die Funktion gibt den Wert der angegebenen Objekteigenschaft zurück. Rufen SieGetLastError() auf, um Fehlerinformationen zu erhalten.
Siehe auch ObjectSet().
Parameter:
Name - Objektname.
prop_id - Bezeichner der Objekteigenschaft. Kann einer der Werte aus der Liste der Objekteigenschaften sein.
 
rigonich:


Ich habe mir Ihren Code angesehen und weiß nicht, was ich dazu sagen soll. WieTarasBY bereits gesagt hat, ist es einfacher zu sagen, was darin richtig ist:

Wie ich Ihnen oben gesagt habe, geben die Funktionen Seconds(), Minute() und Hour() die Startzeit des Servers zurück, und unter dieser Bedingung, wenn (Hour()==10), wird Ihre Funktion nicht funktionieren, wenn Sie Ihren Expert Advisor nicht um 10 Uhr gestartet haben. Sie haben ständig solche Bedingungen. Lesen Sie die Beschreibung der Funktionen in der Hilfe sorgfältig durch.

2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) und if (TIMECLOSELOW19<TIMEOPENHIGH19) -- diese Bedingungen werden immer funktionieren.

3. schreiben Sie nicht 3 oder 4 fast identische Funktionen in ein Programm, sondern machen Sie eine Funktion und übergeben Sie ihr die erforderlichen Parameter, wenn Sie sie aufrufen. Das ist kein Fehler, aber es macht Ihren Code umständlich und schwer zu lesen.

4) Benutzen Sie ein beliebiges, aber immer gleiches System der Anordnung von Syntaxzeichen (Leerzeichen, Tabulatoren, Zeilenumbrüche, Klammern), sonst verwirren Sie sich selbst und andere werden verwirrt.

Für den Moment ist es genug, reparieren Sie es und dann werden wir sehen.

Du verdienst ein Denkmal! Das größte Problem bei der Unterstützung des "PROGRAMMIERERS von morgen" ist, dass er nicht erkennen oder gar erklären kann, "WAS ER WILL???", denn es ist UNMÖGLICH, das Kolbak-Insert-Gefühl gleichzeitig zu bekommen!!!! :)))
 
TarasBY:
Sie sollten schon ein Denkmal für sich selbst haben! Das größte Problem bei der Hilfe für den "PROGRAMMIERER von morgen" ist, dass er nicht erkennen oder gar erklären kann, "was er will???", denn es gibt keine Möglichkeit, dass er den Kolbak-insert-perk alle gleichzeitig bekommt! :)))


Wie Kissa Sparrowmaninov zu sagen pflegte. Ja.
 
rigonich:
double ObjectGet( string name, int prop_id)
Die Funktion gibt den Wert der angegebenen Objekteigenschaft zurück. Sie müssenGetLastError() aufrufen, um die Fehlerinformationen zu erhalten.
Siehe auch ObjectSet().
Parameter:

Für mich ist das alles klar. Aber welche Funktion erfüllt dieser Codeabschnitt genau?
 ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
 

Hier ist, was ich bereits geschrieben habe:

-------------------------------------------

int start()

{

Kaufbedingung,

den Kauf selbst,

und Änderung

zurück(0);

}

-----------------------------------------

Das Problem ist, dass ich jetzt NEUE Bedingungen eingeben muss, Bedingungen schließen und dann selbst schließen, und mein EA beginnt unendlich zu ändern (Stop und Take sind festgelegt, aber die Nachricht über die erfolgreiche Änderung erscheint mit jedem Tick).

Wie kann ich jetzt eine Schleife innerhalb dieses Starts für neue Bedingungen und Schließen erstellen, so dass der erste Teil des EA nicht betroffen sein wird, bis es vollständig schließt?