오류, 버그, 질문 - 페이지 1437 1...143014311432143314341435143614371438143914401441144214431444...3184 새 코멘트 Ilyas 2015.11.24 15:15 #14361 MathIsValidNumber Документация по MQL5: Математические функции / MathIsValidNumber www.mql5.com Математические функции / MathIsValidNumber - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Ilyas 2015.11.24 15:16 #14362 MQL5 코드에 대한 보다 적극적인 옵티마이저로 인해 동작이 다릅니다. Ilya Malev 2015.11.24 15:22 #14363 Ilyas : MathIsValidNumber 고마워, 몰랐어 Ilya Malev 2015.11.24 15:30 #14364 Ilyas : MQL5 코드에 대한 보다 적극적인 옵티마이저로 인해 동작이 다릅니다. 그리고 MT4는 더 똑똑한 것으로 판명되어 "통합 상수 오버플로" 경고를 발행한 반면 MT5는 침묵했습니다. Slava 2015.11.24 16:35 #14365 Ilya Malev : 1. 이 코드가 MT4와 MT5에서 다른 결과를 초래하는 이유는 무엇입니까(MT4에서 더 논리적임)? 문서 읽기 MQL4의 EMPTY_VALUE 는 무엇입니까? Прочие константы - Документация на MQL4 docs.mql4.com Прочие константы - Документация на MQL4 Vladimir Karputov 2015.11.24 17:43 #14366 Сергей Таболин : 다음 줄이 "범위를 벗어남"(첫 번째 호출에서) 오류가 발생하는 이유를 알려주십시오. 발표 - 발표되었지만 누가 buf_ldn[ldn] 버퍼를 채울 것인가? Dina Paches 2015.11.24 17:59 #14367 Сергей Таболин : pr_open 및 pr_close가 처음 액세스될 때 어떤 값을 갖는지 확인하십시오. Vladimir Pastushak 2015.11.24 17:59 #14368 Сергей Таболин : 결국 이것은 채우기입니다. 아니면 내가 놓친 것이 있습니까? 배열을 선언했지만 배열 의 크기를 지정하지 않았습니다... 정적 예 int buf_lup[1000], buf_ldn[20000]; Maxim Khrolenko 2015.11.24 18:02 #14369 Сергей Таболин : 결국 이것은 채우기입니다. 아니면 내가 놓친 것이 있습니까? 아니요, 이것은 배열을 채우는 것이 아닙니다. 또한 ldn = 0이면; 그런 다음 [ ]에 0을 대입하여 배열에 0개의 요소를 선언했습니다. 단 하나의 요소도 없습니다. MQL5 프로그래밍 기본 사항 - 배열 문서에서 배열에 대해 읽어보십시오. Vladimir Karputov 2015.11.24 18:05 #14370 Сергей Таболин : 결국 이것은 채우기입니다. 아니면 내가 놓친 것이 있습니까? 채우기 전에 배열의 크기를 설정해야 합니다. (배열 크기 조정). 간단한 예: //+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2015, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2015, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property script_show_inputs input bool show_error= true ; // true - выполнить с ишибкой //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { int buf_ldn[]; // объявили динамический массив. Print ( "Размер массива buf_ldn[]=" , ArraySize (buf_ldn)); // выведем на печать размер массива if (show_error) { //--- попытка присвоить значение элементу массива с индексом "0" вызовет ошибку: //--- Test (EURUSD,M15) array out of range in 'Test.mq5' (22,14) buf_ldn[ 0 ]= 1 ; } else { //--- установим новый размер массива: ArrayResize (buf_ldn, 1 ); //--- попытка присвоить значение элементу массива с индексом "0" НЕ вызовет ошибку: buf_ldn[ 0 ]= 1 ; //--- выведем на печать размер массива и значение элемента с индексом "0" Print ( "Размер массива buf_ldn[]=" , ArraySize (buf_ldn), ", элемент с индексом " "0" " имеет значение:" ,buf_ldn[ 0 ]); } } //+------------------------------------------------------------------+ 파일: Test.mq5 2 kb 1...143014311432143314341435143614371438143914401441144214431444...3184 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
MathIsValidNumber
MQL5 코드에 대한 보다 적극적인 옵티마이저로 인해 동작이 다릅니다.
1. 이 코드가 MT4와 MT5에서 다른 결과를 초래하는 이유는 무엇입니까(MT4에서 더 논리적임)?
문서 읽기
MQL4의 EMPTY_VALUE 는 무엇입니까?
다음 줄이 "범위를 벗어남"(첫 번째 호출에서) 오류가 발생하는 이유를 알려주십시오.
결국 이것은 채우기입니다.
아니면 내가 놓친 것이 있습니까?
배열을 선언했지만 배열 의 크기를 지정하지 않았습니다...
정적 예 int buf_lup[1000], buf_ldn[20000];
결국 이것은 채우기입니다.
아니면 내가 놓친 것이 있습니까?
결국 이것은 채우기입니다.
아니면 내가 놓친 것이 있습니까?
채우기 전에 배열의 크기를 설정해야 합니다. (배열 크기 조정). 간단한 예: