[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 13
Die Sache ist die, dass die OrderClose()-Funktion, die den Auftrag schließt, die Auftragsnummer als ersten Parameter benötigt, und die Auftragsnummer kann nur durch den Aufruf von OrderSelect() bei bestehenden Aufträgen erhalten werden, so dass der Abschluss im allgemeinen Fall wie folgt aussieht...
Wenn OrdersTotal() = 0 ist, d.h. wenn es keine offenen Aufträge gibt, wird die for-Schleife sofort beendet.
Vielen Dank für die Antwort, können Sie den Anfang der OrderSend-Funktion schreiben? es sollte direkt nach der letzten Klammern gehen????
Können Sie mir sagen, welche Funktion den Wert des Margin-Levels (in Prozent) für offene Aufträge zurückgibt, der auf der Registerkarte "Handel" angezeigt wird?
In der Hilfe gibt keine der aufgeführten Funktionen diesen Wert zurück.
Ich weiß nicht, warum Sie denken, dass ich wütend bin.
Das ist nur meine Art, zu erklären, dass
indem sie jedes Zeichen von Ungleichheit aufgreifen und
>> im Prüfgerät können Sie einen positiven
das Ergebnis mit irgendeinem Niveau, und es spielt keine Rolle, welches Niveau
positiv oder negativ. Und auf die Frage
ob Sie die Stufe mit oder ohne Minuszeichen nehmen wollen,
Es gibt leider keine klare Unterscheidung.
Ich habe vielleicht einen Fehler gemacht..........
Das Problem ist, dass der Anfänger fragt, was er NICHT WISSEN kann. Dieser Beispielcode dient dazu, die Struktur (korrekte Struktur) des EA zu verstehen.
Und was in diesem Stück Code steckt, basiert auf einem KLASSISCHEN Handelsprinzip. Sowohl der Expert Advisor selbst als auch die Codebeispiele dienen dazu, die Prinzipien zu studieren, und nicht dazu, jemanden zu stoßen oder ihn bei etwas zu erwischen....... Was ich frage, bedeutet, dass es nicht klar ist. Schließlich MÜSSEN Sie theoretisch verstehen, was und wie. Und dann erschaffen, formen, erfinden........
keekkenen 25.02.2009 11:34 1) Bitte erklären Sie, OrderSend(...) Funktion hat int-Typ, und Sie definieren es als bool-Typ, während bool-Typ nicht -1 Wert hat, wie korrekt ist es? 2) In KimIV Funktion der Position öffnen Wiederholung durch for(...) gemacht wird, während in Ihrem durch while(...). welche Art und Weise denken Sie, ist besser?
1. Dies ist ein Fehler... Sie müssen res als int deklarieren und eine weitere Variable vom Typ bool hinzufügen, um den Wert des Erfolgs/Fehlschlags beim Öffnen der Bestellung zurückzugeben...
2) Ich habe früher auch eine der Implementierungen von Igors OpenPosition()-Funktion verwendet, aber später die Funktion geändert, um Fehler leichter abfangen und melden zu können...
Das Ergebnis ist die folgende Struktur
while( try !=0){// определение условий для открытыия позиции//..// открытие позициц
res =OrderSend(...);if( res >0){PlaySound("alert.wav");
try =0;Comment("Ордер открыт !");Sleep(2000);
ret =true;}else{/* блок определения ошибок и возврат
err - уровень критичности ошибки (0,1,2,3)
msg - описание ошибки (если showErrors = true)
уровни определяются по номеру ошибки
0-нет ошибки, 1-надо ждать и обновлять,
2-сделка бракуется,3-фатальная ошибка*/
ErrorBlock( showErrors, err, msg);if( err >1) try =0;// в данном случае 2 и 3 критичныComment("Ошибка - ", msg);Sleep(2000);}}
Wenn ich Ihre Funktion richtig verstehe, ist die Anzahl der Versuche im Gegensatz zu Igors Funktion unbegrenzt, wenn es kontinuierliche Requotes gibt? Ist in diesem Fall eine Einschränkung erforderlich?
Die Sache ist die, dass die OrderClose()-Funktion, die den Auftrag schließt, die Auftragsnummer als ersten Parameter benötigt, und die Auftragsnummer kann nur durch den Aufruf von OrderSelect() bei bestehenden Aufträgen erhalten werden, so dass der Abschluss im allgemeinen Fall wie folgt aussieht...
Wenn OrdersTotal() = 0 ist, d.h. wenn es keine offenen Aufträge gibt, wird die for-Schleife sofort beendet.
Vielen Dank für die Antwort, können Sie den Anfang der OrderSend-Funktion schreiben? es sollte direkt nach der letzten Klammern gehen????
Vielen Dank für die Antwort, können Sie den Anfang der OrderSend-Funktion schreiben? es sollte direkt nach der letzten Klammern gehen????
Nun, hier ein Beispiel
Können Sie mir sagen, welche Funktion den Wert des Margin-Levels (in Prozent) für offene Aufträge zurückgibt, der auf der Registerkarte "Handel" angezeigt wird?
In der Hilfe gibt keine der aufgeführten Funktionen diesen Wert zurück.
AccountMargin
AccountFreeMargin
AccountFreeMarginCheck
AccountFreeMarginMode
Der Damiani_Volt Indikator kann verwendet werden.
Interessantes Material, danke.
das ist es
Dankeschön
Ich weiß nicht, warum Sie denken, dass ich wütend bin.
Das ist nur meine Art, zu erklären, dass
indem sie jedes Zeichen von Ungleichheit aufgreifen und
>> im Prüfgerät können Sie einen positiven
das Ergebnis mit irgendeinem Niveau, und es spielt keine Rolle, welches Niveau
positiv oder negativ. Und auf die Frage
ob Sie die Stufe mit oder ohne Minuszeichen nehmen wollen,
Es gibt leider keine klare Unterscheidung.
Ich habe vielleicht einen Fehler gemacht..........
Das Problem ist, dass der Anfänger fragt, was er NICHT WISSEN kann. Dieser Beispielcode dient dazu, die Struktur (korrekte Struktur) des EA zu verstehen.
Und was in diesem Stück Code steckt, basiert auf einem KLASSISCHEN Handelsprinzip. Sowohl der Expert Advisor selbst als auch die Codebeispiele dienen dazu, die Prinzipien zu studieren, und nicht dazu, jemanden zu stoßen oder ihn bei etwas zu erwischen....... Was ich frage, bedeutet, dass es nicht klar ist. Schließlich MÜSSEN Sie theoretisch verstehen, was und wie. Und dann erschaffen, formen, erfinden........
1. Dies ist ein Fehler... Sie müssen res als int deklarieren und eine weitere Variable vom Typ bool hinzufügen, um den Wert des Erfolgs/Fehlschlags beim Öffnen der Bestellung zurückzugeben...
2) Ich habe früher auch eine der Implementierungen von Igors OpenPosition()-Funktion verwendet, aber später die Funktion geändert, um Fehler leichter abfangen und melden zu können...
Das Ergebnis ist die folgende Struktur