Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 384
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
...
if (Auftragssumme() == 0 && ********** )
OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0, "5891",MagicNumb,0,Red);
if (OrdersTotal() == 0 && ***********)
OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0, "58892",MagicNumb,0,Red);
...Wenn Sie zwei Expert Advisors haben, sollten sie denselben Assistenten haben. Sie sollten auf verschiedenen Charts für ein Symbol gestartet werden. Im Allgemeinen ist es natürlich einfacher, das Hauptprojekt zu verbessern, als ein neues zu beginnen.
Ich kann es nicht verbessern, es ist vom Markt.
Ich kann es nicht auf 2 Charts verwenden, weil ich keine geeigneten Bedingungen finde. Es öffnet Aufträge in 2 Richtungen, wenn 0 übrig sind.
Nun, die Prüfung ist ein Funktionsaufruf, der ein Flag zurückgibt:
if(!Function_check_open_position(symbol,OP_BUY,magic)) function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic,comment);
if(!Function_check_open_position(symbol,OP_SELL,magic)) Function_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic,comment);
Ja, ich habe mich geirrt, als ich von "no inludes" sprach, diese Funktion ist nur im Trade.mqh inluder enthalten.
Kein Problem, ich habe mit dem Gegenteil abgeschlossen.
Das Ende ist in einem Wimpernschlag geschrieben, es dauert länger, ein Signal zu geben.
auf der 4-rka scheint es unter diesem Gesichtspunkt schlimmer zu sein....
und diese Mehrfachwährung ist eine Schönheit, ich traue meinen Augen nicht.
BRAVO an die Entwickler! Der //Übergang zum ersten Mal war genau 1 Tag.
Wenn Sie zunächst herausfinden wollen, ob es wieder einen Auftrag gibt, müssen Sie die Funktion erneut aufrufen. Und wenn Sie den Wert in Variablen speichern wollen, können Sie diese weitergeben, ohne die Funktion erneut aufzurufen. Zweitens ist es eine Frage des Geschmacks, ich mag es nicht, komplexe Konstruktionen zu machen, vor allem wenn es ein paar Bedingungen gibt oder viele Argumente an eine Funktion übergeben werden. Das erschwert das Verständnis des Codes.
Ich kann es nicht verbessern, es ist vom Markt.
Ich kann es nicht auf 2 Charts verwenden, weil ich keine geeigneten Bedingungen finden kann. Es öffnet Aufträge in 2 Richtungen, wenn es 0 von ihnen übrig sind.
Nach der Frage zu urteilen, ist dort nichts weiter erforderlich.
Die Projekte werden ausgeweitet,
Artyom Trishkin:
Es sollte auf einem Diagramm funktionieren, und das zweite - ein einfaches, das zwei Positionen öffnet - auf dem anderen. Man hat Ihnen bereits gesagt, wie Sie vorgehen müssen.
Sie sind kein bisschen unzureichend.Auf Wiedersehen.
Die Projekte werden immer umfangreicher, man muss versuchen, im Voraus zu denken.
Ja, danke für die Wissenschaft. Ich werde sicher darüber nachdenken...
ZS. Was hindert dann daran, die Prüfung nicht in einer Bedingung, sondern in einer Variablen abzulegen und bereits zu prüfen? Die wahrscheinlich größte Komplexität dieses Projekts in der Zukunft...
Und noch etwas: Wenn das Projekt erweitert wird, kann sich auch die Code-Ausführungszeit erhöhen. Dies hat zur Folge, dass viele Berechnungen durchgeführt werden müssen, nachdem die Daten in die Variable geschrieben wurden. Ist es also nicht möglich, dass zu dem Zeitpunkt, an dem wir eine zweite Prüfung benötigen, der Auftrag bereits geschlossen wurde (z.B. bei einem Stop ... oder Take ...) und das Programm dann einen falschen Wert in der Variablen berechnet?
Genau - wir müssen im Voraus über große Projekte und alle möglichen Situationen, die auftreten können, nachdenken. Ich bleibe also bei meiner Überzeugung, dass man immer die neuesten Daten haben sollte , bevor man sie verwendet. So weit wie möglich.
le0nid2014:
Sie sind ein bisschen unzulänglich.Auf Wiedersehen.