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
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)]) {
Fox_RM: Funktionscode zum Zeichnen von Linien. Vielen Dank an alle, die geantwortet haben.
void flatline(string nm,datetime t1,double p1,datetime t2,double p2,color clr, int W){
ObjectDelete(nm);// это не обязательно.ObjectCreate(nm, OBJ_TREND, 0,0,0,0,0);
ObjectSet(nm, OBJPROP_PRICE1,p1);
ObjectSet(nm, OBJPROP_TIME1,t1);
ObjectSet(nm, OBJPROP_PRICE2,p2);
ObjectSet(nm, OBJPROP_TIME2,t2);
ObjectSet(nm, OBJPROP_COLOR, clr);
ObjectSet(nm, OBJPROP_STYLE,0);
ObjectSet(nm, OBJPROP_RAY,false);
ObjectSet(nm, OBJPROP_WIDTH,W);
ObjectSet(nm, OBJPROP_BACK, true);
WindowRedraw();// если обновлять на каждом тике, лучше поставить в самом конце стартаreturn;
}
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.
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. =(
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. =(