任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1019

 
FiVik:

我不明白。你说你不愿意是什么意思?

你想要整个代码吗?好的。(笑)。

名字是西里尔文的,所以才会有象形文字。

重做整个事情比较容易。

附加的文件:
 
Vinin:

重做整个事情比较容易

非常感谢你对指标的修正,但我想知道我的代码慢的原因是什么?

我不认为我会一直以这种方式被纠正。此外,我必须以某种方式学习,如果我不知道错误,我就不能保证它们不会再次出现。

 
FiVik:

非常感谢你对指标的修正,但我想知道我的代码慢的原因是什么?

我不认为我会一直以这种方式被纠正。此外,我必须以某种方式学习,如果你不知道错误,你就不能保证它们不会再次发生。

主要的错误是在循环中与图形(对象)一起工作。虽然只需要最后的计算值。

第一个开发者显然没有意识到标准功能,而是实现了他自己的功能。这里面没有什么坏事,但也没有什么好事。

 
Vinin:

重做整个事情比较容易

为什么更简单,只是两个重新排列。

只是

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:

为什么更简单。只有两种排列组合。

只是

+

我的良心不允许我送出坏的代码。

 
Vinin:

我的良心不允许我送出坏的代码。

这有什么不好?
 

下午好。面临着一个问题。需要一个动态的命名,这个命名并不重复。下面是一个例子,我已经做了,但问题是,在一个勾中可能需要几个名字。您有什么建议?

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

下午好。面临着一个问题。需要一个动态的命名,这个命名并不重复。下面是一个例子,我已经做了,但问题是,在一个勾中可能需要几个名字。你有什么建议?

TimeCurrent()+GetMicrosecondCount()

int counter=1。

TimeCurrent()+=counter。

 
eevviill:

TimeCurrent()+GetMicrosecondCount()

int counter=1。

TimeCurrent()+=counter。

而另一个解决方案呢?我从事分形的工作,那里的M1、M5、M15可以在时间上进行匹配。

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:

另一个解决方案呢?我从事分形的工作,那里的M1、M5、M15可以在时间上重叠起来。

时间[0]+容量[0]