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

 
잘 이해가 안 가나요? 창에 Kon 표시기를 그리면 잘 작동합니다. 설명하다...
 
kon12 >> :
잘 이해가 안 가나요? 창에 Kon 표시기를 그리면 잘 작동합니다. 설명하다...

창에 그릴 때 히스토그램 막대는 올리브색 또는 녹색입니다. 첫 번째는 버퍼 업에 해당하고 두 번째는 dn에 해당합니다. 0 막대에 dn만 그려지고 iCustom(0,0,"Kon",10,0,0) 표시기를 참조하는 경우, 즉 모드 매개변수가 0(당신을 보라 0 - 이것은 버퍼 업 - SetIndexBuffer(0,up);)이면 함수 호출의 결과는 대부분 EMPTY_VALUE일 것입니다.


더 명확합니까?

 

버퍼 번호를 1과 2로 변경하려고 시도했지만 도움이되지 않습니다.

 

iCustom 호출의 "Kon" 문자열이 대소문자를 포함하여 mq4 파일 이름과 일치하는지 확인하십시오.

함수의 값은 무엇입니까?

 

질문은 아주 간단합니다. 사용자 지정 표시기의 표준 세트에 있는 OsMA 표시기로 전환하려고 합니다. 표시기 창에 이 표시기의 선을 그리고 싶습니다. OsMA 표시기는 매개변수 12,26,9를 가지며 버퍼 0을 사용하여 그려집니다. 코드에서 잘못된 것은 무엇입니까? 표시기 창에 라인 0이 그려집니다.

 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_level1 0.0
#property indicator_color1 Olive

double z ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init ( )
   {
   SetIndexBuffer ( 0 , z ) ;
   SetIndexStyle ( 0 , DRAW_HISTOGRAM ) ;
     return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit ( )
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start ( )
   { z = iCustom ( NULL , 0 , "OsMA" , 12 , 26 , 9 , 0 , 0 ) ; 
   //----
   return ( 0 ) ;
   }
 
kon12 >> :

질문은 아주 간단합니다. 사용자 지정 표시기의 표준 집합에 있는 OsMA 기능을 사용하려고 합니다. 표시기 창에 이 표시기의 선을 그리고 싶습니다. OsMA 표시기는 매개변수 12,26,9를 가지며 버퍼 0을 사용하여 그려집니다. 코드에서 잘못된 것은 무엇입니까? 표시기 창에 라인 0이 그려집니다.

아니요, 작동하지 않습니다.

z는 배열이고 데이터는 요소별로 기록되어야 합니다. 이것은 일반적으로 루프에서 수행됩니다. 예를 들어:

for(i=100;i>=0;i--)

{

z[i] = iCustom ( NULL , 0 , "OsMA" , 12 , 26 , 9 , 0 , i ) ;

}

 
만세, 효과가 있었다! 도와주셔서 감사합니다 첫걸음이 제일 어렵네요...
 

내 주제에 대한 또 다른 질문입니다. 예를 들어 MA와 같이 차트에 곡선을 그린다고 가정해 보겠습니다. 그런 다음 iCustom 기능을 통해 이 MA를 사용하는 사용자 지정 표시기 를 사용합니다. 차트의 MA 기간이 변경되면 사용자 지정 지표의 MA 기간이 자동으로 변경되도록 링크할 수 있습니까?

 

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

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

 

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


 if ( MA_Fast [ i + 1 ] > MA_Slow [ i + 1 ] ) {
   string RectangleSell = StringConcatenate ( "RECTANGLE_" , StartBoxTime ) ;
   ObjectDelete ( RectangleSell ) ;
   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 ) ;
}


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

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

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

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