Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ja, ein guter Rat...
Wiederholen Sie
Wir müssen dieErgebnisse überprüfen.bestellen.
Wenn der Auftrag erteilt wird, bedeutet das nicht, dass das Geschäft bereits abgeschlossen ist.
Außerdem sollten wir auch den Status der Bestellung überprüfen und ob sie bereits in der Historie erschienen ist oder nicht.
Die Börse arbeitet nicht mit Positionen, sondern nur mit Aufträgen.
Vor kurzem habe ich ein Thema über die Wiederaufnahme von Aufträgen angesprochen. Ich dachte, ich hätte das Problem gelöst, da eine Woche lang alles reibungslos funktionierte. Aber heute bin ich nur beim Öffnen auf ein ähnliches Problem gestoßen.
Viele Aufträge wurden bei Finam eröffnet, und 9 bei Otkritie... obwohl in allen Fällen nur ein Auftrag hätte eröffnet werden dürfen.
Hier ist ein Codeausschnitt aus dem EA
D.h. wir können aus dem Code ersehen, dass bei erfolgreicher Operation die VariableOpenOrders steigt, die anfangs gleich 0 ist
Ist er größer als 0, sollte der Auftrag nicht weiter geöffnet werden, sondern der gesamte Auftragsstapel wird mit dem Kommentar Order1 geöffnet.
Ich überprüfe, ob es eine positive Antwort in der Funktion zum Öffnen der Bestellung gibt und ob das Bestellungs-Ticket empfangen wurde, aber aus irgendeinem Grund gibt diese Funktion false zurück, obwohl die Bestellung tatsächlich gesetzt ist.
Erläutern Sie, was falsch ist und wie man dieses Problem lösen kann.
Sagen Sie mir, für welchen Markt schreiben Sie diesen Code?
Für den Börsenmakler.
Wiederholen Sie
Außerdem sollten Sie den Status der Bestellung überprüfen und feststellen, ob sie bereits in der Historie erschienen ist oder nicht.
Die Börse handelt nicht mit Positionen, sondern nur mit Aufträgen.
Nun Sergei, siehe....das ist aus der Dokumentation des Abfrageergebnisses
Deal
Ein Ticketverkauf, wenn er durchgeführt wurde. Dies wird bei einem Handelsgeschäft gemeldetTRADE_ACTION_DEAL
Bestellung
Ticketbestellung, wenn ein Ticket bestellt wurde. Benachrichtigung während eines GeschäftsvorgangsTRADE_ACTION_PENDING
Ich habe keinen schwebenden Auftrag, ich verwendeTRADE_ACTION_DEAL
Sie müssen mit Limitern arbeiten, dann ist alles richtig.... und hier ist der Einstieg vom Markt zum aktuellen Preis.Nun Sergei, siehe....das ist aus der Dokumentation des Abfrageergebnisses
Angebot
Ticketverkauf, falls vorhanden. Zu melden bei einem GeschäftTRADE_ACTION_DEAL
Bestellung
Ticketbestellung, wenn ein Ticket bestellt wurde. Benachrichtigung während eines GeschäftsvorgangsTRADE_ACTION_PENDING
Ich habe keinen schwebenden Auftrag, ich verwendeTRADE_ACTION_DEAL
Sie müssen mit Limitern arbeiten, dann ist alles richtig.... und hier steigen Sie zum aktuellen Kurs ein.SetTypeFilling
SetTypeFilling
Legt die Auftragsart durch Ausfüllen fest
Sie legen fest, was Sie für richtig halten.
Übrigens, ich habe soeben die Ergebnisse des Versands der Bestellung mit den Ausdrucken überprüft
Das Ticket ergibt also in allen Fällen 0
res=OrderSend(Request,Results);
if(res)
{
Print(_Symbol+" Test True order "+(string)Results.deal);
if(Results.deal>0) return(true);
else return(false);
}
Print(_Symbol+" Test False order "+(string)Results.deal);
return(false);
Übrigens, ich habe soeben die Ergebnisse einer Bestellung mit den Ausdrucken überprüft
Ticket zeigt in allen Fällen 0 an
Es wurden Fortschritte erzielt ... ))
Übrigens habe ich soeben bei der Druckerei nachgefragt, was mit dem Versand der Bestellung passiert ist
Das Ticket ergibt also in allen Fällen 0
res=OrderSend(Request,Results);
if(res)
{
Print(_Symbol+" Test True order "+(string)Results.deal);
if(Results.deal>0) return(true);
else return(false);
}
Print(_Symbol+" Test False order "+(string)Results.deal);
return(false);
Wo sind die Rückgabecodes? Woher weiß ich, ob ein Fehler vorliegt oder nicht?
Ich habe Ihnen ein Beispiel gegeben: doppelter Schutz und die Ausgabe des Tickets und des Rückgabecodes.
Ich konnte kein Beispiel finden. Lassen Sie es mich so formulieren.
Wenn Sie einen Auftrag über den Markt senden, sollte der Auftrag ausgeführt oder abgelehnt werden (da Sie einen FOK-Fill haben).
Sie brauchen also nicht auf ein Ticket zu warten, sondern ein TICKET zu kaufen.
Sobald Sie ein Ticket erhalten haben, "gehen" Sie mit dem Ticket zu OnTradeTransaction()
Sie hören auf TRADE_TRANSACTION_HISTORY_ADD, weil Marktaufträge immer in die Historie gelangen.
und sehen Sie sich das Ticket an, um zu sehen, was mit der Bestellung passiert ist.