[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 612
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Es stellte sich heraus, dass es nicht so einfach war. Ich habe dem Namen eine Nummer hinzugefügt, 3 (zum Beispiel) Zeilen werden erstellt, aber sie bewegen sich nirgendwo:( Es stellt sich heraus, dass ich eine geschlossene Schleife machen und jedes Mal eine neue Nummer zuweisen muss, aber hier ist die Situation identisch mit der Zuweisung von
Name der Zeitleiste. Es ist einfach furchtbar...
Sehen Sie sich diesen Indikator an
zu Beginn des Programms angeben
Leute helfen,
Das Problem ist folgendes, es gibt einen selbst erstellten grafischen Indikator, aber das Problem ist folgendes, wenn ein bestimmter Punkt kommt, sagen wir die aktuelle Zeit
if ((k>=15 && k<16) || (Hour()>=15)) // где k- по прошлым дням (для рисования не только в одном дне, но и по всей истоии)
Es sollte ein Extremum bei einer alten Handelssitzung zeichnen (es ist praktisch, um festzustellen, wo der Handel jetzt ist), aber der Haken ist, dass der Indikator nicht den Chart zeichnet, nur wenn Sie den Zeitrahmen hin und her wechseln ...
Hier ist ein Stück Zeichnungscode
if (Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)]> Open[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)])
{
max_eu=Close[iHighest(NULL,0,MODE_CLOSE,8*p_t,i-15*p_t)];
Name="max2";
ObjectCreate(Name,OBJ_TREND,0,Time[iHighest(NULL,0,MODE_OPEN,8*p_t,i-15*p_t)],max_eu,Time[i]+l,max_eu);
ObjectSet(Name, OBJPROP_COLOR, Navy);
ObjectSet(Name,OBJPROP_RAY,false);
ObjectSet(Name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);
ObjectSet(Name, OBJPROP_WIDTH, 1);
Label="надпись2";
ObjectCreate(Label,OBJ_TEXT,0,Time[i]+l,max_eu);
ObjectSetText(Label,"Max Европа ", 8, "Arial", Navy);
ObjectSet(Label, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1 | OBJ_PERIOD_M30| OBJ_PERIOD_M15 | OBJ_PERIOD_M5);
WindowRedraw();
}
Ich bin verwirrt...
DOCTORS:
selbstgemacht
Ich bin verwirrt...
es ist das Richtige zu tun
Um das Problem zu lösen, können Sie Print() nach if(...) einfügen und sehen, ob die Bedingung überhaupt enthalten istGibt es ähnliche Programme zur Erhebung von Statistiken?
}Funktionscode zum Zeichnen von Linien. Vielen Dank an alle, die geantwortet haben.
Alert ("Anzahl der Hausse-Balken = ", vverh, " - ", vverh/(Konec/100), " % " );
Können Sie mir sagen, warum ich im Ausdruck vverh/(Konec/100) eine ganze Zahl ohne Komma erhalte? Nach dem Dezimalpunkt sollten bis zur 4. Stelle Ziffern stehen, aber es wird nur eine ganze Zahl ausgegeben. =(
Alert ("number of zero bars = ", nul, " - ", DoubleToStr(nul/(Konec/100),2), " % " ); auch dieser Ausdruck funktioniert nicht.
Alert ("Anzahl der Hausse-Balken = ", vverh, " - ", vverh/(Konec/100), " % " );
Können Sie mir sagen, warum ich im Ausdruck vverh/(Konec/100) eine ganze Zahl ohne Komma erhalte? Nach dem Dezimalpunkt sollten die Ziffern bis zur 4. Stelle reichen, aber es wird nur eine ganze Zahl ausgegeben. =(