포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1019

 
FiVik :

이해하지 못했습니다. 내가 원하지 않는다는 말입니까?

모든 코드가 필요합니까? 좋은.

키릴 자모의 이름은 왜 그런 상형 문자입니다.

완전히 다시하는 것이 더 쉬웠습니다.

파일:
 
Vinin :

완전히 다시하는 것이 더 쉬웠습니다.

인디케이터를 고쳐주셔서 대단히 감사합니다만, 제 코드가 느리게 작동하는 이유가 무엇인지 알고 싶습니다.

이런 오류를 지속적으로 수정할 생각은 없습니다. 게다가 어떻게든 배워야 하고, 실수를 모르면 다시 나오지 않을 거라고 장담할 수 없다.

 
FiVik :

인디케이터를 고쳐주셔서 대단히 감사합니다만, 제 코드가 느리게 작동하는 이유가 무엇인지 알고 싶습니다.

나는 항상 이런 실수를 고칠 것이라고 생각하지 않는다. 게다가 어떻게든 배워야 하고, 실수를 모르면 다시 나오지 않을 거라고 장담할 수 없다.

주요 실수는 루프에서 그래픽(객체)으로 작업하는 것입니다. 마지막으로 계산된 값만 필요했지만.

글쎄, 첫 번째 개발자는 분명히 표준 기능에 대해 알지 못하고 자신의 기능을 구현했습니다. 이것에 나쁜 것은 없지만 좋은 것도 없습니다.

 
Vinin :

완전히 다시하는 것이 더 쉬웠습니다.

왜 더 쉽습니다. 단지 2개의 순열.

단지

 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 :

왜 더 쉽습니다. 단지 2개의 순열.

단지

+

내 양심은 나쁜 코드가 유출되는 것을 허용하지 않습니다.

 
Vinin :

내 양심은 나쁜 코드가 유출되는 것을 허용하지 않습니다.

그리고 그게 무슨 문제야?
 

안녕하세요. 문제에 직면했습니다. 반복되지 않는 동적 이름이 필요합니다. 아래는 내가 한 방법의 예이지만 문제는 한 틱에 여러 이름이 필요할 수 있다는 것입니다. 당신은 무엇을 조언합니까?

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

안녕하세요. 문제에 직면했습니다. 반복되지 않는 동적 이름이 필요합니다. 아래는 내가 한 방법의 예이지만 문제는 한 틱에 여러 이름이 필요할 수 있다는 것입니다. 당신은 무엇을 조언합니까?

TimeCurrent()+GetMicrosecondCount()

또는

정수 카운터 = 1;

TimeCurrent()+=카운터;

 
eevviill :

TimeCurrent()+GetMicrosecondCount()

또는

정수 카운터 = 1;

TimeCurrent()+=카운터;

다른 솔루션은 어떻습니까? 나는 프랙탈로 작업하고 거기에서 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]