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

 

주말에 견적이 포함된 MT4 및 MT5용 데모 서버가 작동 중입니까?

 
Kirill Belousov :

주말에 견적이 포함된 MT4 및 MT5용 데모 서버가 작동 중입니까?

이에 대한 데모 서버와 거래가 실제 돈이 아닌 "데모"에서 수행된다는 데모 :) 그리고 다른 모든 것(견적을 받는 시간도)은 거의 실생활과 같습니다.

 
Kirill Belousov :

주말에 견적이 포함된 MT4 및 MT5용 데모 서버가 작동 중입니까?

주말에는 견적이 없습니다.
견적 수신을 에뮬레이션할 수 있습니다.
 

MT5를 오프라인으로 전환하고(예: 왼쪽 프록시) 이러한 어드바이저를 시작합니다.

 void OnInit ()
{
   Print ( "Hello World!" );
}

로그의 출력은 고문인 BAG가 시작된 후 불과 5초 후에 나타납니다.


이러한 지표를 오프라인으로 실행

 #property indicator_chart_window

#property indicator_buffers 0
#property indicator_plots 0

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[] )
{
   return (rates_total);
}

void OnInit ()
{
   const datetime LastBar = ( datetime ) SeriesInfoInteger ( _Symbol , PERIOD_CURRENT , SERIES_LASTBAR_DATE );

   Print (LastBar);
   Print ( Bars ( _Symbol , PERIOD_CURRENT , LastBar - 24 * 3600 , LastBar)); // 0
   Print ( GetLastError ());                                               // ERR_HISTORY_NOT_FOUND
}

우리는 바에서 당황합니다. 또한 OnTimer와 같은 반복적인 호출에도 동일한 문제가 발생합니다. 그리고 EA에서 Bars를 호출하면 모든 것이 작동합니다. 표시기의 경우 이는 명백한 버그입니다.

 2017.10 . 22 23 : 35 : 40.678 Terminal        Alpari Limited MT5 x64 build 1653 started (Alpari Limited)
2017.10 . 22 23 : 35 : 40.678 Terminal        Windows 7 Ultimate (x64 based PC), IE 09.00 , Intel Core i7- 2700 K  @ 3.50 GHz, RAM: 11310 / 16301 Mb, HDD: 827 / 30000 Mb, GMT+ 02 : 00
PS 설명서의 설명은 아무 것도 설명하지 않습니다.

Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не  синхронизированы  с торговым сервером, то функция вернет нулевое значение.

업데이트를 유발하는 지표와 동일한 주기로 시계열 업데이트 요청을 보내는 것은 매우 바람직하지 않습니다. 표시기와 동일한 기호 기간 동안 데이터를 요청하는 것이 바람직하지 않은 것은 표시기가 작동하는 동일한 스레드에서 기록 데이터가 업데이트된다는 사실 때문입니다. 따라서 클린치의 가능성이 높습니다.

 

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2017.10.17 15:07

하위 배열은 상위 배열로 변환할 수 없습니다. 그러나 요소별로 - 그렇습니다. 이것은 제거하는 것이 좋은 ArrayCopy 제한 사항이 있습니다.

이 상황에서 언어에 문제가 있습니다.

 struct RATES : public MqlRates {};

void f1( RATES& ) {}

void f2( MqlRates & ) {}
void f2( MqlRates &[] ) {}

void OnStart ()

{
   MqlRates a = { 0 };  
  
  f1(a); // 'a' - parameter conversion not allowed
  
  RATES b[ 1 ] = { 0 };
  
  b[ 0 ] = a; // no problem
  a = b[ 0 ]; // no problem
  
  f2(b[ 0 ]); / / no problem
  f2(b);     // 'f2' - no one of the overloads can be applied to the function call
}


노란색과 빨간색 선은 서로 모순됩니다. 구조에서 상속이 있는 경우 생성자, 할당 연산자가 변경되지 않고 필드가 추가되지 않으면 자식에서 부모로 또는 그 반대로 변환이 문제 없이 발생해야 합니다. 그리고 노란색 선이 이를 확인합니다. 그러나 어떤 상황에서는 빨간색이 있습니다.
 
fxsaber :

이 상황에서 언어에 문제가 있습니다.

내 컴파일러가 준


 
Kirill Belousov :

내 컴파일러는 나에게

예, 메시지를 보냈습니다.
 
   int tim=( int ) FileGetInteger (aFileName, FILE_CREATE_DATE );
   int cur_tim=( int ) TimeCurrent ();

   RefreshRates ();
   if ( FileGetInteger (aFileName, FILE_EXISTS )== 1 )
       if (tim> 0 )
         if ((cur_tim-tim)> 120 ) 
           {
             Print ( " ttt   " + TimeToString (cur_tim)+ "  " + TimeToString (tim));
             FileDelete (aFileName);
             Print ( "Обновление файла " );
             return false ;
           }

int tim=(int)FileGetInteger(aFileName,FILE_CREATE_DATE); 시간을 업데이트하지 않습니다.

파일을 만들고 60초 후에 삭제하고 싶습니다. 파일이 삭제되고 int tim=( int ) FileGetInteger (aFileName, FILE_CREATE_DATE ); 컴파일 후 첫 번째 파일 의 시간을 반환합니다. Windows 창에서 파일이 삭제되고 새로운 시간으로 생성되는 것을 볼 수 있습니다.

RefreshRates는 도움이되지 않습니다 ...

 

int tim=(int)FileGetInteger(aFileName,FILE_MODIFY_DATE);

제대로 작동

 
Vladimir Pastushak :

int 팀=(int)FileGetInteger(aFileName,FILE_CREATE_DATE); 시간을 업데이트하지 않습니다.

파일을 만들고 60초 후에 삭제하고 싶습니다. 파일이 삭제되고 int tim=( int ) FileGetInteger (aFileName, FILE_CREATE_DATE ); 컴파일 후 첫 번째 파일 의 시간을 반환합니다. Windows 창에서 파일이 삭제되고 새로운 시간으로 생성되는 것을 볼 수 있습니다.

RefreshRates는 도움이되지 않습니다 ...

파일 생성 코드는 어디에 있습니까?

삭제하기 전에 파일을 닫습니까?

RefreshRates는 무엇과 관련이 있습니까?

5~4개 말씀하시는건가요?