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

 
MQL4 또는 MQL5에서 버그가 어디에 있습니까?
 struct A
{
   static const int Array[];
};

static const int A::Array[] = { 0 };

struct B : public A
{  
   int i[ sizeof (B::Array)]; // MQL5 - ok, MQL4 - ok.
   int j[ sizeof (A::Array)]; // MQL5 - ok, MQL4 - error .
};
검색 문자열 : Osibka 004.
 
fxsaber :

이 문제도 볼 수 있습니까?


중재자는 내 요청에 따라 손으로 업데이트했습니다. 하지만 매번 물어볼 수는 없다. 기계가 작동하지 않습니다.

수정했습니다.

 
Anton :

수정했습니다.

알겠습니다. 감사합니다.

 
Andrey Khatimlianskii :

사용된 모든 악기의 진드기 기준.


다음은 새 틱을 확인하는 코드입니다.

 void OnTimer ()
  {
//+------------------------------------------------------------------+
// Перебор всех символов, которые указаны в внешних переменных
// Recursion of all symbols that are specified in external variables
//+------------------------------------------------------------------+
   string SymbolToTick= "" ;
   for ( int si= 0 ; si< 12 ; si++)
     {
       if (si== 0 )
         SymbolToTick=PAIR1;
       if (si== 1 )
         SymbolToTick=PAIR2;
       if (si== 2 )
         SymbolToTick=PAIR3;
       if (si== 3 )
         SymbolToTick=PAIR4;
       if (si== 4 )
         SymbolToTick=PAIR5;
       if (si== 5 )
         SymbolToTick=PAIR6;
       if (si== 6 )
         SymbolToTick=PAIR7;
       if (si== 7 )
         SymbolToTick=PAIR8;
       if (si== 8 )
         SymbolToTick=PAIR9;
       if (si== 9 )
         SymbolToTick=PAIR10;
       if (si== 10 )
         SymbolToTick=PAIR11;
       if (si== 11 )
         SymbolToTick=PAIR12;
     
       if (SymbolToTick== "" && si== 0 )
        {
         SymbolToTick= Symbol ();
        }
       if (SymbolToTick== "" )
         continue ;
       //|#############################################################################################+
       // проверяем текущий Бид Аск
       MqlTick last_tickSymbol;
       SymbolInfoTick (SymbolToTick,last_tickSymbol);
       double currentBid=last_tickSymbol.bid;
       double currentAsk=last_tickSymbol.ask;

       //|#############################################################################################+
       // Если тик изменился, запускаем тик этого символа
       if (currentBid!=LastBid[si] || currentAsk!=LastAsk[si])
        {
         // Запускаем исполнение тика
         OnTickSymbol(si,SymbolToTick);
         LastBid[si]=currentBid;
         LastAsk[si]=currentAsk;
         TicksAllNumbers[si]++;
        }
       //|#############################################################################################+
     }
  }


틱 수를 확인하기 위한 배열을 만들었습니다.


EURUSD GBPUSD 2쌍 테스트

GBPUSD에서 테스트를 실행합니다.

2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS EURUSD TicksAllNumbers=621120
2020.02.18 14:01:03.802	Core 1	2020.02.16 23:59:58    TICKS GBPUSD TicksAllNumbers=1143002


EURUSD에서 테스트를 실행합니다.

 2020.02 . 18 14 : 01 : 37.129 Core 1    2020.02 . 16 23 : 59 : 58     TICKS EURUSD TicksAllNumbers= 621120
2020.02 . 18 14 : 01 : 37.129 Core 1    2020.02 . 16 23 : 59 : 58     TICKS GBPUSD TicksAllNumbers= 1143002


틱은 동일한 것 같습니다. ... ... ... 그래서 어딘가에 내가 뭔가를 놓친 .....

감사합니다 계속 파헤쳐보겠습니다



해결: _Digit은 코드에 숨어 있었고, 아마도 보지 않고 환경에 추가했을 것입니다.....

댓글은 필요없습니다 :-)

 
Anton :

아카이브의 mql5pack-ico.zip 파일을 폴더로 이동하십시오.

이 파일을 MQL5/Scripts 폴더로 이동했습니다. 도움이되지 않았습니다. 그런 다음 MQL5/Files 폴더로 이동합니다. 그것도 도움이 되지 않았습니다.

무슨 말씀을 하시는지 이해가 안 될 것 같습니다.

 
Stanislav Korotky :

MQL5/Scripts 폴더로 이동했습니다. 도움이되지 않았습니다.

수정했습니다.

 

콘스탄틴 그루즈데프

당신은 흥미로운 작가이며 여기에서 가장 흥미 롭습니다. Vladislav에게 질문했습니다. 나는 다중 통화에도 관심이 있습니다. 왜냐하면 새로운 막대에 대한 뉘앙스가 있고 필요한 모든 막대의 적용 불가능성이 있습니다.

 
다중 통화에 대한 질문은 여전히 걸리고 있습니다. 어떤 이유로 MQ는 신호를 제공하고 싶지 않으며 프로그래머가 일시적이고 감시 결함에 대한 문제를 채우는 것을 선호합니다. 오래 지속되어서는 안됩니다.
 
Vladislav Andruschenko :
타이머를 통해 yes
타이머의 주파수를 높여야 합니다 ......
몇 틱을 건너뜁니다. 따라서 결과의 차이. 차이는 매우 작습니다. 그러나 1틱을 놓치면 충분하고 모든 것이 뒤집어집니다.

빈도가 결과를 향상시킨다는 사실은 아니지만 테스트 속도는 확실히 감소합니다. 타이머 이벤트는 완벽하지 않으며 거의 항상 오류가 있습니다. 빈 타이머에서도 오류를 볼 수 있습니다. 타이머 기능 내부에 계산이 있는 경우 오류가 더 높을 가능성이 높습니다. 타사 작업으로 컴퓨터를 로드하는 것도 타이머에 영향을 줄 수 있습니다. 모든 열기/닫기/수정 신호가 같은 시간에 같은 틱으로 떨어지지 않을 가능성이 있습니다.

이 모든 관찰은 거의 30개에 달하는 상품을 동시에 사용하는 대규모 다중 통화 플랫폼에서 몇 년 전에 이루어졌다는 점을 언급할 가치가 있습니다. 결과의 우연은 타이머가 꺼져있을 때만 발생했습니다. 지금은 별로 달라진 게 없는 것 같아요.

 
Fast235 :

콘스탄틴 그루즈데프

당신은 흥미로운 작가이며 여기에서 가장 흥미 롭습니다. Vladislav에게 질문했습니다. 나는 다중 통화에도 관심이 있습니다. 왜냐하면 새로운 막대에 대한 뉘앙스가 있고 필요한 모든 막대의 적용 불가능성이 있습니다.

확인. 정답은 위에 있습니다.