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

 
coderex :
아마도 구조체 생성자일까요? 그는 어쨌든 거기에있어
뭐가 그렇게 불안해? 물론 그는입니다 :)
 
Andrey Barinov :
뭐가 그렇게 불안해? 물론 그는입니다 :)
예, 확실하지 않습니다. 이미 무엇을 기대해야 하는지 모르기 때문에 터미널을 1395로 업데이트했는데 이제 로봇이 해야 할 일을 중단했기 때문에 1375로 롤백하는 방법을 모르겠습니다...
 
Andrey Barinov :
뭐가 그렇게 불안해? 물론 그는입니다 :)
자, 소멸자는 어디에 있습니까?
 
Vladimir Pastushak :
자, 소멸자는 어디에 있습니까?
가장 중요한 것은 다른 모든 것이 어디에 있습니까?
 

오프라인 테스터는 "시작"을 클릭한 후 원래 상태로 돌아가지 않습니다. "중지" 버튼이 계속 켜져 있습니다. 이것은 테스트 간격이 사용 가능한 기록을 초과할 때 발생합니다.

 2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : read container failed
2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : ticks synchronization started
2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : history synchronized from 2015.06 . 22 to 2016.08 . 25
2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : load 2651 bytes of history data to synchronize in 0 : 00 : 00.016
2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : symbol synchronized, 3224 bytes of symbol info received
2016.08 . 28 10 : 19 : 48      Core 1   RTS- 9.16 : symbol to be synchronized
....
2016.08 . 28 10 : 19 : 41      Tester  RTS- 9.16 ,M1 (BCS-MetaTrader5): testing of Experts\Test.ex5 from 2016.08 . 01 00 : 00 to 2016.08 . 28 00 : 00

 
구성을 사용할 수 없는 이유를 설명하십시오. 코드에 무엇이 있습니까? 그리고 그러한 구성이 작동하도록 변경하는 방법(분명히 MQL에 대한 새로운 유형의 포인터)은 무엇입니까? 그리고 느려질까요?
 void f1( int i1, int i2, int i3, int i4, int i5 ) {}
void f2( int i1, int i2, int i3, int i4, int i5 ) {}

void OnStart ()
{  
   bool Condition = true ;
  
//  (Condition) ? f1(1, 2, 3, 4, 5) : f2(1, 2, 3, 4, 5); // 'f1', 'f2' - expression of 'void' type is illegal

   if (Condition)
    f1( 1 , 2 , 3 , 4 , 5 );
   else
    f2( 1 , 2 , 3 , 4 , 5 );
  
  (Condition ? f1 : f2)( 1 , 2 , 3 , 4 , 5 ); // Почему так нельзя? Как сделать, чтобы можно было?
}
 
fxsaber :
구성을 사용할 수 없는 이유를 설명하십시오. 코드에 무엇이 있습니까? 그리고 그러한 구성이 작동하도록 변경하는 방법(분명히 MQL에 대한 새로운 유형의 포인터)은 무엇입니까? 그리고 느려질까요?

이 시도

 int b = (Condition) ? f1( 1 , 2 , 3 , 4 , 5 ) : f2( 1 , 2 , 3 , 4 , 5 );
 

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

오류, 버그, 질문

A100 , 2016.08.25 14:49

런타임 에러

더 복잡한 버전에서는 다음과 같이 재현됩니다. EX5 로딩 실패

빌드 1398에서 'EX5 loading failed' 오류가 남아 있었습니다(해당 예제와 관련이 없는 것 같습니다).

 //Script1.mq5
typedef void (*fn)();
#import "Script2.ex5"
        void g( fn );
#import "Script3.ex5"
        void h();
#import
void OnStart () { g( h ); }
 //Script2.mq5
#property library
typedef void (*fn)();
void g( fn f ) export { f(); }
//Script3.mq5
#property library
void h() export {}
 
Vladimir Pastushak :
스토리지를 직접 사용하십니까?

4일내로 답변드리겠습니다. 그러나 그들이 말했듯이 결코 늦지 않는 것보다 늦습니다.

드물지만 스토리지를 사용합니다. 기본적으로 손실을 방지하기 위해 작업을 완료합니다. 컴퓨터에서 컴퓨터로 저장소를 통해서도 전송합니다. 이전에 Yandex 디스크를 사용했습니다. 그러나 전송하려면 그만큼 많은 조작이 필요합니다.

첫 번째 컴퓨터에서: 포이즌 열기 - 파일 선택 - 다운로드

두 번째 컴퓨터 수신기에서: 포이즌 열기 - 파일 선택 - 다운로드 - 편집기에서 새 코드 생성 - 다운로드한 코드 복사 - 컴파일.

그리고 독에있는 버전과의 추가 혼동은 없습니다.

질문이 있습니다. 저장소가 작동 중입니다. 다른 컴퓨터가 연결되고 코드가 전송됩니다. 그러나 스토리지는 계정에서 볼 수 없습니다. "보기" 버튼이 나타나지 않습니다. 프로젝트 폴더에 파일이 있습니다.

 

안녕하세요. ChartSetInteger 함수(MT5 빌드 1395)는 표시기 창의 높이를 변경하는 데 사용됩니다.

 if (! ChartSetInteger ( 0 , CHART_HEIGHT_IN_PIXELS , 1 , subWindowPixels))
    {
         Print ( __FUNCTION__ + ", Error Code = " , GetLastError ());
         return ;
    } 
이러한 방식으로 창 크기를 조정한 후에는 표시기 창이 차단되어 더 이상 수동으로 변경할 수 없습니다.
다음 주제 https://www.mql5.com/en/forum/59754 에서 MT4에 대한 유사한 문제에 대한 솔루션은 표시기 창 크기를 0픽셀로 설정하는 것이지만 이 기술은 MT5에서 작동하지 않습니다. 이 문제를 해결할 수 있는 방법이 있는지 알려주실 수 있습니까? 고맙습니다.