[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 219

 

Entschuldigung für die dumme Frage: Warum zeigt der Indikator keine Werte unter 0,0001 an?

Während ich den Indikator schrieb, beschloss ich, eine der Komponenten durch den Puffer zu überprüfen. Ich verstehe etwas nicht, aber es scheint, dass Zahlen mit 5 Dezimalstellen nach dem Komma nicht gezeichnet werden (korrigieren Sie mich, wenn ich falsch liege), ok, lassen Sie sie nicht gezeichnet werden, aber werden sie dann im Indikator berücksichtigt werden?

 
ask:

Entschuldigung für die dumme Frage: Warum zeigt der Indikator keine Werte unter 0,0001 an?

Während ich den Indikator schrieb, beschloss ich, eine der Komponenten durch den Puffer zu überprüfen. Ich verstehe etwas nicht, aber es scheint, dass die Zahlen mit 5 Ziffern nach dem Punkt nicht gezeichnet werden (korrigieren Sie mich, wenn ich falsch liege), ok, lassen Sie sie nicht gezeichnet werden, aber werden sie im Indikator dann gezählt werden?

https://docs.mql4.com/ru/convert/DoubleToStr
 
 
Shniperson:
Können Sie einen "Expert Advisor" oder ein Skript vorschlagen... das in großen Zahlen anzeigen würde, wie viele Pips und Geld Verlust/Gewinn des aktuellen (offenen) Handels und was der Saldo ist... weil ich es selbst nicht finden kann.

Siehe hier: https://docs.mql4.com/ru/common/Comment Mach was draus!
 
sergeev:

siehe GetTickCount... oder über die Windows-Funktion

Vielen Dank für die Antwort. Aber ich verstehe nicht wirklich, wie man es benutzt, es gibt die Zeit vom Systemstart zurück (d.h. von seinem Aufruf, wie ich es verstehe)...

Oder sollte sie vor dem Ticken aufgerufen werden und dann das Ergebnis subtrahiert werden?

FileSeek(ExtHandle,0,SEEK_END);

time=GetTickCount();

FileWrite(ExtHandle, TimeToStr(TimeCurrent(), TIME_DATE | TIME_SECONDS),time - GetTickCount(),Bid, Ask, iVolume(Symbol(), NULL, 0));

 

Hallo, liebe Mitglieder des Forums!

Ich habe Probleme damit, kann mir jemand weiterhelfen? Vielen Dank im Voraus. Das Problem ist folgendes. Wenn ich einen neuen schwebenden Auftrag erteilen möchte, sollte ich ihn in einem Expert Advisor angeben. Die Bedingung ist der Zeitpunkt der Umwandlung der schwebenden Order in eine Marktorder, d.h., wenn wir eine SellStop-Order haben, sollten wir, sobald sie zu einer Marktorder wird, eine neue SellStop-Order in einem bestimmten Abstand eröffnen, usw.

Vielen Dank für Ihre Aufmerksamkeit.

P.S. Vielleicht können Sie mir sagen, wo ich suchen soll.

 
Gerkl:

Hallo, liebe Mitglieder des Forums!

Ich habe Probleme damit, kann mir jemand weiterhelfen? Vielen Dank im Voraus. Das Problem ist folgendes. Wenn ich einen neuen schwebenden Auftrag erteilen möchte, sollte ich ihn in einem Expert Advisor angeben. Die Bedingung ist der Zeitpunkt der Umwandlung der schwebenden Order in eine Marktorder, d.h. angenommen, wir haben eine SellStop-Order, sobald sie zu einer Marktorder wird, sollten wir eine neue SellStop-Order in einem bestimmten Abstand eröffnen usw.

Vielen Dank für Ihre Aufmerksamkeit.

P.S. Vielleicht können Sie mir sagen, wo ich suchen soll.

zum Beispiel auf diese Weise:

Wenn Sie eine Bestellung aufgeben, speichern Sie diese in einer globalen Variablen:

int ticket = 0;

ticket = OrderSend(...);

und prüfen Sie dann, ob sie sich geöffnet hat oder nicht:

if (ticket > 0)
{
   if (OrderSelect(ticket, SELECT_BY_TICKET);        // выбираем ордер
      if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL))     // проверяем его тип
      {
         // действия которые нужно выполнить после открытия ордера
      }
}
 
Danke für den Rat, wir werden es versuchen.
ilunga:

wie diese:

Wenn Sie eine Bestellung aufgeben, speichern Sie die Bestellung in einer globalen Variablen:

und prüfen Sie dann, ob es sich geöffnet hat oder nicht:

 
Gerkl:

Hallo, liebe Mitglieder des Forums!

Ich habe Probleme damit, kann mir jemand weiterhelfen? Vielen Dank im Voraus. Das Problem ist folgendes. Wenn ich eine neue Pending Order in meinem Expert Advisor platzieren möchte, sollte ich die Bedingung angeben. Die Bedingung ist der Zeitpunkt der Umwandlung der schwebenden Order in eine Marktorder, d.h., wenn wir eine SellStop-Order haben, sollten wir, sobald sie zu einer Marktorder wird, eine neue SellStop-Order in einem bestimmten Abstand eröffnen, usw.

Vielen Dank für Ihre Aufmerksamkeit.

P.S. Vielleicht können Sie mir sagen, wo ich suchen soll.


Wenn Sie nur 1 SellStop-Auftrag offen haben können, dann gehen Sie alle offenen Aufträge durch

while (N<=OrdersTotal())
 {
 SelectOrder(OrdersTotal()-1+N,Select by pos, mode_trades);
 if (OrderType==OP_SELLLIMIT)
  {
  M=0;//типа SELLLIMIT найден
  }else
  {
  M=1;//selllimit не найден
  }
 N++;
 }
if M==1
 {
 OrderSend(...OP_SELLLIMIT...);
 }

Es gibt also eine Menge Fehler - ich bin in Eile, ich hoffe, Sie verstehen, worum es geht.

 
Können Sie mir sagen, wie ich das Drücken der Home-Taste simulieren kann, um schnell historische Daten zu laden?
Grund der Beschwerde: