초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 38

 
여기 내가 표시기를 사용하는 예가 있습니다. 그들은 모두 나와 같은 유형입니다.
 double   iMAf( string symbol, ENUM_TIMEFRAMES timeframe, int period, int ma_shift, ENUM_MA_METHOD ma_method, int applied_price, int shift){
 
 
 
                   int handle= iMA (symbol,timeframe,periodd(period),ma_shift, ma_method,applied_price); Sleep ( 2000 );
                     CopyBuffer (handle, 0 , 0 , 100 ,MA);
                     ArraySetAsSeries (MA, true );
     return ( (MA[shift])); } 
                   

모든 기능 외부에 등록됨

 double MA[]; 
//---- handles for indicators
int MA_handle;

일반적으로 내가 뭔가 잘못 등록했거나 일반적으로 볼 때 그에게 무엇이 잘못 되었습니까?

 

핸들은 OnInit()에서 생성됩니다.

 void OnInit ()
  {
   ma_h= iMA ( _Symbol , _Period ,MA_Period, 0 , MODE_SMA , PRICE_CLOSE );
  }

OnTick()에서 데이터를 받습니다.

 void OnTick ()
  {
   CopyBuffer (ma_h, 0 , 1 , 2 ,ma);
  }

이것은 표준 디자인의 예입니다.

 
지금 당장 메모장을 사용하여 이러한 표시기를 구체적으로 찾을 것입니다.
 
감사해요!!!!
 
init는 시작 시 한 번만 작동한 다음 ??
 
지표를 만든 다음 작업 과정에서 지표에서 가치를 얻습니다.
 
죄송합니다. 하지만 핸들이 초기화에서 생성된 경우 새 틱 또는 최소한 막대가 도착하면 핸들을 강제로 다시 그려야 하는 이유는 무엇입니까? 정말로, 나는 단지 이해하고 싶다.
 
Dimka-novitsek :
죄송합니다. 하지만 핸들이 초기화에서 생성된 경우 새 틱 또는 최소한 막대가 도착하면 핸들을 강제로 다시 그려야 하는 이유는 무엇입니까? 정말로, 나는 단지 이해하고 싶다.
핸들은 표시기에 대한 링크인 id입니다. 한 번 받은 다음 CopyBuffer ( 핸들, ....)
 
Dimka-novitsek :
사천삼백이는 문자열이 아니며 일반적으로 무엇이 잘못되었습니까?

컴파일러에서 오류가 발생하면 줄 번호와 커서 위치 번호를 지정합니다.

단말기에서 오류가 발생하면 오류 번호를 표시합니다. 참조 섹션 "런타임 오류" 및 "4302"에 해당하는 오류를 참조하십시오. 핸들이 생성되는 곳은 이미 지나치는 질문입니다 :)

 
감사합니다!!
사유: