Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 872

 
rapid_minus:

Nun, ich bin völlig verwirrt: OrdBuy_1( ) ist die Funktion, die BAY unter der Bedingung Nr. 1 über dieser Funktion öffnet. Nur ist der richtige Typ wahrscheinlich double und nicht int, denn er gibt den Eröffnungskurs der Bestellung zurück. Und soweit ich es verstehe, habe ich sie nicht in eine Funktion eingefügt; sie ist separat, nach int start(), platziert und extrahiert die Werte aller notwendigen Indikatoren und analysiert die aktuelle Marktsituation (liege ich falsch?).

Und wie kann ich Stop und Take normalisieren, oder besser noch, wie kann ich sie überhaupt nicht einstellen?

Und ich verstehe das mit dem Scheck nicht. Ich muss das Tutorial falsch verstanden haben - "bool OrderClose (int ticket, double lots, double price, int slippage, color Color=CLR_NONE)Funktion zum Schließen einer Market Order." Was ist ein Scheck?

Wie auch immer, je weiter man geht, desto dümmer wird es :(.

Warum glauben Sie, dass dies richtig ist?

//Локальная переменная, открывающая ордер БАЙ
   int OrdBuy_1() = (OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Bid-1500*Point,Bid+1500*Point));

Sie haben geschrieben - variabel. Aber zwei Klammern bedeuten, dass Sie die Funktion deklariert haben. Innerhalb einer anderen Funktion. Und was folgt, ist keine Beschreibung, sondern eine Zuordnung.

Und wenn Sie sagen, dass er den Eröffnungspreis zurückgeben muss, warum vergleichen Sie ihn dann mit der Wahrheit?

if (OrdBuy_1()==true)                              //Если был открыт ордер №1, то...

OrderSend() gibt bei Erfolg die Ticketnummer der offenen Position zurück. Sonst -1 bei Fehler. Um herauszufinden, um welchen Fehler es sich handelt, müssen Sie sich den Inhalt des letzten Fehlers GetLastError () ansehen und, wenn möglich, den vom Handelsserver zurückgegebenen Fehlercode behandeln (das ist es, worüber ich gesprochen habe).

Sie prüfen die Ticketnummer auf "wahr". Und das ist entweder 0 (falsch) oder ein anderer Wert als Null (wahr). Bei einem Fehler gibt OrderSend() -1 zurück, was wahr ist, und was dann?

 
artmedia70:
Berechnung der virtuellen Linie anstelle der realen Linie.

Bereits begonnen. Das Problem besteht darin, die Indizierung der Balken so umzudrehen, dass sich der größte Index auf der rechten Seite befindet (um die Geometrie der Trendlinie zu berechnen)

Ich habe es auf diese Weise umgedreht, aber wie kann man es mit einem Indikatorberechnungszyklus vergleichen. Gibt es vielleicht eine andere, technischere Möglichkeit, die Indexierung rückgängig zu machen?

for(i=limit;i>=0;i--)
   {
   Bar[i]=Bar[i+1]+1;
   }
 
Forexman77:

Bereits begonnen. Das Problem besteht darin, die Indizierung der Balken so umzudrehen, dass sich der größte Index auf der rechten Seite befindet (um die Geometrie der Trendlinie zu berechnen)

Ich habe es auf diese Weise umgedreht, aber wie kann man es mit einem Indikatorberechnungszyklus vergleichen. Vielleicht gibt es eine andere, technischere Möglichkeit, die Indizierung umzukehren?

Und warum? Verwenden Sie den Balken und den Preis der beiden Linienpunkte, um den Preis des zu berechnenden Balkens zu erhalten:

double EquationDirect(double x1, double y1, double x2, double y2, double x) {return((x2==x1)?y1:(y2-y1)/(x2-x1)*(x-x1)+y1);}

x1 ist der Balken des ersten Linienpunktes, y1 ist der Preis des ersten Linienpunktes, x2 und y2 sind der Balken/Preis des zweiten Linienpunktes, x ist die Nummer des Balkens, auf dem Sie den Preis haben wollen.

 
artmedia70:

Und warum? Verwenden Sie den Balken und den Preis der beiden Linienpunkte, um den Preis des zu berechnenden Balkens zu erhalten:

x1 ist der Balken des ersten Linienpunktes, y1 ist der Preis des ersten Linienpunktes, x2 und y2 sind der Balken/Preis des zweiten Linienpunktes, x ist die Nummer des Balkens, an dem Sie den Preis haben wollen.

Gut. Ich danke Ihnen.
 
Bitte beraten Sie, wie man alle Positionen für den nächsten Tag um 23.00 Uhr zu schließen, keine Probleme während des Tages (wenn (Hour_curr>= benötigt Zeit), aber ich habe ein Problem mit der Bewegung nach 00.00 Uhr. Vielen Dank.
 
aleks_pavlenko:
Bitte beraten Sie, wie alle Positionen für den nächsten Tag um 23.00 Uhr zu schließen, keine Probleme während des Tages (wenn (Hour_curr>= benötigte Zeit), aber ich habe ein Problem mit dem Verschieben von Positionen nach 00.00 Uhr. Danke im Voraus.
Wenn der Tag, an dem die Position eröffnet wird, nicht mit dem Tag übereinstimmt, an dem sie geschlossen werden soll.
 
artmedia70:
Wenn der Eröffnungstag der Position nicht mit dem Tag übereinstimmt, an dem sie geschlossen werden soll.
Richtig, der Eröffnungstag ist nicht gleich dem Schlusstag, wie kann man das in mq4 umsetzen.
 

Guten Tag, ich verstehe nicht, wie ein Teil des Codes (z.B. die Beschreibung und Berechnung der globalen Variablen) in eine Include-Datei aufgenommen werden kann?

Wie wird der Datei die Erweiterung mgh zugewiesen?

Verringert die Include-Datei die Größe des Expert Advisors?

Ich danke Ihnen.

 
rapid_minus:

Guten Tag, ich verstehe nicht, wie ein Teil des Codes (z.B. die Beschreibung und Berechnung der globalen Variablen) in eine Include-Datei aufgenommen werden kann?

Wie wird der Datei die Erweiterung mgh zugewiesen?

Verringert die Include-Datei die Größe des Expert Advisors?

Ich danke Ihnen.

Ein normales .mq4 kann eingebunden werden, es muss nicht unbedingt .mqh sein, man muss es nicht einmal kompilieren. Die Include-Datei unterscheidet sich durch das Fehlen der speziellen Funktionen OnInit(), OnDeinit(), OnTick, etc.

Es hat keine Auswirkung auf die Größe der Datei, ob es inlined oder der gesamte Code in einem Stück ist, der inlined Code ist im endgültigen ausführbaren Code enthalten.

 
evillive:

Eine normale .mq4-Datei kann eingebunden werden, sie muss nicht .mqh sein, man muss sie nicht einmal kompilieren. Die enthaltene Datei unterscheidet sich durch das Fehlen der speziellen Funktionen OnInit(), OnDeinit(), OnTick, etc.

Es hat keine Auswirkung auf die Größe der Include-Datei, ob der gesamte Code in einem Stück enthalten ist, der Code der Inline ist in der endgültigen ausführbaren Datei enthalten.

Habe ich das richtig verstanden: Wir schreiben ein Stück Code ohne die Funktionen init(), start() und so weiter, speichern es als .mqh-Datei und das war's? Wir können es in das Verzeichnis terminal_directory\experts\include stellen und sie wird ohne Probleme aufgerufen und ausgeführt?

Ich danke Ihnen.