오류, 버그, 질문 - 페이지 1628 1...162116221623162416251626162716281629163016311632163316341635...3184 새 코멘트 fxsaber 2016.08.03 22:16 #16271 HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - 테스터에서 0을 반환합니다! A100 2016.08.04 00:05 #16272 전문가가 파일을 여는 동안 오류가 발생했습니다. 그리고 예를 들어 1. "일부 관련 없는 코드" 제거(아래 참조) 2. 또는 제거 ::Sleep(1000) 그러면 오류가 발생하지 않습니다 //Test.mq5 #import "Test001.ex5" string f( string file ); #import string __Period() { return StringSubstr ( EnumToString (( ENUM_TIMEFRAMES ) Period ()), 7 ); } void OnInit () { Print ( Symbol (), "," , __Period(), ", результат=" , f( "test.txt" )); } 시퀀싱: 1. 새 프로필 만들기(예: "테스트") 2. Test.ex5 전문가를 두 차트에 연결하여 두 개의 새 차트를 엽니다(그림 참조). 4. 다른 기존 프로필 선택 5. 프로필 "테스트" 선택 결과: Test001.mq5는 다음과 같습니다. //Test001.mq5 #property library //--- //здесь некий код не имеющий отношения к делу //--- string f( string file ) export { :: ResetLastError (); int hFile = :: FileOpen ( file, FILE_READ | FILE_SHARE_READ | FILE_TXT | FILE_ANSI | FILE_COMMON ); if ( hFile == INVALID_HANDLE ) return :: StringFormat ( "Error(%d): Не был открыт файл: %s" , :: GetLastError (), file ); :: Sleep ( 1000 ); :: FileClose ( hFile ); return "OK" ; } 파일: Test001.ex5 16 kb A100 2016.08.04 01:02 #16273 test.txt 파일 자체는 메시지에 첨부되지 않았지만 다음과 같이 보입니다. 추가 정보: FILE_COMMON 의 의미에서 열려 있는 파일의 위치 - 오류에 영향을 미치지 않습니다. Alexey Navoykov 2016.08.04 07:25 #16274 Andrey Barinov : 이것은 코드 최적화입니다. metaeditor.ini 필드 [Experts]에 OPTIMIZE=0을 쓰면 컴파일 속도는 4-ke와 동일합니다. 컴파일하는 데 20초가 걸리는 일부 프로젝트가 있으며 일부는 끝없는 최적화 주기에 포함됩니다. :) 와우, 고마워 친구! 전에 어디 있었어! ) 그리고 우리는 여기서 고통 받고 있습니다 ... 가장 이상한 것은 개발자가이 옵션에 대해 침묵했다는 것입니다 Test Account 2016.08.04 09:24 #16275 Alexey Navoykov : 와우, 고마워 친구! 전에 어디 있었어! ) 그리고 우리는 여기서 고통 받고 있습니다 ... 가장 이상한 것은 개발자가이 옵션에 대해 침묵했다는 것입니다 그들은 침묵하지 않았습니다. 포럼 에는 이 옵션이 방금 설명된 18페이지의 주제가 있습니다. 그런데 디버깅을 위해 컴파일할 때 최적화는 포함되지 않습니다. Тестирование нового компилятора MQL5 для x64 платформ - ускорение расчетов от 2 до 10 раз! www.mql5.com Форум трейдеров MQL5.community Anatoli Kazharski 2016.08.04 09:26 #16276 Andrey Barinov : 이것은 코드 최적화입니다. metaeditor.ini 필드 [Experts]에 OPTIMIZE=0을 쓰면 컴파일 속도는 4-ke와 동일합니다. 컴파일하는 데 20초가 걸리는 일부 프로젝트가 있으며 일부는 끝없는 최적화 주기에 포함됩니다. :) 정확히! 동시에 나는 한 번 값을 1 로 설정하고 단순히 잊어 버렸습니다. )) 알렉세이 나보이코프 : ... 그리고 우리는 여기서 고통 받고 있습니다 ... 가장 이상한 것은 개발자가이 옵션에 대해 침묵했다는 것입니다 주제는 x64 플랫폼용 새로운 MQL5 컴파일러 테스트 - 계산 속도를 2배에서 10배까지 향상시키는 것이었습니다. >>> 이것은 내가 방금 잊었다. ) 처음에는 이 최적화가 효과가 없었습니다. 즉, 경우에 따라 컴파일이 오류로 종료되었습니다 . 그러나 나는 그럭저럭 그 이유를 찾을 수 있었다 . 그런 다음 수정되었고 터미널 중 하나에서 매개 변수를 1 로 설정하고 잊어 버렸습니다. 그리고 어제 저는 앉아서 한 MT5 편집기에서 컴파일이 다른 MT5 편집기에서보다 훨씬 빠른 이유를 생각했습니다. //--- 이제 0 으로 설정하면 컴파일 속도가 ~25배 빨라집니다. 0 error(s), 0 warning(s), compile time: 668 msec 1 1 포럼을 어지럽히 지 않도록 [경고, 주제 닫힘!] 포럼을 SimpleDailyRangeBreakExpert Renat Fatkhullin 2016.08.04 10:17 #16277 Anatoli Kazharski : 물론 MetaTrader 5 에서 가장 복잡한 내 프로젝트도 컴파일하는 데 오랜 시간이 걸립니다. 심지어 11 초까지 갑니다. 정확히 같은 버전이지만 MetaTrader 4 에서는 최대 25 배 더 빠릅니다. MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다. 우리는 이전에 이것을 작성하고 설명했습니다. MQL5 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 사본을 생성해야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다. Anatoli Kazharski 2016.08.04 10:22 #16278 Renat Fatkhullin : MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다. 또한 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 복사본을 만들어야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다. 고맙습니다. 나는 이미 이 모든 것이 논의된 지점에서 내 기억을 새로 고쳤습니다. 개발 중에는 값을 0 으로 설정하겠습니다. 컴파일해야 하고 10 초 동안 기다려야 하는 일이 매우 자주 발생하기 때문에 지루합니다. 그리고 최종 컴파일 전의 완성품에는 1 을 넣겠습니다. coderex 2016.08.04 11:57 #16279 Renat Fatkhullin : MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다. 우리는 이전에 이것을 작성하고 설명했습니다. MQL5 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 사본을 생성해야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다. MetaEditor가 실행되는 동안 OPTIMIZE 매개변수를 변경하면 설정을 승인하기 위해 다시 로드해야 합니까? Anatoli Kazharski 2016.08.04 12:00 #16280 coderex : MetaEditor가 실행되는 동안 OPTIMIZE 매개변수를 변경하면 설정을 승인하기 위해 다시 로드해야 합니까? 직접 해보는게 빠릅니다. 여기에서 방금 테스트했습니다. 편집기를 다시 시작할 필요는 없습니다. 1...162116221623162416251626162716281629163016311632163316341635...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
전문가가 파일을 여는 동안 오류가 발생했습니다. 그리고 예를 들어
1. "일부 관련 없는 코드" 제거(아래 참조)
2. 또는 제거 ::Sleep(1000)
그러면 오류가 발생하지 않습니다
시퀀싱:
1. 새 프로필 만들기(예: "테스트")
2. Test.ex5 전문가를 두 차트에 연결하여 두 개의 새 차트를 엽니다(그림 참조).
4. 다른 기존 프로필 선택
5. 프로필 "테스트" 선택
결과:
Test001.mq5는 다음과 같습니다.
test.txt 파일 자체는 메시지에 첨부되지 않았지만 다음과 같이 보입니다.
추가 정보: FILE_COMMON 의 의미에서 열려 있는 파일의 위치 - 오류에 영향을 미치지 않습니다.
이것은 코드 최적화입니다.
metaeditor.ini 필드 [Experts]에 OPTIMIZE=0을 쓰면 컴파일 속도는 4-ke와 동일합니다. 컴파일하는 데 20초가 걸리는 일부 프로젝트가 있으며 일부는 끝없는 최적화 주기에 포함됩니다. :)
와우, 고마워 친구! 전에 어디 있었어! ) 그리고 우리는 여기서 고통 받고 있습니다 ... 가장 이상한 것은 개발자가이 옵션에 대해 침묵했다는 것입니다
그들은 침묵하지 않았습니다. 포럼 에는 이 옵션이 방금 설명된 18페이지의 주제가 있습니다.
그런데 디버깅을 위해 컴파일할 때 최적화는 포함되지 않습니다.
이것은 코드 최적화입니다.
metaeditor.ini 필드 [Experts]에 OPTIMIZE=0을 쓰면 컴파일 속도는 4-ke와 동일합니다. 컴파일하는 데 20초가 걸리는 일부 프로젝트가 있으며 일부는 끝없는 최적화 주기에 포함됩니다. :)
정확히! 동시에 나는 한 번 값을 1 로 설정하고 단순히 잊어 버렸습니다. ))
... 그리고 우리는 여기서 고통 받고 있습니다 ... 가장 이상한 것은 개발자가이 옵션에 대해 침묵했다는 것입니다
주제는 x64 플랫폼용 새로운 MQL5 컴파일러 테스트 - 계산 속도를 2배에서 10배까지 향상시키는 것이었습니다. >>>
이것은 내가 방금 잊었다. )
처음에는 이 최적화가 효과가 없었습니다. 즉, 경우에 따라 컴파일이 오류로 종료되었습니다 . 그러나 나는 그럭저럭 그 이유를 찾을 수 있었다 . 그런 다음 수정되었고 터미널 중 하나에서 매개 변수를 1 로 설정하고 잊어 버렸습니다. 그리고 어제 저는 앉아서 한 MT5 편집기에서 컴파일이 다른 MT5 편집기에서보다 훨씬 빠른 이유를 생각했습니다.
//---
이제 0 으로 설정하면 컴파일 속도가 ~25배 빨라집니다.
물론 MetaTrader 5 에서 가장 복잡한 내 프로젝트도 컴파일하는 데 오랜 시간이 걸립니다. 심지어 11 초까지 갑니다. 정확히 같은 버전이지만 MetaTrader 4 에서는 최대 25 배 더 빠릅니다.
MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다. 우리는 이전에 이것을 작성하고 설명했습니다.
MQL5 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 사본을 생성해야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다.
MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다.
또한 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 복사본을 만들어야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다.
고맙습니다. 나는 이미 이 모든 것이 논의된 지점에서 내 기억을 새로 고쳤습니다.
개발 중에는 값을 0 으로 설정하겠습니다. 컴파일해야 하고 10 초 동안 기다려야 하는 일이 매우 자주 발생하기 때문에 지루합니다. 그리고 최종 컴파일 전의 완성품에는 1 을 넣겠습니다.
MT5에서는 컴파일러가 더 발전되어 MT5에서보다 최대 10배 빠르게 작동하도록 코드를 최적화합니다. 우리는 이전에 이것을 작성하고 설명했습니다.
MQL5 컴파일러는 호환성을 위해 이전 32비트 버전(전체 최적화 없음)과 64비트용으로 가장 최적화된 버전의 두 가지 코드 사본을 생성해야 합니다. MQL5의 모든 기능은 64비트에서만 드러납니다.
MetaEditor가 실행되는 동안 OPTIMIZE 매개변수를 변경하면 설정을 승인하기 위해 다시 로드해야 합니까?