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

 
WinZip:
Können Sie mich bei diesem Problem beraten? Ich mache einen Expert Advisor für den Handel, der Einfachheit halber habe ich eine Kopie des Expert Advisors als einen neuen erstellt, und ich experimentiere dort. Aber vor einer Stunde hat Expert Advisor für Experimente angefangen, die Fehlermeldung "Trading for Expert Advisor is prohibited" anzuzeigen. Ich habe zwei fast identische Expert Advisors, einer ist im Einsatz, der andere nicht. Ich habe den Moment verpasst, als mein Expert Advisor den Handel eingestellt hat. Wie berechne ich, was für den Handel verboten ist? Ich habe versucht, eine Funktion zum Schließen von Geschäften zu erstellen, aber wenn ich alles lösche, was ich hinzugefügt habe, kann ich immer noch nicht handeln.

Aktivieren Sie in seinen Einstellungen das Kontrollkästchen, um ihm den Handel zu erlauben.

 
Protokolle und Testergebnisse auf Laufwerk C mit der Nummer 0. Gibt es eine Möglichkeit, in den Einstellungen das andere Laufwerk für Protokolle zu ändern?
 

Ich entschuldige mich für die dumme Frage, die wahrscheinlich schon eine Million Mal diskutiert wurde...

Warum erhalte ich keine Benachrichtigungen über Antworten oder sogar Löschungen von Themen... Nicht in der Post oder in den lokalen Nachrichten... ?

Und wie bringe ich das in Ordnung? Ich glaube, es ist geprüft, aber es funktioniert nicht...

 
//+------------------------------------------------------------------+
int OnInit()
  {
  datetime open_bars_time = iTime(NULL,0,0); 
  Alert("старт ",open_bars_time);
  int i=0;
  while(iTime(NULL,0,0)==open_bars_time && !IsStopped()) 
  {Comment(iTime(NULL,0,0));}
  Alert("Цикл закончен",open_bars_time);
//--- create timer
   EventSetTimer(Period()*60);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+

требуется запускать прогу в начале бара. Почему значение возвращаемое iTime(NULL,0,0) не изменяется?
 
Sergey Guliaev:

Sie müssen Sleep() und RefreshRates() in die Schleife einfügen, sonst bewegt sich nichts.

Und im Allgemeinen ist die Idee grundlegend falsch. Sie können dies nicht in OnInit tun.

Wenn Sie auf die Öffnung des Balkens warten müssen, müssen Sie in OnTick warten. Wenn Sie die Uhrzeit ändern möchten, warten Sie im OnTimer darauf.

 
Maxim Kuznetsov:

Sie müssen Sleep() und RefreshRates() in die Schleife einfügen, sonst bewegt sich nichts.

und die Idee ist grundlegend falsch. Sie können dies nicht in OnInit tun

Wenn es notwendig ist, auf die Öffnung des Balkens zu warten, sollte dies in OnTick geschehen. Wenn Sie auf den Stundenwechsel warten müssen, müssen Sie auf OnTimer warten.

Ich danke Ihnen. Die Aufgabe besteht darin, dafür zu sorgen, dass der erste Tick am Anfang des Balkens +/- ein paar Sekunden hat. Nach meinen Beobachtungen sind die Ticks nicht mit dem Beginn des Balkens synchronisiert.

 
Sergey Guliaev:

Ich danke Ihnen. Das Ziel ist, dass der erste Tick zu Beginn des Taktes +/- ein paar Sekunden beträgt. Nach meinen Beobachtungen sind die Ticks nicht mit dem Beginn des Balkens synchronisiert.

Ihre Beobachtungen sind seltsam. Sie haben Ursache und Wirkung verwechselt. Nicht die Ticks hängen von den Balken ab, sondern die Eröffnung eines neuen Balkens hängt von der Ankunft eines neuen Ticks ab. Wenn es kein Häkchen gibt, gibt es auch keinen Balken. Dies geschieht häufig in den Protokollen.

 

Guten Tag Kollegen!

Ich kann den Grund nicht verstehen, ich habe das Volumen (LotSize) auf der Grundlage des Risikos berechnet. Wenn ich die Losgröße mit der Meldung Alert(LotSize) herausnehme, wird z. B. 0,12 angezeigt, aber die Funktion OrderSend beschwert sich über die Größe. Wenn ich LotSixe=0.12 in den Code schreibe, funktioniert OrderSend einwandfrei.

Was könnte der Grund dafür sein?

 
Sandjar Ikramov:

Guten Tag Kollegen!

Ich kann den Grund nicht verstehen, ich habe das Volumen (LotSize) auf der Grundlage des Risikos berechnet. Wenn ich die Losgröße mit der Meldung Alert(LotSize) herausnehme, wird z. B. 0,12 angezeigt, aber die Funktion OrderSend beschwert sich über die Größe. Wenn ich LotSixe=0.12 in den Code schreibe, funktioniert OrderSend einwandfrei.

Was könnte der Grund dafür sein?

In solchen Fällen fragen sie immer nach einem Code... ...wer weiß, was dort geschrieben steht und wie es geschrieben ist...

 
Sandjar Ikramov:

Guten Tag Kollegen!

Ich kann den Grund nicht verstehen, ich habe das Volumen (LotSize) auf der Grundlage des Risikos berechnet. Wenn ich die Losgröße mit der Meldung Alert(LotSize) herausnehme, wird z. B. 0,12 angezeigt, aber die Funktion OrderSend beschwert sich über die Größe. Wenn ich LotSixe=0.12 in den Code schreibe, funktioniert OrderSend einwandfrei.

Was könnte der Grund dafür sein?

Na ja... wahrscheinlich, weil es sich um unterschiedliche Variablen handelt... Und 0,12 (Komma) ist keineswegs gleich 0,12(Punkt)

Grund der Beschwerde: