[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 122

 
Fduch писал(а) >>

Übrigens, OrdersTotal() gibt eine Zahl vom Typ int zurück. Und int kann Werte annehmen:

D.h. theoretisch maximale Anzahl von Ors: 2147483647

Ich danke Ihnen für Ihre unvoreingenommene Antwort!!!

 

Bitte helfen Sie mir, ich verstehe das nicht, im Buch steht doch, dass dieser Code funktioniert:

//--------------------------------------------------------------------
// Book_expert_33.mq4
// Als Beispiel für das MQL4-Tutorial gedacht.
//--------------------------------------------------------------------
int Count=0; // Globale Variable.
//--------------------------------------------------------------------
int init() // Spezial init()
{
Alert ("Die Funktion init() hat beim Start funktioniert"); // Meldung
return; // Beenden init()
}
} //--------------------------------------------------------------------
int start() // Spezial init()
{
double Price=Bid; // Lokale Variable.
Count++; // Tick-Zähler
Alert("Neuer Tick ",Count," Price = ",Price);// Meldung
return; // Exit start()
}
//--------------------------------------------------------------------
int deinit() // Spezialfunktion deinit()
{
Alert ("Deinit() ausgelöst während Upload"); // Meldung
return; // Exit deinit()
}
//--------------------------------------------------------------------

Ich schreibe keine Preise für neue Ticks, die Funktion wird beim Starten und Entladen ausgelöst.



 
Bitte beraten Sie Nicht-Programmierer, wo und wie man Sleep(1200000) einfügt, um eine Verzögerung von 10 Minuten nach Auftragsschluss zu erreichen.
Dateien:
1_1.rar  26 kb
 
v43 писал(а) >>
Bitte beraten Sie einen Nicht-Programmierer, wo und wie man Sleep(1200000) einfügt, um eine 10-minütige Verzögerung nach Auftragsschluss zu haben, ich brauche das wirklich.

Bitte geben Sie den Code über den SRC-Bouton ein - so ist es unmöglich, ihn zu lesen.

Bei einem so langen Intervall ist es besser, dies nicht über Sleep zu tun, sondern auf einen solchen Tick zu warten, wenn diese Zeit verstrichen ist - etwa:

   static datetime DontCloseBefore = 0;
   //....
   
   OrderSend(....);
   DontCloseBefore = TimeCurrent() + 10*60; //10 minutes
   //....
   
   if( DontCloseBefore!=0)
   {
      if(TimeCurrent()> DontCloseBefore) && ( some other conditions - like existing order))
      {
         DontCloseBefore = 0; //important - reset the state engine
         OrderClose(...);
      }
   }
Wenn DontCloseBefore == 0, dann nichts, wenn es eine Verzögerung gibt, dann muss man warten, bis die aktuelle Zeit länger wird als die in DontCloseBefore vorgeschriebene, DontCloseBefore auf Null setzen und schließen
 

Weiß jemand, ob es einen Befehl gibt, um herauszufinden, ob ein bestimmter Indikator im Fenster geöffnet ist, z.B. MA(20) ?

Ich danke Ihnen!

 
chief2000 >> :

Weiß jemand, ob es einen Befehl gibt, um herauszufinden, ob ein bestimmter Indikator im Fenster geöffnet ist, z.B. MA(20) ?

Ich danke Ihnen!



int WindowFind( string name)
Gibt die Nummer des Teilfensters des Diagramms zurück, das den Indikator mit dem angegebenen Namen enthält, falls er gefunden wurde; andernfalls wird -1 zurückgegeben.
WindowFind() gibt -1 zurück, wenn der benutzerdefinierte Indikator sich während init() selbst sucht.
 
 
keekkenen >> :


int WindowFind( string name)
Gibt die Nummer des Diagrammunterfensters zurück, das den Indikator mit dem angegebenen Namen enthält, falls er gefunden wurde; andernfalls wird -1 zurückgegeben.
WindowFind() gibt -1 zurück, wenn der benutzerdefinierte Indikator während init () nach sich selbst sucht.

Ich sehe, dass hier Klärungsbedarf besteht:

mein Ziel ist es, zu überprüfen, ob MA läuft, und wenn ja, herauszufinden, mit welchem Zeitraum. Als Ergebnis muss ich "20" erhalten, wenn es MA(20) gibt.

Hierfür können wir WindowFind() mit einem for-Zyklus verwenden, aber ich möchte keine Computerressourcen verschwenden, da

diese Prüfung sollte nur einmal zu Beginn durchgeführt werden (WindowFind() in init() funktioniert nicht?).

 

Ich bitte Sie. Jemand muss einen einfachen EA schreiben:

- Open Buy.

- Take=20, Stop Loss=20;

- Wenn die Schließung ausgelöst wird, eröffnen wir erneut eine Kaufposition mit genau denselben Parametern (take=20; stop=20).

Wenn der Stop-Loss ausgelöst wird, eröffnen wir einen Verkauf mit genau denselben Parametern (take=20; stop=20), usw.

Das Gleiche kann man machen, aber zuerst eröffnen wir eine Verkaufsposition statt einer Kaufposition.

Als symbolische Entlohnung für die Arbeit kann ich eine Rechnung über 5grn übergeben. (Wenn die ukrainischen Betreiber).

 

Warum funktioniert die Ausführung von MA(20) im Hauptfenster

 WindowFind("MA(20)")

gibt "-1" zurück ?