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

 
A100 :
게다가 당신은 평범한 사용자가 아니지만 많은 사람들이 당신의 작업을 사용합니다.

나는 이렇게 말할 것이다:

파일을 읽을 때 이 오류는 100회 읽기 중 1회 발생할 수 있습니다(예: 초당 10회 빈도로 파일 읽기).

이러한 오류가 발생한 이유는 사라지고 Expert Advisor가 계속 작동합니다.

 
Vladislav Andruschenko :

나는 이렇게 말할 것이다:

파일을 읽을 때 이 오류는 100회 읽기 중 1회 발생할 수 있습니다(예: 초당 10회 빈도로 파일 읽기).

이러한 오류가 발생한 이유는 사라지고 Expert Advisor가 계속 작동합니다.

이와 관련하여 개발자에게 간단하고 정직한 제안이 있습니다. MetaTrader의 최소 시스템 요구 사항으로 표시된 정확한 구성(*)으로 컴퓨터를 가져오고 무엇보다도 테스트를 수행합니다(서비스 포함 책상)

(*) 이 구성과 비교한 내 태블릿은 유성이며 MetaTrader 외에는 아무 것도 로드되지 않습니다.

 
A100 :

이와 관련하여 개발자에게 간단하고 정직한 제안이 있습니다. MetaTrader의 최소 요구 사항으로 표시된 정확한 구성(*)으로 컴퓨터를 가져오고 무엇보다도 테스트를 수행합니다(서비스 데스크 포함 )

(*) 이 구성에 비해 내 태블릿은 유성입니다


브레이크에 문제가 있을 수 있습니다(내 약한 브레이크도 이미 90% 로드됨). 그러면 이 오류가 발생합니까? 위의 설명에서 보여주듯이?

방향을 주셔서 감사합니다, 나는 그것을 알아 내려고 노력할 것입니다.

 
A100 :

따라서 요청 #1530548 에 따르면 ServiceDesk는 https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 오류를 재현할 수 없습니다. 조금 생각한 후에 그 이유를 깨달았습니다! 답은 컴퓨터(태블릿)가 느리기 때문입니다.

비슷한 상황이 이 문제에 대한 요청 #1952509에 있었습니다. https://www.mql5.com/en/forum/1111/page2124#comment_6518537

ServiceDesk는 또한 처음으로 오류를 재현할 수 없다고 보고했습니다. 오류가 여전히 존재한다는 것을 확신시키는 데 많은 노력이 들었습니다... 결국:

지원팀 2018.02.10 22:35
금요일에 39개의 차트가 있는 약한 시스템에서 문제를 재현한 것 같습니다.
지켜볼 것이다. 필요한 경우 추가 정보를 요청할 것입니다. 고맙습니다.

이와 관련하여 다음과 같은 질문이 제기됩니다. 그러한 오류를 전혀 신경쓰지 않아도 됩니까? 아니면 조용히 살게 놔두세요... 다시는 안나오겠죠? 결국 빠른 컴퓨터로 옮기면 끝?!

이러한 질문은 여러 개의 Expert Advisors/Indicator가 있는 12개의 다른 차트가 빠른 컴퓨터를 느린 컴퓨터로 전환할 수 있다는 사실과 관련하여 발생합니다(그리고 일반 트레이더는 Expert Advisors 를 많이 사용합니다. 여기에 예제가 있습니다. https://www.mql5.com/en/forum/267154/page5 #comment_8164924 - 82개 EA 시작)... 또는 다른 상황(바이러스 백신... 다른 프로그램... 또는 시스템 자체가 일시적으로 거의 모든 리소스를 점유했습니다).

그러면 정확히 100분의 1이라는 설명할 수 없는 실패가 올 것입니다(글쎄, 자연의 법칙에 따르면 가장 부적절한 시간에 자연스럽게 발생합니다)

MT5를 커넥터로 남겨두고 작업 전략을 MT5 외부로 이전하는 데 어떤 문제가 있습니까? 나는 전략이 가치가 있다면 그러한 춤에 시간을 보내는 것이 정상적이라고 생각하지만 평소와 같지는 않습니다))

 
Konstantin :

