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

 
FiVik:

Das verstehe ich nicht. Was soll das heißen, Sie wollen nicht?

Sie wollen den gesamten Code? Ja.

Der Name ist kyrillisch, deshalb ist er in Hieroglyphen geschrieben.

Es war einfacher, die ganze Sache neu zu machen.

Dateien:
 
Vinin:

Es war einfacher, die ganze Sache neu zu machen

Vielen Dank für die Behebung des Indikators, aber ich würde gerne wissen, was war der Grund für die langsame Arbeit meines Codes?

Ich glaube nicht, dass ich immer auf diese Weise korrigiert werden werde. Außerdem muss ich ja irgendwie lernen, und wenn ich Fehler nicht kenne, kann ich nicht sicher sein, dass sie nicht wieder auftreten.

 
FiVik:

Vielen Dank für die Korrektur des Indikators, aber ich würde gerne wissen, was der Grund dafür war, dass mein Code so langsam war?

Ich glaube nicht, dass ich immer auf diese Weise korrigiert werden werde. Außerdem muss ich irgendwie lernen, und wenn man Fehler nicht kennt, kann man nicht sicher sein, dass sie nicht wieder auftreten.

Der Hauptfehler ist die Arbeit mit der Grafik (Objekt) in der Schleife. Allerdings wurde nur der letzte berechnete Wert benötigt.

Der erste Entwickler kannte offensichtlich die Standardfunktionen nicht und implementierte seine eigenen. Daran ist nichts Schlechtes, aber auch nichts Gutes.

 
Vinin:

Es war einfacher, die ganze Sache neu zu machen

Warum einfacher, nur zwei Umstellungen.

Einfach

if(i==0)
{
   string Text =DoubleToStr(deviation,4);                   // Текст для отображения с указанием количества знаков ппосле запятой
      if(deviation<=(Averagedeviation*1.1)&&deviation>=(Averagedeviation*0.9))// Выбор цвета зависит от динамики
      Color_Day_Percent = Color_0;                             // Цвет для 0
      if(deviation>Averagedeviation*1.1)                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Up;                            // Цвет для +
      if(deviation<Averagedeviation*0.9)                       // Выбор цвета зависит от динамики
      Color_Day_Percent = Color_Dn; 
}

+

    
      i--;   
     }
   if(ObjectFind(Obj_Name)==-1)                             // Если объекта нет..
      {
      ObjectCreate(Obj_Name,OBJ_LABEL,0,0,0);                  // Создаём новый объект 
      ObjectSet    (Obj_Name,OBJPROP_CORNER,    1);            // Угол привязки            
      ObjectSet    (Obj_Name,OBJPROP_XDISTANCE,15);            // Координата Х
      ObjectSet    (Obj_Name,OBJPROP_YDISTANCE,15);            // Координата Y
      }
      ObjectSetText(Obj_Name,Text,10,"MS Sans Serif",Color_Day_Percent);// Текстовое описание объекта  
 
eevviill:

Warum einfacher. nur zwei Permutationen.

Einfach

+

Mein Gewissen erlaubt es mir nicht, schlechten Code weiterzugeben.

 
Vinin:

Mein Gewissen erlaubt es mir nicht, schlechten Code weiterzugeben.

Was ist daran so schlimm?
 

Guten Tag. Mit einem Problem konfrontiert. Sie brauchen eine dynamische Benennung, die nicht wiederholt wurde. Unten ist ein Beispiel, wie ich es gemacht habe, aber das Problem ist, dass in einem Häkchen mehrere Namen benötigt werden können. Was ist Ihr Rat?

string name=DoubleToStr(TimeCurrent(), 0);
 
abeiks:

Guten Tag. Mit einem Problem konfrontiert. Sie brauchen eine dynamische Benennung, die nicht wiederholt wurde. Unten ist ein Beispiel, wie ich es gemacht habe, aber das Problem ist, dass in einem Häkchen mehrere Namen benötigt werden können. Was raten Sie?

TimeCurrent()+GetMicrosecondCount()

oder

int Zähler=1;

ZeitAktuell()+=Zähler;

 
eevviill:

TimeCurrent()+GetMicrosecondCount()

oder

int Zähler=1;

ZeitAktuell()+=Zähler;

Und die andere Lösung? Ich arbeite mit Fraktalen, und dort können M1, M5 und M15 zeitlich aufeinander abgestimmt werden.

void OnTick(){
string name=DoubleToStr(TimeCurrent(), 0);
SetArrow(6, Red, name, FrakTime_M1, FrakPrice_M1, 3);
SetArrow(6, Yellow, name, FrakTime_M5, FrakPrice_M5, 3);
...
}
 
abeiks:

Wie wäre es mit einer anderen Lösung? Ich arbeite mit Fraktalen und dort können sich M1, M5 und M15 zeitlich überschneiden.

Zeit[0]+Volumen[0]
Grund der Beschwerde: