Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 456
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
Ja, richtig =D )))) Bereits angebracht.)))
Alle diese Parameter sollten nach dem Komma in iCustom() nach dem Indikatornamen aufgeführt werden, und danach zwei weitere Parameter: Puffernummer und Taktnummer, aus der die Daten entnommen werden. D.h:
iCustom(Symbol(), Period(), "_MTF_ADX3", 0, 500, 6, 6, 8, 14, 6, 6, 2, true, false, buffer_number, bar_number).
Alle aufgelisteten Werte können durch externe Variablen des EA gesetzt werden und die Namen dieser Variablen können in iCustom() anstelle der hart kodierten Werte geschrieben werden.
Können Sie mir sagen, warum?
doppelt d = 0,07;
d = NormalizeDouble(d,2);
in beiden Fällen d== 0,07000000000000001
Wie lasse ich 2 Dezimalstellen stehen?
Können Sie mir sagen, warum?
doppelt d = 0,07;
d = NormalizeDouble(d,2);
in beiden Fällen d== 0,07000000000000001
Wie kann man 2 Dezimalstellen lassen?
Beachten Sie, dass eine normalisierte Zahl bei der Ausgabe in Journal mit Print() eine größere Anzahl von Dezimalstellen enthalten kann, als Sie erwarten. Zum Beispiel,
wird im Terminal ausgegeben:
Das heißt, für den Druck ist die Ausgabe von zusätzlichen Werten kein Problem.
Beachten Sie, dass eine normalisierte Zahl bei der Ausgabe in das Journal mit Print() mehr Dezimalstellen enthalten kann, als Sie erwarten. Zum Beispiel,
wird im Terminal ausgegeben:
Beim Drucken ist die Ausgabe zusätzlicher Werte also kein Problem.
Danke, es ist nur so, dass, wenn ich versuche, eine Position mit 0,07 Lot zu eröffnen, eine Fehlermeldung erscheint (ich dachte, das sei das Problem), es muss etwas anderes sein, ich werde es weiter untersuchen.
Guten Abend
Ich habe ein dynamisches Array deklariert
double all_order[][10];
Ich habe in OnInit neu definiert
ArrayResize(all_order, 20);
Ich gebe Daten in die Funktion
void OR_spisok(double a0, double a1, double a2, double a3, double a4, double a5)
{
int a10=int(a0);
all_order[a10][0]=a0;
all_order[a10][1]=a1;
all_order[a10][2]=a2;
all_order[a10][3]=a3;
all_order[a10][4]=a4;
all_order[a10][5]=a5;
}
drei Zeilen funktionieren gut, bei 4 wird es eng
2015.10.09 20:13:47.908 3102 EURUSD,H1: array out of range in '3102.mq4' (393,10)
393,10 ist es:
all_order[a10][0]=a0;
Was ist los?
Entfernte Zeile#property strict
Das Skript funktioniert, kann ich ohne diese Zeile fortfahren?
Guten Abend
ein dynamisches Array deklariert
Die Zeile#property strict wurde entfernt
Das Skript funktioniert, kann ich ohne diese Zeile fortfahren?
Alle diese Parameter sollten nach dem Komma in iCustom() nach dem Indikatornamen aufgeführt werden, und danach zwei weitere Parameter: Puffernummer und Taktnummer, aus der die Daten entnommen werden. D.h:
iCustom(Symbol(), Period(), "_MTF_ADX3", 0, 500, 6, 6, 8, 14, 6, 6, 2, true, false, buffer_number, bar_number).
Alle aufgelisteten Werte können durch externe EA-Variablen gesetzt werden. Schreiben Sie die Namen dieser Variablen in iCustom() anstelle von hart kodierten Werten.
Vielen Dank für die Antwort. Aber die Sache ist, habe ich so auf den ersten, aber wenn ich falsche Werte, entschied ich mich, die Parameter von iCustom zu entfernen, so dass der EA würde die Standard-Indikator-Parameter verwenden. In beiden Fällen erhält der Expert Advisor jedoch falsche Werte. Alert gibt zum Beispiel 30,32362 für die blaue Linie an, aber wenn ich mir das Indikatorchart anschaue, steht dort 22,3320 an derselben Stelle. Und das Gleiche gilt für die anderen Zeilen.
Zeigen Sie mir den Code, in dem Sie Daten aus dem Indikator übernehmen.
Der Code war groß. Aber um herauszufinden, was das Problem ist, der Expert Advisor funktioniert nicht nach den Regeln, habe ich diesen Teil in einen separaten geschnitten und begann, es zu testen.
double Ind_Blue=iCustom(NULL, 0, "_MTF_ADX3",1,0);
double Ind_Red=iCustom(NULL, 0, "_MTF_ADX3",2,0);
Alert(" Ind_Blue= " , Ind_Blue , " Ind_Red= " , Ind_Red);
Ich hänge auch die Expert Advisor-Datei an. Ich möchte Ihre Zeit nicht vergeuden, aber ich kann das Problem nicht finden.
Und es gibt einen ähnlichen Indikator mit dem gleichen Problem (Adx mtf). Ich habe eine mq4-Datei für sie. Aber es scheint kein Problem im Code zu geben.