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

 
ivann85:

programmatisch )))
Was genau müssen Sie finden? Die Nummer auf der Liste? Ein Ticket? Und wenn es mehr als einen in der EU gibt, dieses Pendel?
Wenn es zwei oder drei bis fünf Millionen davon gibt und sie alle den gleichen Typ haben und am gleichen Paar hängen, welches wird dann benötigt?
 
alexey1979621:

paladin80


artmedia70



Also helfen Sie mir mit dem Expert Advisor- ich werde es von Ihnen Programmierung (wie das Thema der Arbeit) zu testen, sonst werde ich einfach hängen mich oder in zwei Monaten, wenn alle Foren vergewaltigen wird etwas funktionieren.








Oh... Und die Zahl in Ihrem Nickname ist nicht zufällig die geplante Zahl der vergewaltigten Foren?

Das Schreiben für Sie geht schnell von der Hand. Fünfzig Dollar und es gehört Ihnen. Hinweis - ein sehr demokratischer Preis, fast umsonst :))

 
alexey1979621:

paladin80


artmedia70



Also helfen Sie mir mit dem Expert Advisor- ich werde es von Ihnen Programmierung (wie das Thema der Arbeit) zu testen, sonst werde ich einfach hängen mich oder in zwei Monaten, wenn alle Foren vergewaltigen wird etwas funktionieren.








Wir haben Ihren Berater ein wenig verdaut, haben Ihnen die Schwachstellen gesagt, was zu tun ist und wie es zu tun ist, aber ich werde nicht in der Lage sein, die Korrekturen vorzunehmen. Es gibt genug eigenen Code zu tun.

... still und leise in die Cloud, um zu optimieren...

 
ivann85:

programmatisch )))

Da es keine Antwort auf die Frage gibt, ist hier eine Funktion, die das Ticket des letzten Bestellsatzes zurückgibt:

// Возвращает тикет последнего установленного/открытого ордера
int TicketLastOrder(string sy, int op, int mn) {
   datetime t;
   int      i, j=-1, tic=0, k=OrdersTotal()-1;
   for (i=k; i>=0; i--) {
      if (OrderSelect(i,SELECT_BY_POS)) {
         if (OrderMagicNumber()!=mn)   continue;
         if (OrderSymbol()!=sy)        continue;
         if (OrderType()!=op)          continue;
         if (t<OrderOpenTime()) {
            t=OrderOpenTime();
            j=i;
            }
         }
      }
   if (OrderSelect(j,SELECT_BY_POS)) tic=OrderTicket();
   return(tic);
}
// -------------------------------------------------------------
/*
Ордера фильтруются по символу (sy), типу (op) и магику (mn)
Чтобы найти тикет последнего установленного ордера BuyLimit 
с магиком Magic на текущем графике,
нужно вызвать функцию с такими параметрами:
int Ticket=TicketLastOrder(Symbol(), OP_BUYLIMIT, Magic);
Если есть такой ордер, функция вернёт номер его тикета.
В противном случае, ф-ция вернёт ноль
*/
 

Gelegentlich, aber nicht ständig, erhalte ich einen 4200-Fehler, wenn ich einen schwebenden Auftrag er teile. Laut der Dokumentation bedeutet dieser Fehler, dass das Objekt bereits existiert:

ERR_OBJECT_ALREADY_EXISTS4200Объект уже существует


Es stellt sich heraus, dass ein Auftrag dieser Art bereits auf dem Markt ist, wenn der schwebende Auftrag gesendet wird?

 
hoz:

Gelegentlich, aber nicht ständig, erhalte ich den Fehler 4200, wenn ich einen schwebenden Auftrag erteile. Laut der Dokumentation bedeutet dieser Fehler, dass das Objekt bereits existiert:

ERR_OBJECT_ALREADY_EXISTS4200Объект уже существует


Es stellt sich heraus, dass der Auftrag dieser Art bereits auf dem Markt ist, wenn der schwebende Auftrag gesendet wird?

Dieser Fehler gilt für grafische Objekte, nicht für Aufträge
 
Guten Abend, Victor! Seltsam, der schwebende Auftrag ist kein Objekt! Vielleicht haben Sie ein Objekt, das bereits hätte gelöscht werden sollen, aber nicht gelöscht wurde!
 

Könnt ihr mich beraten, Freunde? Dies ist das erste Mal, dass ich einen EA schreibe, der mit mehreren schwebenden Aufträgen gleichzeitig arbeitet, und ich habe mich gefragt... welche Fehler können beim Öffnen schwebender Aufträge auftreten? Worauf sollten wir bei der Fehlerbehandlung achten? Könnte es Fehler wie 4 (Handelsserver ist beschäftigt) oder 146 (Handelssubsystem ist beschäftigt) geben? Teilen Sie es mit, wenn Sie es wissen.

 
Dozol:

Könnt ihr mich beraten, Freunde? Dies ist das erste Mal, dass ich einen EA schreibe, der mit mehreren schwebenden Aufträgen gleichzeitig arbeitet, also frage ich mich... welche Art von Fehlern kann es geben, wenn schwebende Aufträge geöffnet werden? Worauf sollten wir bei der Fehlerbehandlung achten? Könnte es Fehler wie 4 (Handelsserver ist beschäftigt) oder 146 (Handelssubsystem ist beschäftigt) geben? Teilen Sie es mit, wenn Sie es wissen.

In der realen Welt kann alles passieren. Behandeln Sie, wenn möglich, alle auftretenden Handelsfehler.
 

Bitte um Rat!!!

Ich schreibe ausstehende Aufträge zu einer bestimmten Zeit

{

Offene Zeit definieren

}

if ((condition)==true)//
{
OrderSend ( OP_BUYSTOPP, parameters);// eröffnet eine schwebende BuyStop Order
OrderSend ( OP_SELLSTOP, parameters);// eröffnet eine schwebende SellStop Order
}

Ich glaube, ich habe die Uhrzeit richtig geschrieben; sie wird erkannt, aber aus irgendeinem Grund wird entweder der Verkaufsstopp oder der Kaufstopp geöffnet und nicht beide auf einmal. Ich versuche, zwei schwebende Aufträge unterschiedlichen Typs (Bistop und Sellstop) gleichzeitig und nacheinander zu eröffnen. Die Frage scheint primitiv zu sein, bitte helfen Sie den Dummies) Danke!)