Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 665

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
Guten Tag, liebe Forumsnutzer, bitte helfen Sie einem Neuling. Ich habe einen benutzerdefinierten Indikator, unten ist ein Code-Fragment mit mehr als 1000 Zeilen wie in den ursprünglichen Code, das ist, warum ich nicht eingefügt den gesamten Code.
Das '+' - Programm ist zu komplex. Es gibt diese Fehlermeldung aus.
Ich habe in den Forumsthreads gelesen, dass dieser Fehler auftritt, wenn die Funktion zu lang ist. Wie kann ich eine Funktion in mehrere Unterfunktionen aufteilen? Bitte beschreiben Sie meinen Code als Beispiel.
Erstellen Sie die Datei filter.mq4 mit dieser Funktion und speichern Sie sie in \MQL4\Include\.
und rufen ihn dann über den Indikator auf #include <filter.mq4>
Wenn die Antwortvariable im Indikator enthalten ist, brauchen Sie sie nicht zu deklarieren, sondern nur bei Bedarf zu verwenden.
erstellen.
Erstellen Sie die Datei filter.mq4 mit dieser Funktion und speichern Sie sie in \MQL4\Include\
dann Aufruf über den Indikator #include <filter.mq4>
Wenn die Antwortvariable im Indikator enthalten ist, brauchen Sie sie nicht zu deklarieren, sondern verwenden sie nur, wenn es nötig ist.
Vielen Dank!)
Aus den Augenwinkeln habe ich die Lösungen gesehen, die Ihnen zuvor von anderen angeboten wurden. Möglicherweise haben Sie beim Laden von Vorlagen Einschränkungen. Dies spiegelt sich in der Beschreibung von ChartApplyTemplate() wider. Dies ist jedoch nur eine Option. Oder etwas Ähnliches. Wenn Sie also über die Visualisierung laden, werden alle Berechtigungen gespeichert, aber wenn Sie programmatisch laden, sind sie eingeschränkt.
Zitat aus der Funktionsbeschreibung:
Wenn Sie die Vorlage speichern, werden auch die Rechte für die Programme, die auf der Grafik laufen, gespeichert: das Recht zu handeln und das Recht, die DLL zu verwenden. Aus Sicherheitsgründen können diese Rechte eingeschränkt werden, wenn die Vorlage auf das Diagramm angewendet wird:
Handels- und DLL-Nutzungsrechte können nicht erhöht werden, wenn ein EA durch Anwendung einer Vorlage mit dem Befehl ChartApplyTemplate() gestartet wird.
Wenn das mql4-Programm, das ChartApplyTemplate() aufruft, keine Handelsrechte hat, hat der EA, der mit der Vorlage geladen wird, auch keine Handelsrechte, unabhängig von den Vorlageneinstellungen.
Wenn das mql4-Programm, das ChartApplyTemplate() aufruft, Handelsrechte hat, die Template-Einstellungen aber nicht, dann hat der EA, der mittels eines Templates geladen wurde, keine Handelsrechte.
Ich habe versucht, sie aus- und einzuschalten. Ich habe die Vorlage geändert, sowohl mit einem einfachen Chart mit Indikatoren als auch mit einem bereits geladenen EA. aber das Ergebnis ist das gleiche: im Tester ohne Visualisierung tut der EA nichts, mit Visualisierung - alles wie geplant)) Ich weiß nicht ... wahrscheinlich sollten die Entwickler wirklich schreiben oder sich etwas anderes einfallen lassen, ohne Vorlagen.
Ich habe eine Frage:
Angenommen, wir haben einen Volltextsuchserver, der einen Cache für Abfrageergebnisse hat. Wir müssen die Cache-Effizienz (maximale Cache-Größe und Trefferquote) für eine bestimmte Cache-Zeit berechnen.
Eingabedaten
Das Programm gibt eine Textdatei mit den vom Server empfangenen Abfragen ein, mit der Uhrzeit und dem Suchbegriff sowie der Cache-Speicherzeit in Sekunden.
Daten ausgeben
Nach seiner Ausführung sollte das Programm die folgenden Werte ausgeben: die Anzahl der verarbeiteten Abfragen, die Anzahl der eindeutigen Abfragen, die maximale Cache-Größe (in Anzahl der Datensätze), die Wahrscheinlichkeit, in den Cache zu gelangen.
Ich verstehe nicht, was "maximale Cache-Größe (in Anzahl der Datensätze)" bedeutet, wie ist sie zu berechnen?
Guten Tag meine Herren, ich habe eine sehr wichtige Frage, ist es möglich, den Roboter so zu konfigurieren, dass er zu bestimmten Zeiten nicht handelt, wenn ja, wie kann man das machen?
Ich muss eine solche Möglichkeit in meinem Expert Advisor implementieren.
Hallo zusammen!
Bitte helfen Sie mir mit MarketInfo(Symbol(),MODE_MARGINREQUIRED)
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
die Variable One_Lot enthält den Wert eines Lots für die aktuelle Währung.
Beispiel einer Lot-Berechnung für EURUSD (Preis=1.3606):
Standard-Kontraktgröße (1 Lot) = 100000
wenn wir 100000 EUR kaufen, müssen wir 100000*1.3606=136060$ bezahlen
wir haben einen Hebel = 100, also zahlen wir One_Lot=136060/100=1360.6$
(Ich habe verstanden, dass alle diese Berechnungen MarketInfo(Symbol(),MODE_MARGINREQUIRED) und unser One_Lot=1360.6 ergeben)
aber das Ergebnis ist im Skript anders:
double Price = Ask;
Print ("Price =",Price);
double One_Lot = MarketInfo ( Symb, MODE_MARGINREQUIRED ) ; // die Kosten für ein Los
Print ("One_Lot =",One_Lot);
in der Ausgabe
17:10:30 inform EURUSD,H1: Kurs =1.3606
17:10:30 inform EURUSD,H1: One_Lot =1600.0
Wo liegt mein Fehler?
Wer ist Symb und wie wird es im Kodex definiert? Der Aufruf von One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED) funktioniert problemlos.
Vielen Dank für Ihre Antwort!
In meinem Skript.
Symb = Symbol ( );
Ich habe es wie Sie versucht - das Ergebnis ist das gleiche One_Lot =1600.0
Was ist Ihr Ergebnis?