[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 163

 
MikeM:
Es gibt eine Funktion: TimeCurrent().
Wenn Sie eine Position öffnen, merken Sie sich den Wert dieser Funktion, und wenn Sie eine neue Position öffnen wollen, prüfen Sie die Differenz zwischen dem aktuellen Wert und dem gespeicherten Wert dieser Funktion.
Seien Sie genauer. Vielleicht möchten Sie nach einer bestimmten Zeit eine neue Position eröffnen, z. B: 15 Minuten / 4 Stunden / 10 Stunden, 17 Minuten und 38 Sekunden?
 
Das ist nicht mein Wunsch. Es ist eine Antwort auf Ihre Frage von 12:08.
 
MikeM:
Das ist nicht mein Wunsch. Es ist eine Antwort auf Ihre Frage von 12:08.
Ok. bei dem Beitrag auf "Antworten" klicken, ich wusste nicht, dass es eine Antwort auf meine Frage war. Aber das ist ein guter Rat, ich werde das tun, was Sie vorgeschlagen haben. Ich danke Ihnen.
 
paladin80:
Ok. Klicken Sie auf "Antwort" in dem Beitrag, ich habe nicht erkannt, dass es eine Antwort auf meine Frage war. Aber der Ratschlag ist gut, ich werde das tun, was Sie vorgeschlagen haben. Ich danke Ihnen.

Wenn Sie mehr als einen EA haben und es keine Überschneidungen bei der Übermittlung von Handelsaufträgen gibt, kann ich das so verstehen,

können Sie dies verwenden:

if(IsTradeContextBusy())Sleep(5000);//Торговый поток занят. Подождите 5 ceкунд

vor OrderSend() einfügen;

 

Besser noch: Hier ist eine Funktion für die Eröffnung von Positionen.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 10.04.2008                                                     |
//|  Описание : Открывает позицию по рыночной цене.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL или "" - текущий символ)          |
//|    op - операция                                                           |
//|    ll - лот                                                                |
//|    sl - уровень стоп                                                       |
//|    tp - уровень тейк                                                       |
//|    mn - MagicNumber                                                        |
//|    co - комментарий                                                        |
//+----------------------------------------------------------------------------+
void OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int mn=0, string co="") {
  color    clOpen;
  datetime ot;
  double   pp, pa, pb;
  int      dg, err, it, ticket=0;

  if (sy=="" || sy=="0") sy=Symbol();
  if (op==OP_BUY) clOpen=clOpenBuy; else clOpen=clOpenSell;
  if (co=="") co=WindowExpertName()+" "+GetNameTF(Period());
  for (it=1; it<=NumberOfTry; it++) {
    if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) {
      Print("OpenPosition(): Остановка работы функции");
      break;
    }
    while (!IsTradeAllowed()) Sleep(5000);
    RefreshRates();
    dg=MarketInfo(sy, MODE_DIGITS);
    pa=MarketInfo(sy, MODE_ASK);
    pb=MarketInfo(sy, MODE_BID);
    if (op==OP_BUY) pp=pa; else pp=pb;
    pp=NormalizeDouble(pp, dg);
    ot=TimeCurrent();
    if (MarketWatch)
      ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, co, mn, 0, clOpen);
    else
      ticket=OrderSend(sy, op, ll, pp, Slippage, sl, tp, co, mn, 0, clOpen);
    if (ticket>0) {
      if (UseSound) PlaySound(SoundSuccess); break;
    } else {
      err=GetLastError();
      if (UseSound) PlaySound(SoundError);
      if (pa==0 && pb==0) Message("Проверьте в Обзоре рынка наличие символа "+sy);
      // Вывод сообщения об ошибке
      Print("Error(",err,") opening position: ",ErrorDescription(err),", try ",it);
      Print("Ask=",pa," Bid=",pb," sy=",sy," ll=",ll," op=",GetNameOP(op),
            " pp=",pp," sl=",sl," tp=",tp," mn=",mn);
      // Блокировка работы советника
      if (err==2 || err==64 || err==65 || err==133) {
        gbDisabled=True; break;
      }
      // Длительная пауза
      if (err==4 || err==131 || err==132) {
        Sleep(1000*300); break;
      }
      if (err==128 || err==142 || err==143) {
        Sleep(1000*66.666);
        if (ExistPositions(sy, op, mn, ot)) {
          if (UseSound) PlaySound(SoundSuccess); break;
        }
      }
      if (err==140 || err==148 || err==4110 || err==4111) break;
      if (err==141) Sleep(1000*100);
      if (err==145) Sleep(1000*17);
      if (err==146) while (IsTradeContextBusy()) Sleep(1000*11);
      if (err!=135) Sleep(1000*7.7);
    }
  }
  if (MarketWatch && ticket>0 && (sl>0 || tp>0)) {
    if (OrderSelect(ticket, SELECT_BY_TICKET)) ModifyOrder(-1, sl, tp);
  }
}
 
Guten Tag, eine Frage zum Trawl: Ich habe einen Trailing-Stop von 25 Pips gesetzt. Abends komme ich von der Arbeit nach Hause, und das Geschäft wurde nicht geschlossen, obwohl der Tageskurs 70 Pips entfernt war.
 
demid61:
Guten Tag, eine Frage zum Trawl: Ich habe einen Trailing-Stop von 25 Pips gesetzt. Abends komme ich von der Arbeit nach Hause, und das Geschäft wurde nicht geschlossen, obwohl der Tageskurs 70 Pips entfernt war.

Wo ist der Code? Ohne den Code - hier.
 
demid61:

Guten Tag, eine Frage zum Schleppnetz. Ich habe einen Trailing-Stop von 25 Pips gesetzt.

Wahrscheinlich ist hier ein kleines "und ich schalte den Computer aus"-Opus im Gange.

 
sergeev:

wahrscheinlich gibt es hier ein kleines "und den Computer herunterfahren"-Opus




:)) Ich dachte, es würde ohne Computer funktionieren
 
gawara:
Hallo alle Herren... Ich habe lange gegoogelt, aber es nicht gefunden... Ich habe eine Frage, es gibt eine Aussage in html, muss es auf einem Diagramm für Klarheit visualisiert werden, scheint es mir aus der Sicht der Programmierung ist es möglich, wer hat sich über so etwas bitte beraten ... Ich denke, es muss eine Art Skript geben, das diese Aufgabe übernimmt ... Danke im Voraus...

https://www.mql5.com/ru/code/10425
Grund der Beschwerde: