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

 
hoz:


Und wie kann diese Zahl die Erhebung von Auftragsstatistiken beeinflussen?


Das ist großartig! Das Interessanteste ist, dass jemand davon weiß, seltsamerweise. Wie hätte man das ahnen können?


Wenn eine Eule in der Demo getestet wird, wie kann diese Reihenfolge berücksichtigt werden? D.h. der Saldo, der zunächst auf der Demo gegeben wird - wird es das... das gesuchte EINS sein? Und was wir auf dem realen Markt haben, ist das, was wir abgehoben und eingezahlt haben, richtig?

Vielleicht ist es möglich, irgendwie die Rücknahme eines Teils der Einlage vorzuschreiben, wenn man mit einem guten Gewinn abschließt, oder die Auffüllung, wenn man den Verlust erreicht hat. Ich muss es nachschlagen, vielleicht gibt es so etwas ja?

 
hoz:


Hmm. Und wie kann sich diese Zahl auf die Erhebung von Statistiken über Haftbefehle auswirken?


Das ist großartig! Das Interessanteste ist, dass jemand darüber Bescheid weiß, was seltsam ist. Wie hätte man das ahnen können?


Wenn eine Eule in der Demo getestet wird, wie kann diese Reihenfolge berücksichtigt werden? D.h. der Saldo, der zunächst auf der Demo gegeben wird - wird es das... das gesuchte EINS sein? Und in der realen - es ist das, was wir abgehoben und auf die Kaution gelegt haben, richtig?

Überprüfen Sie doch einmal den Typ 6 in einer Ihrer Iterationen von Aufträgen und geben Sie, wenn es einen gibt, alle Daten darüber in das Protokoll ein. Ich denke, wenn Sie mehr klare Informationen über sie erhalten, werden Sie verstehen, wie Sie sie zu Ihrem Vorteil nutzen können. Hm? :))

ZS. Nicht um der Schädlinge willen, sondern für die Entwicklung...

 
artmedia70:

Prüfen Sie doch einmal, ob in einer Ihrer Schleifen die Auftragsart 6 vorkommt, und protokollieren Sie sie, wenn Sie eine erhalten. Ich denke, wenn Sie klarere Informationen über sie erhalten, wird es für Sie sinnvoller sein, sie zu Ihrem Vorteil zu nutzen. Hm? :))

ZS. Nicht um der Schädlinge willen, sondern für die Entwicklung...



Ich werde tun, wenn ich den aktuellen Code zu beenden. (D.h., Anzeige im Protokoll alle Parameter der Bestellung? In der Tester, auch?) Obwohl, wenn es nur ein Nicht-Handel Operationen, dann abwesend seltsam all dies.

Übrigens, ich habe die Suchfunktion für Bestellungen verbessert. Es hat sich nichts geändert. Die Mindestanzahl aller Aufträge und die Anzahl der schwebenden Aufträge beträgt 1. Auch dann, wenn überhaupt keine Aufträge auf dem Markt sind. Hier ist der Code:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 || OrderType() < 6)
      {
          p++;
      }
      t++;
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

Der Typ 6 wurde bereits ausgeschlossen. Aus irgendeinem Grund gibt es keinen Nullabgleich. Was ist los? Alles in dieser Art hat schon früher gut funktioniert. Der Code ist primitiv einfach.

 
hoz:


Ich werde tun, wenn ich den aktuellen Code zu vervollständigen. (Ich meine, in der Log-Anzeige alle Parameter der Bestellung? In der Tester, auch?) Obwohl, wenn es nur nicht Handel Operationen, dann abwesend seltsam all dies.

Übrigens, hier ist eine Lösung für die Auftragssuchfunktion. Es hat sich nichts geändert. Der Mindestwert für die Anzahl aller Aufträge und die Anzahl der Aufträge im Allgemeinen ist mindestens 1. Auch dann, wenn überhaupt keine Aufträge auf dem Markt sind. Hier ist der Code:

Der Typ 6 wurde bereits ausgeschlossen. Aus irgendeinem Grund gibt es keinen Nullabgleich. Was ist los? Alles in dieser Art hat schon früher gut funktioniert. Der Code ist primitiv einfach.


if (OrderType() > 1 && OrderType() < 6)
 
artmedia70:


if (Auftragsart() > 1 && Auftragsart() < 6)


Das ist offenbar schon ein Zeichen für Schläfrigkeit.

Aber darum geht es ja auch nicht wirklich. Ich führe die Eule im Testgerät aus. Wie Sie auf dem Screenshot sehen können, gibt es keine schwebenden Aufträge oder Marktaufträge.

Sowohl die separate Funktion als auch der Standardkommentar, mit dem ich die separate Funktion dupliziert habe, um die erforderlichen Werte anzuzeigen, zeigen, dass ständig Marktaufträge und schwebende Aufträge vorhanden sind.

So funktioniert die Funktion:

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                 |
//+-------------------------------------------------------------------------------------+
void FindOrders(int& t, int& p)
{
   int total = OrdersTotal() - 1;
   t = 0;
   p = 0;
   for (int i=total; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol() != Symbol()) continue;
      if (OrderMagicNumber() != i_magic) continue;
      if (OrderType() > 1 && OrderType() < 6)
      {
          p++;
      }
      t++;
      Comment("t = ", t, "p = ", p);
      pr ("FindOrders(): " + "t = " + t);
      pr ("FindOrders(): " + "p = " + p);
   }
}

Ich rufe sie von Anfang an auf, wobei die Anfangswerte der Zähler ebenfalls auf Null gesetzt werden:

int start()
{
   if (g_lastBarTime == Time[0])         // На текущем баре все необходимые действия..
       return (0);                               // ..уже были выполнены
   
   int oTotal = 0, oPending = 0;
   
   FindOrders(oTotal, oPending);
   
   int signal = GetGeneralSignal(oTotal);
   
   if (signal != SIGNAL_NO)
   {
       if (!Trade(signal))
       return(0);
   }
   else
 

helfen Sie mir, meinen Fehler zu finden))

if(to1<tc&&mag==11&&total>0&&tip==OP_BUYSTOP){

RefreshRates();

double st=NormalizeDouble(Ask+delta*Point-StopLoss*Point,Digits);

double tp=NormalizeDouble(Ask+TakeProfit*Point+delta1*Point,Digits);

if (OrderModify(ticket,Ask+delta*Point,3,st,tp))

{to1=tc; Print("BUY STOP1 MOD : ");}

}

OrderModify-Fehler 130


 
Wo ist OrderSelect()?
 
Warum kann ich den Überblick über Forumsthemen nicht behalten und warum bekomme ich keine Nachrichten in meinem Posteingang?
 
JLY:
Warum kann ich die Themen im Forum nicht verfolgen, und die Nachrichten kommen nicht in meiner E-Mail an?

Es wäre besser, wenn sie es so machen würden wie im MQL5-Forum, wo neue Nachrichten in bevorzugten Themen mit einem Sternchen oben neben dem Profil angezeigt werden.

 
Kann mir jemand sagen, ob es eine Funktion gibt, die die Zeit von der Übermittlung eines Auftrags zur Eröffnung einer Position bis zu seiner Annahme durch den Server des Brokers misst? Ich habe eine EA läuft auf VPS, wurde für billiger (nicht unbedingt näher an den Broker) und fragen, wie lange diese Verzögerung dauert.