[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 315

 
chief2000 >> :

질문 - 작동 방식(지표 최적화):

나는 각각의 새로운 틱이 같은 직사각형이라는 것을 올바르게 이해하고 있습니까?

(같은 크기, 같은 수의 막대)가 삭제되고 다시 그려지나요?

이 경우 막대 수에 대한 확인을 추가하는 것이 가치가 있습니까? (막대가 더 있으면 다시 그립니다)

컴퓨터의 CPU를 오프로드하거나 이득이 최소화되므로 신경쓰지 않아도 될까요?

그만한 가치가 있으며 삭제하는 대신 검사를 통해 ObjectCreate 설정을 넣을 수 있습니다. if(ObjectFind(RectangleSell)==-1){ ObjectCreate()}

나머지는 확인하지 않으므로 매 틱마다 개체를 지우고 다시 설치하지 않습니다.

 if ( MA_Fast [ i + 1 ] > MA_Slow [ i + 1 ] ) {
   string RectangleSell = StringConcatenate ( "RECTANGLE_" , StartBoxTime ) ;    
   if ( ObjectFind ( RectangleSell ) = = - 1 ) {
       ObjectCreate ( RectangleSell , OBJ_RECTANGLE , 0 ,   StartBoxTime , BoxLow ,   EndBoxTime , BoxHigh ) ;
     }
   ObjectSet ( RectangleSell , OBJPROP_STYLE , STYLE_SOLID ) ;
   ObjectSet ( RectangleSell , OBJPROP_RAY , False ) ;
   ObjectSet ( RectangleSell , OBJPROP_WIDTH , 1 ) ;
   ObjectSet ( RectangleSell , OBJPROP_BACK , True ) ;
   ObjectSet ( RectangleSell , OBJPROP_COLOR , ColorSell ) ;
}
 
Vinin >> :

시간 동기화를 추가해야 합니다.

확실히 개발이 있습니다. MA에서 구현하는 방법을 보여줄 수 있습니다!

 
Vladimir11 >> :

말해봐, 난 일정대로 일하고 있어.

그리고 나는 분 단위로 데이터로 돌아가고 싶다. 그들은 나와 함께 업데이트됩니까 아니면 오래된 데이터가 있습니까?

실시간인 경우 업데이트되고, 테스터의 경우 D1, M.. 마지막 막대의 데이터(테스트된 것이 아닌 실시간).

 

이것은 포럼에 내 첫 번째 게시물입니다. MQL4를 배우고 있습니다. 예전에 이런 질문이 있었는지 모르겠는데 찾을 수가 없네요. IndicatorCounted 함수를 적용해야 할 것 같은데 방법을 모르겠습니다. 알려주세요. 300,000의 따옴표를 업로드했는데 이제 시작 시 표시기가 멈춥니다. 모든 따옴표가 보호되지 않고 지정된 따옴표(예: 3000)만 보호되도록 조건을 설정해야 하지만 3000을 모두 다시 계산할 이유가 없음을 이해합니다. 매번, 그래서 IndicatorCounted가 필요하고 마지막 3000개만 보호하고 이미 통과된 항목을 다시 계산하지 않도록 조건을 만드는 방법을 모르겠습니다.

답변 해주셔서 감사합니다.

 
depth_finde >> :

이것은 포럼에 내 첫 번째 게시물입니다. MQL4를 배우고 있습니다. 예전에 이런 질문이 있었는지 모르겠는데 찾을 수가 없네요. IndicatorCounted 함수를 적용해야 할 것 같은데 방법을 모르겠습니다. 알려주세요. 300,000의 따옴표를 업로드했는데 이제 시작할 때 표시기가 멈 춥니 다. 모든 따옴표가 보호되지 않고 지정된 따옴표 (예 : 3000) 만 보호되도록 조건을 설정해야한다는 것을 이해합니다. 매번 3000개를 모두 다시 계산해야 하는 이유도 있으므로 IndicatorCounted가 필요하며 마지막 3000개만 보호하고 이미 통과한 항목은 다시 계산하지 않도록 조건을 만드는 방법을 모르겠습니다.

답변 해주셔서 감사합니다.

네 그런거

 int start ( )
   {
   int counted_bars = IndicatorCounted ( ) ;
//----
   if ( counted_bars < 0 ) 
       return ( - 1 ) ;
//----
   if ( counted_bars > 0 ) 
       counted_bars - - ;
   int pos = Bars - counted_bars ;   
//----
   while ( pos > = 0 ) 
     {
       ma1_buffer [ pos ] = iMA ( NULL , 0 , Period1 * Коэфициент , 0 , Метод_Вычисления_МА , Низ ,   pos ) ;
       ma2_buffer [ pos ] = iMA ( NULL , 0 , Period1 * Коэфициент , 0 , Метод_Вычисления_МА , Верх , pos ) ;
       ma3_buffer [ pos ] = iMA ( NULL , 0 , Period2 * Коэфициент , 0 , Метод_Вычисления_МА , Низ ,   pos ) ;
       ma4_buffer [ pos ] = iMA ( NULL , 0 , Period2 * Коэфициент , 0 , Метод_Вычисления_МА , Верх , pos ) ;
       ma5_buffer [ pos ] = iMA ( NULL , 0 , Period3 * Коэфициент , 0 , Метод_Вычисления_МА , Низ ,   pos ) ;
       ma6_buffer [ pos ] = iMA ( NULL , 0 , Period3 * Коэфициент , 0 , Метод_Вычисления_МА , Верх , pos ) ;
       pos - - ;
       
     }
     
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
 
costy_ писал(а) >>

실시간인 경우 업데이트되고, 테스터의 경우 D1, M.. 마지막 막대의 데이터(테스트된 것이 아닌 실시간).

비공개로 답변함

 
costy_ писал(а) >>

네 그런거

아마도 처음 시작할 때 보여 드린 것처럼 3000개가 아니라 300000개의 따옴표가 있는 만큼 읽힐 것이기 때문입니다.

 
depth_finde >> :

아마도 처음 시작할 때 보여 드린 것처럼 3000개가 아니라 300000개의 따옴표가 있는 만큼 읽힐 것이기 때문입니다.

그래, 딱 한 번, 그리고 바뀌었어!!!

지표가 차트의 일부가 아닌 전체 차트에 그려지도록 합니다.

 
Vinin >> :

비공개로 답변함

정말 감사합니다!

 
costy_ писал(а) >>

그래, 딱 한 번, 그리고 바뀌었어!!!

지표가 차트의 일부가 아닌 전체 차트에 그려지도록 합니다.

300,000 실드가 모두 부팅될 때까지 5분을 기다리지 않고 처음 시작할 때 3000 쉴드를 시작한 다음 변경된 쉴드만 5분 동안 기다리라는 요점입니다.

차트에 이러한 지표가 5개 있으면 다운로드 프로세스에 25분이 소요됩니다.