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

[삭제]  
alexluek :
모든 쌍을 위한 Alpari

내가 틀리지 않았다면 Alpari의 최소 랏은 0.10입니다.

그러나 신뢰성과 검증을 위해서는 위에서 언급한 것처럼 다음을 사용하는 것이 좋습니다.

 double min_volume= SymbolInfoDouble ( Symbol (), SYMBOL_VOLUME_MIN );
 

텍스트 파일에서 긴 줄 을 읽을 때 오류

void testStr()
  {
   string fn= "test_str.txt",sRead,sWrite="";
   int cnStr=100,cnSymb=6000,i,fh;
   fh=FileOpen(fn,FILE_WRITE|FILE_TXT|FILE_ANSI);
   if(fh==INVALID_HANDLE) return;
   for(i=0; i<cnSymb; i++)
     {
      sWrite+=(string)(i%10);
     }
   int wrLen;
   for(i=0; i<cnStr; i++)
     {
      wrLen=FileWriteString(fh,sWrite+"\r\n")-2;
     }
   FileClose(fh);

   fh=FileOpen(fn,FILE_READ|FILE_TXT|FILE_ANSI);
   if(fh==INVALID_HANDLE) return;
   int readLen,minCn,j,error1Cn=0,error2Cn=0;
   for(i=0; i<cnStr; i++)
     {
      sRead=FileReadString(fh);
      readLen=StringLen(sRead);
      if(readLen!=wrLen)
        {
         if(error1Cn<3) Print("ERROR1 str: ",i," readLen: ",readLen,", wrLen: ",wrLen);
         error1Cn++;
        }
      int minCn=MathMin(readLen,wrLen);
      ushort chR,chW;
      for(j=0; j<minCn; j++)
        {
         chR = StringGetCharacter(sRead, j);
         chW = StringGetCharacter(sWrite, j);
         if(chR!=chW) break;
        }
      if(j!=minCn)
        {
         if(error2Cn<3) Print("ERROR2 str: ",i," symbol: ",j," chR: ",chR," chW: ",chW," readLen: ",readLen,", wrLen: ",wrLen);
         error2Cn++;
        }
     }
   FileClose(fh);
   Print("Str count: ",cnStr," str size: ",cnSymb," error1Cn: ",error1Cn," error2Cn: ",error2Cn);
  }
//---
void OnStart(){testStr();}

나에게 준다

Str count: 100 str size: 6000 error1Cn: 3 error2Cn: 1
ERROR1 str: 99 readLen: 0, wrLen: 6000
ERROR1 str: 98 readLen: 0, wrLen: 6000
ERROR2 str: 0 symbol: 5373 chR: 53 chW: 51 readLen: 5998, wrLen: 6000
ERROR1 str: 0 readLen: 5998, wrLen: 6000


최대한 빨리 수정해주세요.

 

버퍼 이름 이 데이터 창 에 표시되도록 만드는 방법을 알려주십시오.

 //+------------------------------------------------------------------+
//|                                                    ind_proba.mq5 |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright ""
#property link       "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window

#property indicator_plots   5    //must set, can be bigger than necessary, can not be bigger than indicator_buffers
#property indicator_buffers 15 //must set, can be bigger than necessary
                               //BufferPattern
#property indicator_type1   DRAW_COLOR_BARS   //DDDDC
#property indicator_width1   2
#property indicator_color1  Blue,Red,Green

//--- input parameters
double OpenBarBuff[];   //  data buffer
double HighBarBuff[];
double LowBarBuff[];
double CloseBarBuff[];
double ColorBarBuff[];   // color buffer
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   IndicatorSetInteger ( INDICATOR_DIGITS , _Digits );

   SetIndexBuffer ( 0 ,OpenBarBuff, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,HighBarBuff, INDICATOR_DATA );
   SetIndexBuffer ( 2 ,LowBarBuff, INDICATOR_DATA );
   SetIndexBuffer ( 3 ,CloseBarBuff, INDICATOR_DATA );
   SetIndexBuffer ( 4 ,ColorBarBuff, INDICATOR_COLOR_INDEX );

   PlotIndexSetString ( 0 , PLOT_LABEL , "Open" );
   PlotIndexSetString ( 1 , PLOT_LABEL , "High" );
   PlotIndexSetString ( 2 , PLOT_LABEL , "Low" );
   PlotIndexSetString ( 3 , PLOT_LABEL , "Close" );
//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---
   CalcBars(rates_total,prev_calculated,open,high,low,close);

//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int CalcBars( const int rates_total,
             const int prev_calculated,
             const double &open[],
             const double &high[],
             const double &low[],
             const double &close[])
  {
//--- auxiliary variables
   int i= 0 ;
//--- set position for beginning
   if (i<prev_calculated) i=prev_calculated- 1 ;
//--- start calculations
   while (i<rates_total)
     {
      OpenBarBuff[i]=open[i];
      HighBarBuff[i]=high[i];
      LowBarBuff[i]=low[i];
      CloseBarBuff[i]=close[i];
      ColorBarBuff[i]=( double )((close[i]>open[i])? 0 :(close[i]<open[i])? 1 : 2 );
      i++;
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
 
프로그램 속성 섹션의 예를 참조하십시오.
 
Rosh :
프로그램 속성 섹션의 예를 참조하십시오.

고맙습니다.
 
BoraBo :

버퍼의 이름이 데이터 창에 표시되도록 만드는 방법을 알려주십시오.

...
#property indicator_plots   1 
#property indicator_buffers 5
...
PlotIndexSetString(0,PLOT_LABEL,"Open;High;Low;Close");
...
 
BZSP :

텍스트 파일에서 긴 줄 을 읽을 때 오류

최대한 빨리 수정해주세요.

게시해 주셔서 감사합니다. 수정되었습니다.
 
mql5 :
게시해 주셔서 감사합니다. 수정되었습니다.
덕분에! 새 빌드는 언제입니까?
 

표준 CChart 클래스는 버그가 있습니다.

 #include <Charts\Chart.mqh> // подключаем класс
void OnStart ()
  {   
   CChart eur; // создаём объект
   eur.Attach(); // приатачиваем к чарту
  }

스크립트를 실행하고 짜잔~ 일정이 바람에 날아가네요 :o)

차트는 오류 메시지 없이 삭제됩니다.

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки компиляции - Документация по MQL5
 
Urain :

표준 CChart 클래스는 버그가 있습니다.

스크립트를 실행하고 짜잔~ 일정이 바람에 날아가네요 :o)

차트는 오류 메시지 없이 삭제됩니다.

스크립트가 완료되면 CChart 클래스의 인스턴스를 포함하여 모든 개체가 자동으로 소멸됩니다. 그러나 소멸시 생성된 객체의 소멸자가 호출됩니다. 이 경우 CChart 클래스의 소멸자는 다음과 같습니다.

 void CChart::Close()
  {
   if (m_chart_id!=- 1 )
     {
       ChartClose (m_chart_id);
      m_chart_id=- 1 ;
     }
  }

즉, 스크립트가 실행 중인 차트가 닫힙니다.

추신 : MQL5에서 객체 생성 및 소멸 방법 기사 읽기