오류, 버그, 질문 - 페이지 1783 1...177617771778177917801781178217831784178517861787178817891790...3184 새 코멘트 A100 2017.02.05 22:42 #17821 A100 : 질문: OnDeinit->M5는 언제 호출되나요? 내 대답: 절대! 위의 답변: 비동기 및 지연 30분이 넘었는데도 OnDeinit->M5에 대한 호출이 없습니다. 그리고 이제 Expert 코드를 변경해 보겠습니다(순서를 약간 변경)... 결과: 2017.02.06 01:31:45.002 OnInit->M5 2017.02.06 01:31:48.340 OnDeinit->M5:1 지체 없이 바로 전화주세요! 2017.02.06 01:31:48.409 OnInit->M15 파일: Test.mq5 2 kb Renat Fatkhullin 2017.02.05 22:54 #17822 A100 : 30분이 넘었는데도 OnDeinit->M5에 대한 호출이 없습니다. 그리고 이제 Expert 코드를 변경해 보겠습니다(순서를 약간 변경)... 코드를 첨부하세요. A100 2017.02.05 23:05 #17823 Renat Fatkhullin : 코드를 첨부하세요. 같은 이름의 마지막 게시물에 첨부합니다. 실제로 정적 호출은 동적 호출로 대체되며 결과는 근본적으로 다릅니다. Renat Fatkhullin 2017.02.05 23:15 #17824 A100 : 같은 이름의 마지막 게시물에 첨부합니다. 실제로 정적 호출은 동적 호출로 대체되며 결과는 근본적으로 다릅니다. 감사합니다. 살펴보겠습니다. 첫 번째 경우에는 OnDeinit 및 정적 변수 가 없는 것이 최적화의 잔인한 트릭을 수행하여 결과적으로 소멸자를 호출하는 것을 잊은 것 같습니다. Slava 2017.02.06 06:22 #17825 Alexey Kozitsyn : 당신이 말하는 스트림을 설명할 수 있습니까? 한 문자의 모든 표시기가 같은 스레드에서 실행되지 않습니까? 네. 그래픽이 마침표가 아니라 문자를 변경하는 경우 다른 스트림이 됩니다. 기간만 변경하면 표시기의 새 복사본이 이전 것과 동일한 스레드에서 계산됩니다. 그러나 여기에서도 M5의 Deinit 명령이 M15의 Init 명령보다 먼저 처리된다는 사실에 의존할 수 없습니다. fxsaber 2017.02.06 06:25 #17826 Slawa : 기간만 변경하면 표시기의 새 복사본이 이전 것과 동일한 스레드에서 계산됩니다. 그러나 여기에서도 M5의 Deinit 명령이 M15의 Init 명령보다 먼저 처리된다는 사실에 의존할 수 없습니다. 도움말에 추가하십시오. Vladislav Andruschenko 2017.02.06 07:42 #17827 Slawa : 여보세요, https://www.mql5.com/en/forum/166358/page4#comment_4064293 메시지에 많은 관심 부탁드립니다. 매우 중요하며, 새로운 오류 1158이 나타났습니다. 도움말에 없나요? cannot set millisecond timer (500) www.mql5.com Здравствуйте, клиент прислал лог файл, в котором я увидел такую запись cannot set millisecond timer (500) что она значит? и почему... A100 2017.02.06 11:08 #17828 런타임 에러 0x030A00AD에서 액세스 위반이 'Test_s.ex5'에서 0x00000005로 읽힙니다. //Test_s.mq5 //Скрипт class A {}; #import "TestA.ex5" A *error(); #import class B { protected : B( const string & name ) : name( name ) {} virtual int g( const MqlParam & param[] ) const { return :: IndicatorCreate ( NULL , PERIOD_CURRENT , IND_CUSTOM , :: ArraySize ( param ), param ); } const string name; bool f( int h ) const { if ( :: ChartIndicatorAdd ( 0 , 0 , h ) ) return true ; error(); return false ;}}; class C : protected B { protected : C( int h, string name ) : B( name ), h( h ) { f( this .h ); } const int h;}; class D : C { public : D( string path ) : C( g( path ), path ) {} int g( const string & path ){ MqlParam param[ 1 ]; param[ 0 ].type = TYPE_STRING ; param[ 0 ].string_value = path; return g( param );}}; void OnStart () { D d( "Test_i" ); } //TestA.mq5 #property library class A {}; A * error () export { return NULL; } 표시기를 제외한 모든 파일은 MQL5\Scripts\ 폴더에 있습니다. 지표 자체는 필요하지 않지만 예를 들어 여기에서 가져올 수 있습니다. https://www.mql5.com/en/forum/1111/page1803#comment_4063671 Ошибки, баги, вопросы www.mql5.com Форум алго-трейдеров MQL5 Errors, bugs, questions Use OPP to initialize Getting indicator settings by Rashid Umarov 2017.02.06 11:32 #17829 fxsaber : 도움말에 추가하십시오. 여기를 보세요 - 프로그램 실행 MQL5 프로그램에 대한 간략한 요약이 표에 나와 있습니다. 프로그램 성능 메모 스크립트 자체 스레드에서 스크립트 수 - 스크립트에 대한 실행 스레드 수 반복되는 스크립트는 다른 프로그램을 중단할 수 없습니다. 전문가 자체 스레드에서 얼마나 많은 전문가 - 그들에 대한 많은 실행 스레드 루프된 EA는 다른 프로그램의 작동을 방해할 수 없습니다. 지시자 하나의 심볼에 있는 모든 표시기에 대한 하나의 실행 스레드. 표시기가 있는 기호 수 - 해당 기호에 대한 실행 스레드 수 한 표시기의 무한 루프는 해당 기호의 다른 모든 표시기를 중지합니다. Aleksey Vyazmikin 2017.02.06 11:45 #17830 A100 : B'1111111111111111111111111111111' 형식으로 작성되었습니다. 아아, 나는 이 형식을 모른다. 실험은 그래픽 버퍼의 숫자가 double과 동일한 규칙으로 표현된다는 것을 보여주었습니다. 그래픽 버퍼를 통해 그렇게 긴 숫자를 전송할 수는 없습니다. 실망스럽습니다. 1...177617771778177917801781178217831784178517861787178817891790...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
질문: OnDeinit->M5는 언제 호출되나요?
내 대답: 절대!
위의 답변: 비동기 및 지연
30분이 넘었는데도 OnDeinit->M5에 대한 호출이 없습니다.
그리고 이제 Expert 코드를 변경해 보겠습니다(순서를 약간 변경)...
결과:
2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5:1 지체 없이 바로 전화주세요!
2017.02.06 01:31:48.409 OnInit->M15
30분이 넘었는데도 OnDeinit->M5에 대한 호출이 없습니다.
그리고 이제 Expert 코드를 변경해 보겠습니다(순서를 약간 변경)...
코드를 첨부하세요.
같은 이름의 마지막 게시물에 첨부합니다. 실제로 정적 호출은 동적 호출로 대체되며 결과는 근본적으로 다릅니다.
첫 번째 경우에는 OnDeinit 및 정적 변수 가 없는 것이 최적화의 잔인한 트릭을 수행하여 결과적으로 소멸자를 호출하는 것을 잊은 것 같습니다.
당신이 말하는 스트림을 설명할 수 있습니까? 한 문자의 모든 표시기가 같은 스레드에서 실행되지 않습니까?
기간만 변경하면 표시기의 새 복사본이 이전 것과 동일한 스레드에서 계산됩니다.
그러나 여기에서도 M5의 Deinit 명령이 M15의 Init 명령보다 먼저 처리된다는 사실에 의존할 수 없습니다.
기간만 변경하면 표시기의 새 복사본이 이전 것과 동일한 스레드에서 계산됩니다.
그러나 여기에서도 M5의 Deinit 명령이 M15의 Init 명령보다 먼저 처리된다는 사실에 의존할 수 없습니다.
여보세요,
https://www.mql5.com/en/forum/166358/page4#comment_4064293 메시지에 많은 관심 부탁드립니다.
매우 중요하며,
새로운 오류 1158이 나타났습니다. 도움말에 없나요?
런타임 에러
0x030A00AD에서 액세스 위반이 'Test_s.ex5'에서 0x00000005로 읽힙니다.
class A {};
#import "TestA.ex5"
A *error();
#import
class B { protected :
B( const string & name ) : name( name ) {}
virtual int g( const MqlParam & param[] ) const { return :: IndicatorCreate ( NULL , PERIOD_CURRENT , IND_CUSTOM , :: ArraySize ( param ), param ); }
const string name;
bool f( int h ) const
{
if ( :: ChartIndicatorAdd ( 0 , 0 , h ) )
return true ;
error();
return false ;
}
};
class C : protected B { protected :
C( int h, string name ) : B( name ), h( h ) { f( this .h ); }
const int h;
};
class D : C { public :
D( string path ) : C( g( path ), path ) {}
int g( const string & path )
{
MqlParam param[ 1 ];
param[ 0 ].type = TYPE_STRING ;
param[ 0 ].string_value = path;
return g( param );
}
};
void OnStart () { D d( "Test_i" ); }
#property library
class A {};
A * error () export { return NULL; }
표시기를 제외한 모든 파일은 MQL5\Scripts\ 폴더에 있습니다.
지표 자체는 필요하지 않지만 예를 들어 여기에서 가져올 수 있습니다. https://www.mql5.com/en/forum/1111/page1803#comment_4063671
도움말에 추가하십시오.
MQL5 프로그램에 대한 간략한 요약이 표에 나와 있습니다.
프로그램
성능
메모
스크립트
자체 스레드에서 스크립트 수 - 스크립트에 대한 실행 스레드 수
반복되는 스크립트는 다른 프로그램을 중단할 수 없습니다.
전문가
자체 스레드에서 얼마나 많은 전문가 - 그들에 대한 많은 실행 스레드
루프된 EA는 다른 프로그램의 작동을 방해할 수 없습니다.
지시자
하나의 심볼에 있는 모든 표시기에 대한 하나의 실행 스레드. 표시기가 있는 기호 수 - 해당 기호에 대한 실행 스레드 수
한 표시기의 무한 루프는 해당 기호의 다른 모든 표시기를 중지합니다.
B'1111111111111111111111111111111' 형식으로 작성되었습니다.
아아, 나는 이 형식을 모른다.
실험은 그래픽 버퍼의 숫자가 double과 동일한 규칙으로 표현된다는 것을 보여주었습니다. 그래픽 버퍼를 통해 그렇게 긴 숫자를 전송할 수는 없습니다. 실망스럽습니다.