[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 227
Erhöhen Sie den Schlupf. Die Geschäfte müssen in einem schnellen Markt eröffnet worden sein. Es passiert manchmal nach wichtigen Nachrichten, dass die Eurobucks so schnell in 1-2 Ticks sind, dass es ein Alptraum ist. Und während der Server den Auftrag des EA verarbeitet, ändert sich der Preis sehr abrupt.
Ich befürchte, dass die DT, wenn die Abweichung immer groß ist, anfangen könnte, sie systematisch zu missbrauchen. Es wäre wünschenswert, sie dynamisch zu "verschieben" - allerdings nur, wenn der Preis auf dem Server besser ist als der, zu dem die Bestellung abgeschickt wurde. Es wäre ähnlich wie beim manuellen Bieten - wenn der gewünschte Preis nicht mehr verfügbar ist, wird ein neuer angeboten, der durch Drücken von OK akzeptiert oder abgelehnt werden kann - natürlich nur, wenn es sich um dieselbe Situation handelt.
Hallo zusammen! Bitte helfen Sie mir, die folgenden Dinge zu kombinieren. Das Ergebnis sollte sein: zwei Linien, die dem Kurs folgen, eine um 20 Pips niedriger als Ask..,
Außerdem erhalte ich einen Signalton, wenn sich der Preis um 20 Punkte pro 1 Tick ändert.
Alles funktioniert auch einzeln gut. Vielen Dank im Voraus!
Vovo4ka: Leute! Ich versuche zu machen, dass je nach Risiko.... viel gehandelt werden würde, was nicht herauskommt....schreibt
Bitte teilen Sie uns mit, wo der Fehler liegt....
Haben Sie nur einen einzigen Auftrag der richtigen Art in Ihrer Handelshistorie?
if(OrderProfit()>0) break;
Wenn es einen Auftrag gibt, der mit Gewinn abgeschlossen wurde, steigen wir aus der Schleife aus und überprüfen den Rest der Historie nicht...
int orders=HistoryTotal(); // history orders tota l
Ist das Ihre eigene Funktion? OrdersHistoryTotal()?
Ich bin verwirrt, wenn ich nach der Anzahl der verlorenen Aufträge suche. Wenn Sie den letzten abgeschlossenen Auftrag benötigen, wo ist der Scheck für den letzten Auftrag?
Hier ist die Hausaufgabe für Ihre eigene Analyse:
int losses=0;
for (int i=0; i<OrdersHistoryTotal(); i++) { // Цикл по истории терминалаif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { // Если ордер выбран ...if (OrderSymbol()!=Symbol()) continue; // Если символ ордера не наш - к следующему ордеруif (OrderType()>OP_SELL) continue; // Если тип ордера не наш - к следующему ордеруif (OrderMagicNumber()!=Magic) continue; // Если магик ордера не наш - к следующему ордеруif (OrderProfit()>=0) continue; // Если профит ордера в плюсе - к следующему ордеруif (OrderProfit()<0) // Ордер закрыт в минусе ...
losses++; // Увеличиваем счётчик убыточных ордеров
}
elseif (!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { // Если не удалось выбрать ордер ...Print("Error in history! ", GetLastError()); // Сообщим об ошибке и посмотрим её кодbreak; // Прерываем цикл перебора ордеров
}
}
Und noch eine Sache:
if(ldlot<0.1) ldlot=0.1;
Kann es trotzdem besser sein, die Prüfung für weniger als das minimal Zulässige durchzuführen?
double MinLot=MarketInfo(Symbol(),MODE_MINLOT);
if (ldlot<MinLot) ldlot=MinLot;
Und ist sie gleichzeitig größer als der Höchstwert (wenn die Losgröße an die Funktion übergeben wird)?
double MaxLot=MarketInfo(Symbol(),MODE_MAXLOT);
if (ldlot>MaxLot) ldlot=MaxLot;
Ich befürchte, dass die DC bei einem hohen Slippage-Betrag anfangen könnten, diesen systematisch zu missbrauchen.
Wenn die DC anfängt, sie zu missbrauchen, hilft nichts mehr. Hier ist eine weitere Möglichkeit, die funktionieren könnte. Wenn Ihr Maklerunternehmen gleitende Spreads hat, ist es besser, die Funktion mit automatischer Bestimmung der Spread-Größe zu verwenden, und die Slippage sollte auf drei Spreads eingestellt werden. Der Schlupf wird sich dann dynamisch verändern.
Sagen Sie mir, wenn ich mit Aufträgen durch Ticket, wie eine Variable (int Ticket), als statische lokale oder wie üblich global oder im Allgemeinen, wie üblich lokal zu schreiben? Ich bin verwirrt. Ich danke Ihnen.
Fam: Bitte beraten Sie, wenn wir mit Aufträgen nach Ticket arbeiten, wie die Variable (int Ticket) korrekt zu schreiben, als eine statische lokale oder als eine reguläre globale oder allgemein als eine reguläre lokale? Ich bin verwirrt. Ich danke Ihnen.
Es hängt alles davon ab, ob diese Variable allen EA-Funktionen zur Verfügung steht (nun ja... nicht allen, aber sicher einigen). Dann ist die Variable global.
Wenn sie nur in einer Funktion verwendet wird, ist sie lokal.
Die Frage ist, in welches Wasser man die Blumen stellen soll, in normales oder gesüßtes Wasser" ... Während du rätst, werden die Blumen im Bad zu einem Besen... :))
Ich befürchte, dass die Gleichstellungsbeauftragten, wenn die Schlupfquote immer hoch ist, sie systematisch missbrauchen könnten. Ich möchte ihn dynamisch "verrutschen" - nur wenn der Preis auf dem Server besser ist als der Preis, zu dem der Auftrag gesendet wurde. Es wäre ähnlich wie beim manuellen Bieten - wenn der gewünschte Preis nicht mehr verfügbar ist, wird ein neuer angeboten, der durch Drücken von OK akzeptiert oder abgelehnt werden kann - natürlich nur, wenn es sich um dieselbe Situation handelt.
Versuchen Sie zunächst , den Slippage von der Volatilität abhängig zu machen. In einem ruhigen Markt wird er minimal sein, in einem schnellen Markt wird er sich weiter ausbreiten.
Erhöhen Sie den Schlupf. Die Geschäfte müssen in einem schnellen Markt eröffnet worden sein. Es passiert manchmal nach wichtigen Nachrichten, dass die Eurobucks so schnell in 1-2 Ticks sind, dass es ein Alptraum ist. Und während der Server den Auftrag des EA verarbeitet, ändert sich der Preis sehr abrupt.
Ich befürchte, dass die DT, wenn die Abweichung immer groß ist, anfangen könnte, sie systematisch zu missbrauchen. Es wäre wünschenswert, sie dynamisch zu "verschieben" - allerdings nur, wenn der Preis auf dem Server besser ist als der, zu dem die Bestellung abgeschickt wurde. Es wäre ähnlich wie beim manuellen Bieten - wenn der gewünschte Preis nicht mehr verfügbar ist, wird ein neuer angeboten, der durch Drücken von OK akzeptiert oder abgelehnt werden kann - natürlich nur, wenn es sich um dieselbe Situation handelt.
Hallo zusammen! Bitte helfen Sie mir, die folgenden Dinge zu kombinieren. Das Ergebnis sollte sein: zwei Linien, die dem Kurs folgen, eine um 20 Pips niedriger als Ask..,
Außerdem erhalte ich einen Signalton, wenn sich der Preis um 20 Punkte pro 1 Tick ändert.
Alles funktioniert auch einzeln gut. Vielen Dank im Voraus!
1) Die Linie unterhalb des Ask um 20 Pips.
2) Die Linie liegt 20 Pips über dem Ask.
3) Preisänderungsrate im Zeitverlauf.
Als ob ein kluger Petrosianer einen Scherz machen wollte...))
Das tut mir leid, das Geld gehört Ihnen. Je mehr von Ihnen, desto besser geht es uns.
MetaEditor verfügt über einen Standard-iMA-Indikator. Sie können es gerne verwenden :)
Leute! Ich versuche zu machen, dass je nach Risiko.... viel gehandelt werden würde, was nicht herauskommt....schreibt
Bitte teilen Sie uns mit, wo der Fehler liegt....
Haben Sie nur einen einzigen Auftrag der richtigen Art in Ihrer Handelshistorie?
Wenn es einen Auftrag gibt, der mit Gewinn abgeschlossen wurde, steigen wir aus der Schleife aus und überprüfen den Rest der Historie nicht...
Ist das Ihre eigene Funktion? OrdersHistoryTotal()?
Ich bin verwirrt, wenn ich nach der Anzahl der verlorenen Aufträge suche. Wenn Sie den letzten abgeschlossenen Auftrag benötigen, wo ist der Scheck für den letzten Auftrag?
Hier ist die Hausaufgabe für Ihre eigene Analyse:
Und noch eine Sache:
Kann es trotzdem besser sein, die Prüfung für weniger als das minimal Zulässige durchzuführen?
Und ist sie gleichzeitig größer als der Höchstwert (wenn die Losgröße an die Funktion übergeben wird)?
Danke, aber Sie müssen trotzdem einen Zettel einwerfen.
Ich befürchte, dass die DC bei einem hohen Slippage-Betrag anfangen könnten, diesen systematisch zu missbrauchen.
Bitte beraten Sie, wenn wir mit Aufträgen nach Ticket arbeiten, wie die Variable (int Ticket) korrekt zu schreiben, als eine statische lokale oder als eine reguläre globale oder allgemein als eine reguläre lokale? Ich bin verwirrt. Ich danke Ihnen.
Es hängt alles davon ab, ob diese Variable allen EA-Funktionen zur Verfügung steht (nun ja... nicht allen, aber sicher einigen). Dann ist die Variable global.
Wenn sie nur in einer Funktion verwendet wird, ist sie lokal.
Die Frage ist, in welches Wasser man die Blumen stellen soll, in normales oder gesüßtes Wasser" ... Während du rätst, werden die Blumen im Bad zu einem Besen... :))
Ich befürchte, dass die Gleichstellungsbeauftragten, wenn die Schlupfquote immer hoch ist, sie systematisch missbrauchen könnten. Ich möchte ihn dynamisch "verrutschen" - nur wenn der Preis auf dem Server besser ist als der Preis, zu dem der Auftrag gesendet wurde. Es wäre ähnlich wie beim manuellen Bieten - wenn der gewünschte Preis nicht mehr verfügbar ist, wird ein neuer angeboten, der durch Drücken von OK akzeptiert oder abgelehnt werden kann - natürlich nur, wenn es sich um dieselbe Situation handelt.