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

 

zu artmedia70:

Nun, die Bestellung ist bereits abgeschlossen, wenn es zu dieser Bedingung kommt.

 

zu demlin:

Ich kann mir vorstellen, dass es aus dem Handel verschwindet.

 
demlin:

Hallo zusammen!

Der Indikator zeichnet eine Linie, die sich am nächsten Tag von den Balken löst und zur Seite hängt. Wenn ich den Indikator neu starte, zeichnet er wieder normal. Was kann das sein?


Der Indikator ist schief. Wir müssen es neu machen.
 
Vinin:

Der Indikator ist schief. Wir müssen es neu machen.
Das verstehe ich, aber wo könnte das Problem liegen?
 
Solree:

zu demlin:

Ich kann mir vorstellen, dass es aus dem Handel verschwindet.

Wie wäre es, eine Suche nach Aufträgen aus der Historie zu organisieren? Wenn du die richtige Reihenfolge gefunden hast, zählst du die Schlusszeit
 

zu delmin:

Um so etwas nicht zu tun, benutze ich ein Ticket. Tatsächlich können wir die Logik umschreiben (zumindest können wir den zurückgegebenen OrderClose()-Wert in bool schreiben und ihn dann überprüfen). Ich bin nur neugierig, warum es nicht den richtigen Wert für einen abgeschlossenen Auftrag zurückgibt, und ich möchte das Programm nicht mit unnötigen Aktionen überfrachten. Ich hoffe auf Ihre Hilfe :)

 
Solree:

zu delmin:

Um so etwas nicht zu tun, benutze ich ein Ticket. Im Allgemeinen können wir die Logik umschreiben (zumindest können wir den zurückgegebenen OrderClose()-Wert in bool schreiben und ihn dann überprüfen). Ich bin nur neugierig, warum es nicht den richtigen Wert für einen abgeschlossenen Auftrag zurückgibt, und ich möchte das Programm nicht mit unnötigen Aktionen überfrachten. Ich hoffe auf Ihre Hilfe :)

Ich habe Ihre Frage bereits beantwortet: Sie müssen die Abschlusszeit eines Auftrags per Ticket direkt nach dessen Auswahl überprüfen. Nur bei abgeschlossenen Aufträgen ist er höher als Null. In Ihrem Fall jedoch erfolgt die Prüfung der Schließungszeit nach dem Block der Schließung anderer Aufträge, und Sie prüfen die Schließungszeit anderer Aufträge. Im Allgemeinen erhalten Sie so umfassende Antworten auf die Frage, wie viel Code Sie angezeigt haben.
 
demlin:
Das verstehe ich, aber wo könnte das Problem liegen?

Sie müssen sich den Code ansehen, sonst können nur Telepathen helfen
 
    if (tempWho == 0 && pos != -1)
    {
        if (OrderSelect(pos, SELECT_BY_TICKET))
        {
            if (OrderType() == OP_BUY)
            {
                if (who != 1)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            else if (OrderType() == OP_SELL)
            {
                if (who != 2)
                {
                    while(!OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), 0))
                        Sleep(3000);
                    
                    pos = -1;
                }
            }
            
            Alert(OrderCloseTime());
            
            if (OrderCloseTime() != 0)
            {
                if (OrderProfit() < 0)
                {
                    if (tempCount != 0)
                    {
                        tempLot += lot;
                        tempCount--;
                    }
                    else
                    {
                        tempLot = lot;
                        tempCount = countLot;
                    }
                }
                else
                {
                    tempLot = lot;
                    tempCount = countLot;
                }
            }
        }
    }

Hier ist der Code für den Block, in dem der Feierabend-Checker die ganze Arbeit macht.

Spielt es keine Rolle, wann man die Funktion aufruft? Die Hauptsache ist, dass die Bestellung abgeschlossen ist. Oder nicht...?

Z.Y. hat es bereits geändert, um es in Bezug auf die Produktivität rentabler zu machen. Aber ich frage mich immer noch, was ich mit OrderCloseTime() falsch mache.

 
Solree:

Hier ist der Code des Blocks, in dem der Feierabend-Checker die ganze Arbeit macht.

Spielt es keine Rolle, wann man die Funktion aufruft? Die Hauptsache ist, dass die Bestellung abgeschlossen ist. Oder nicht...?

Z.Y. hat es bereits geändert, um es in Bezug auf die Produktivität rentabler zu machen. Aber ich frage mich immer noch, was ich mit OrderCloseTime() falsch mache.

Schreiben Sie lieber auf, was Sie erreichen wollen.