오류, 버그, 질문 - 페이지 351

 
CHistoryOrderInfo::FormatOrder , CDealInfo::FormatDeal 에서 동일한 오류
 
Mr.FreeMan :

버튼을 눌렀을 때 Expert Advisor가 언로드 되는 이유는 무엇입니까?

그리고 그것은 로그에 무엇을 기록합니까?
 
sergey1294 :
그리고 그것은 로그에 무엇을 기록합니까?


2011.04.03 19:19:31 simple (EURUSD,M15) 'simple.mq5'의 범위를 벗어난 배열(43,19)

잘못된 코드 를 삭제했습니다. 다음 은 버튼을 눌렀을 때 언로드 되는 어드바이저의 코드입니다.

 int ZigZag1Handle,ZigZag2Handle,ZigZag3Handle;
double ZigZag1[],ZigZag2[],ZigZag3[];
string row;
int bar;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   if ( ObjectFind ( 0 , "history" )< 0 )
     {
       ObjectCreate ( 0 , "history" , OBJ_BUTTON , 0 , 100 , 100 );
       ObjectSetInteger ( 0 , "history" , OBJPROP_XDISTANCE , 220 ); 
       ObjectSetInteger ( 0 , "history" , OBJPROP_YDISTANCE , 5 );
       ObjectSetInteger ( 0 , "history" , OBJPROP_CORNER , CORNER_LEFT_UPPER ); 
       ObjectSetString ( 0 , "history" , OBJPROP_TEXT , "Передать историю" );   
       ObjectSetInteger ( 0 , "history" , OBJPROP_FONTSIZE , 8 );
       ObjectSetInteger ( 0 , "history" , OBJPROP_XSIZE , 110 ); 
       ObjectSetInteger ( 0 , "history" , OBJPROP_YSIZE , 20 );
       ObjectSetInteger ( 0 , "history" , OBJPROP_SELECTABLE , false );
       ChartRedraw ( 0 );
     }
   ZigZag1Handle= iCustom ( NULL , 0 , "Examples\\ZigZag" , 6 , 2 , 3 );
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
   if (id== CHARTEVENT_OBJECT_CLICK )
     {
       string Text= "history" ;
       if (sparam==Text)
        {

         ArraySetAsSeries (ZigZag1, true );
         if ( CopyBuffer (ZigZag1Handle, 0 , 0 , 90 ,ZigZag1)< 0 ){ Comment ( "ZigZag1 error =" , GetLastError ());}

               if (ZigZag1[bar- 1 ]>ZigZag1[bar- 2 ])
                 {

                 }
        }
       ObjectSetInteger ( 0 , "history" , OBJPROP_STATE , false );

     }
  }
//+------------------------------------------------------------------+
 
Mr.FreeMan :


2011.04.03 19:19:31 simple (EURUSD,M15) 'simple.mq5'의 범위를 벗어난 배열(43,19)

잘못된 코드 를 삭제했습니다. 다음 은 버튼을 눌렀을 때 언로드 되는 어드바이저의 코드입니다.

로그에는 그 이유가 명확하게 나와 있습니다. 러시아어로 번역하면 simple.mq5 파일의 배열을 넘어 다음과 같이 표시됩니다. 43행 오류

그래, 잠시라도. 대부분의 오류는 배열의 크기를 설정 하지 않은 것입니다.

 double ZigZag1[],ZigZag2[],ZigZag3[];
Документация по MQL5: Операции с массивами / ArrayResize
Документация по MQL5: Операции с массивами / ArrayResize
  • www.mql5.com
Операции с массивами / ArrayResize - Документация по MQL5
 
sergey1294 :
로그에는 그 이유가 명확하게 나와 있습니다. 러시아어로 번역하면 simple.mq5 파일의 배열을 넘어 다음과 같이 표시됩니다. 43행 오류
aa)) 젠장) 내 어리석음을 깨달았습니다) 감사합니다.
 
응답해 주십시오. 표시기 캐시 제한.
 
주님! 테이블 요소 가 있는 배열을 보낼 수 있는 클래스가 있는지 알려주십시오. 그러면 이 테이블이 차트에 표시됩니까?
 
Graff :
주님! 테이블 요소가 있는 배열을 보낼 수 있는 클래스가 있는지 알려주십시오. 그러면 이 테이블이 차트에 표시됩니까?
그리고 어떤 목적으로?, 조건을 지정하십시오.
 
다차원 배열 이 있으므로 차트에 표 형식으로 표시하기만 하면 됩니다. 테이블의 빠른 출력을 위해 표준 클래스를 먹을 수 있습니까?
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Graff :
다차원 배열 이 있으므로 차트에 표 형식으로 표시하기만 하면 됩니다. 테이블의 빠른 출력을 위해 표준 클래스를 먹을 수 있습니까?

파일로 출력해서 엑셀에서 찾아보세요.

근데 이게 어울리지 않을 것 같아서 '즉석에서 표시해야 한다' 등의 추가 조건을 요청했습니다.