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

 
TarasBY:
Jede Aufgabe kann auf verschiedene Weise gelöst werden. Sechstes Jahr auf dem Markt, hatte aber nie das Bedürfnis, Magik zu wechseln (selbst in den Tagen der "grünen Jugend").
Es gibt alles Mögliche. Zum Beispiel, wenn die Bestandsverwaltung an einen anderen EA übertragen werden muss.
 
tara:
Es gibt alles Mögliche. Zum Beispiel, wenn die Bestandsverwaltung einem anderen Berater übertragen werden muss.
Nun, wenn der andere Berater auch sein eigener ist, dann können Sie ihn mit einem beliebigen zusätzlichen Magier füttern.
 
tara:
Es gibt alles Mögliche. Zum Beispiel, wenn die Bestandsverwaltung an einen anderen EA übertragen werden muss.
Ich unterteile einen EA in zwei Teile: Analyse und Handel. Der analytische Teil ist für jede EA einzigartig, aber der administrative Teil ist für alle gleich (vielleicht sind nicht alle administrativen Funktionen in jeder EA betroffen). Und ich muss keine Aufträge zwischen EAs übertragen.
 

Ich habe die Hilfe durchstöbert und die Website durchsucht, konnte aber keine Beispiele für die Verwendung der MessageBox-Funktion finden. Bitte beraten Sie mich:

1. Ist es möglich, den Ort des von MessageBox angezeigten Fensters zu ändern?

2. Kann ich die Namen der Schaltflächen ändern, z. B. von "Ok" und "Abbrechen" in "Aha" und "Auf keinen Fall"?

3. Was bewirken die MB_DEFBUTTON-Flags in dieser Funktion - von welchen Tasten ist die Rede und wofür sind sie gedacht?

 

Guten Tag (oder Nacht).

Bitte beraten Sie, wenn ich den Code Schleife (for oder while, was auch immer), und legte in der Schleife den Code der immer den Wert eines der Indikatoren (oder der Preis in einer Variable), wird es funktionieren?

Erhält die Variable, die sich in der Schleife befindet, ihre Werte bei einem neuen Tick, weil der Vorgang in einer Schleife läuft?

 
culler:

Guten Tag (oder Nacht).

Bitte beraten Sie, wenn ich den Code Schleife (for oder while, was auch immer), und legte in der Schleife den Code der immer den Wert eines der Indikatoren (oder der Preis in einer Variable), wird es funktionieren?

Erhält die in der Schleife befindliche Variable bei einem neuen Tick immer einen Wert, weil die Prozedur in einer Schleife läuft?

In einer solchen Schleife, z. B. vor dem Abrufen des Ask-Kurses (oder eines anderen Wertes, der mit dem Tick kommt), sollten Sie RefreshRates() vor diese Aktion setzen, um den aktuellen Ask-Wert abzufragen und nicht den alten Ask-Wert, der mit dem Tick kam, mit dem die Schleife begann. Wenn Sie den Indikatorwert innerhalb der Schleife abfragen, sollte der aktuelle Wert korrekt sein.

Um 100 % sicher zu sein, erstellen Sie einen einfachen Expert Advisor mit Ihrer Schleife und zeigen Sie die Informationen im Diagramm über Comment() an, dann sehen Sie sofort, ob die Werte in der Schleife korrekt sind.
 
paladin80:

Bevor Sie in einer solchen Schleife z. B. den Ask-Preis (oder etwas anderes, das mit dem Tick kommt) abrufen, setzen Sie RefreshRates() vor diese Aktion, um den aktuellen Ask-Wert abzufragen und nicht den alten Ask-Wert, der mit dem Tick kam, mit dem die Schleife begann. Wenn Sie innerhalb der Schleife den Wert des Indikators abfragen, sollte der korrekte aktuelle Wert erhalten werden.

Um 100% sicher zu sein, erstellen Sie einen einfachen Expert Advisor mit der Schleife und zeigen Sie die Informationen auf dem Diagramm durch Comment() an, und Sie werden sofort sehen, ob die in der Schleife erhaltenen Werte korrekt sind.


Ich danke Ihnen.
Es wird also funktionieren. Das ist gut.

Ist es übrigens richtig, diesen Ansatz in einer Schleife zu verwenden, oder ist er abwegig?

Mir ist aufgefallen, dass sich MT4 wegen eines solchen Zyklus komplett aufhängt.

 
culler:


Übrigens, ist dies der richtige Ansatz für den Zyklus oder ist er ein wenig pervers?

Ich habe festgestellt, dass sich MT4 aufgrund dieses Zyklus komplett aufhängt.


Und es gibt Liebhaber der Perversion. Ich meine das Looping.
 
Hallo zusammen. Können Sie mir sagen, wie ich einen EA bei 0 Spread testen kann? Vielleicht muss im Code etwas vorgeschrieben werden.
 
culler:


Ich danke Ihnen.
Es wird also funktionieren. Das ist großartig.

Ist diese Herangehensweise an den Zyklus übrigens richtig oder ist sie etwas pervers?

Ich habe festgestellt, dass die Schleife dazu führt, dass MT4 komplett einfriert.


Aus der Hilfe: "Jedes Skript und jeder Experte arbeitet in einem eigenen, separaten Thread. "

"Ein Skript oder ein Expert Advisor in einer Schleife kann die Arbeit anderer Programme nicht unterbrechen".

d.h. es können Schleifen verwendet werden.

Ich verwende ein Skript und eine solche Vorlage für diese Aufgaben:

void OnStart()
  {
   while(!IsStopped()) // пока скрипт не удалён с графика
     {
      bool is_new_tick=RefreshRates();
      // если true значит пришли новые котировки
      if(is_new_tick)
        {
         // код который необходимо выполнять при новых котировках
        }
      //остальной код
      Sleep(100);
     }
  }