Ich überprüfte es im wirklichen Leben, legte es auf dem Diagramm, es öffnete eine Position, dann änderte die Zeit, so dass es über den Ablauf des aktuellen Symbols gehen würde, der Roboter schloss die Position und öffnete es bereits auf eine andere Adresse.
Alles ist in Ordnung... aber es gibt einen Nachteil, es schließt öffnet, aber das Diagramm, auf dem der Roboter steht, bleibt alt, wäre es gut, dass mit der Eröffnung einer Position auf einem neuen Futures und das Instrument selbst geändert, so dass es nicht notwendig wäre, um den Roboter zu einem neuen Futures manuell zu bewegen.
Ich habe eine Zeile hinzugefügt
//+------------------------------------------------------------------+ void CheckPos(string sym, string & TradeFutures, double lot) { if(SymbolInfoInteger(TradeFutures,SYMBOL_EXPIRATION_TIME)-TimeCurrent()<hours_before_expiration*60*60) { trade.PositionClose(TradeFutures); Sleep(3000); SymbolSelect(TradeFutures,false); TradeFutures=NextFutures(sym); } if(!PositionSelect(TradeFutures)) { if(lot>0) trade.Buy(lot,TradeFutures); if(lot<0) trade.Sell(-lot,TradeFutures); ChartSetSymbolPeriod(0,TradeFutures,PERIOD_CURRENT); Sleep(3000); } } //+------------------------------------------------------------------+
Die Umschaltung funktioniert einwandfrei.
Danke für das Beispiel.
Ich habe eine Zeile hinzugefügt
Alles schaltet gut.
Danke für das Beispiel.
Wenn der Expert Advisor mit mehreren Instrumenten handelt, macht es meiner Meinung nach keinen Sinn, den Chart zu wechseln. Sie können ihn auf einen Kleber setzen.
Dies ist nur ein Beispiel, es ist Sache des Besitzers.
Beim echten Handel würde ich Sleeps weglassen und eine normale Überprüfung der Auftragsausführung vornehmen. Aber ich wollte die Essenz des Beispiels nicht überfrachten, das ist ein anderes Thema.
Wenn der Expert Advisor mit mehreren Instrumenten handelt, macht es meines Erachtens keinen Sinn, den Chart zu wechseln. Es ist möglich, ihn auf einen Kleber zu setzen.
Dies ist nur ein Beispiel, es ist bis zu dem Eigentümer.
Beim realen Handel würde ich Sleeps weglassen und eine normale Überprüfung der Auftragsausführung vornehmen. Aber ich wollte die Essenz des Beispiels nicht überfrachten, das ist ein anderes Thema.
Ich stimme Ihnen vollkommen zu, aber ich brauche einen Algorithmus, der eine Position während des Tages schließt, alle Limiter entfernt, den Roboter zu einem anderen Futures mit einem anderen Handelsplan umstellt und einen neuen Handel mit einem sauberen Blatt auf dem neuen Futures beginnt.
Als ob ich all dies getan hätte, aber es gab ein Problem, das ich nicht lösen kann.
Zum Beispiel durch Hinzufügen von
ChartSetSymbolPeriod(0,TradeFutures,PERIOD_CURRENT);
Der Chart ändert sich, aber wenn ich versuche, nach dem Übergang Zeitrahmen anzuklicken, z. B. M5 M30 usw., gibt der Roboter beim nächsten Tick den TF zurück, auf dem er den Futures-Chart geändert hat.
Ich habe auch geplant, eine erzwungene Wahl des gehandelten Instruments in den Einstellungen zu machen, zum Beispiel, setzen wir Öl, (nach Ihrer Wahl), aber der Roboter ist auf rts geworfen, wenn die Initialisierung der Chart ändert sich auf Öl.... Ich habe all dies getan, aber beim Wechsel zu einem anderen Futures bei Ablauf gibt es eine Schleife, der Roboter initialisiert, wenn sie auf BR-5,18, dann gibt es eine Änderung auf 6,18 mit einem Chart ändern und hier auf jedem Tick beginnt Änderung von 6,18 bis 5,18 und zurück....
In dieser Angelegenheit bin ich noch nicht stark, ich habe keine Beispiele für solche Arbeiten in der Datenbank gefunden, vielleicht wird es durch irgendwelche Prüfungen, Flags, etc. gemacht, aber ich habe noch nicht herausgefunden, wie man es macht. Ich wäre dankbar für einen Anstoß in die richtige Richtung, ich denke, ich bin nicht der Einzige... Es wäre großartig, ein erweitertes Beispiel von V2 zu sehen, ich denke, jeder wird mir zustimmen, dass dieser Algorithmus des Übergangs und der Änderung des Handelsplans standardmäßig in jeden Roboter, der auf FORTS handelt, eingebettet sein sollte, vielleicht würden die Entwickler selbst ihn zu ihrer Bibliothek hinzufügen.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Futures Portfolio Control Expiration:
Ein Portfolio-EA für den Markt MOEX FORTS.
Autor: Sergey Chalyshev