MT5를 커넥터로 남겨두고 작업 전략을 MT5 외부로 이전하는 데 어떤 문제가 있습니까? 나는 전략이 가치가 있다면 그러한 춤에 시간을 보내는 것이 정상적이라고 생각하지만 평소와 같지는 않습니다))

문제는 전체 피드백의 구성입니다 ... 심지어 커넥터조차도 때때로 파일을 스스로 열어야합니다.
 

누군가 MQL5에서 표시기를 계산할 때 time[] 시계열에 서버 시간에 해당하지 않는 시간이 포함된 이유를 정당화할 수 있습니까?

다음은 하루 시작에 대한 종가의 변동을 계산하는 지표입니다.

 #property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots    1
//--- plot Label1
#property indicator_label1    "Label1"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    2
//--- indicator buffers
double          DB[];

static int lastdayclose=- 1 ;
static double F0= 1.0 ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
   SetIndexBuffer ( 0 ,DB, INDICATOR_DATA );
   lastdayclose=- 1 ;
   F0= 1 ;
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| 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[])
  {
   int i,limit;
   MqlDateTime tmpdate;
   if (prev_calculated== 0 )
     {
      limit=rates_total- 1 ;
      lastdayclose=- 1 ;
      F0= 1 ;
     }
   else limit=rates_total-prev_calculated;
   ArraySetAsSeries (time, true );
   ArraySetAsSeries (close, true );
   for (i=limit;i>= 0 ;i--)
     {
       TimeToStruct (time[i],tmpdate);
       if (tmpdate.day!=lastdayclose)
        {
         F0=close[i];
         lastdayclose=tmpdate.day;
        }
      DB[i]=F0-close[i];
     }
   return (rates_total);
  }
//+------------------------------------------------------------------+

표시기 그리기:

https://www.mql5.com/ru/charts/8940511/eurusd-m5-alpari-international-limited

하루의 시작 시간이 왼쪽으로 2시간 이동한 것을 볼 수 있습니다.

 
Igor Makanu :

하루의 시작 시간이 왼쪽으로 2시간 이동한 것을 볼 수 있습니다.

어디 볼까?

MetaTrader 거래 플랫폼의 스크린샷

EURUSD, M5, 2018.07.25

Alpari International Limited, MetaTrader 5, 데모

EURUSD, M5, 2018.07.25, Alpari International Limited, MetaTrader 5, 데모


 
Alexey Viktorov :

어디 볼까?

마침표 구분선이 보이나요? - 이것은 하루의 시작이며 서버 시간 0:00에 해당합니다.

지표의 논리가 명확합니까? - 빨간색 선의 수직 버스트는 하루 시작의 첫 번째 막대 의 종가입니다 . 이를 기억한 다음 당일 개장의 첫 번째 막대의 종가를 기준으로 종가의 증분을 그립니다. - 이 "빨간색 버스트"는 마침표 구분선에 있어야 합니다. 하루의 시작에

 
A100 :
문제는 전체 피드백의 구성입니다 ... 심지어 커넥터조차도 때때로 파일을 스스로 열어야합니다.

모든 논리가 아웃소싱된 경우 커넥터가 파일을 스스로 열어야 하는 이유는 초기화를 위해 외부 프로그램의 OnInit에서 필요한 기능을 호출하는 것입니다.

 
Igor Makanu :

마침표 구분선이 보이나요? - 이것은 하루의 시작이며 서버 시간 0:00에 해당합니다.

지표의 논리가 명확합니까? - 빨간색 선의 수직 버스트는 하루 시작의 첫 번째 막대 의 종가입니다 . 이를 기억한 다음 당일 개장의 첫 번째 막대의 종가를 기준으로 종가의 증분을 그립니다. - 이 "빨간색 버스트"는 마침표 구분선에 있어야 합니다. 하루의 시작에

이것을 바탕으로 무언가에 대해 이야기 할 수 있다고 생각하십니까? 응...