MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 737 1...730731732733734735736737738739740741742743744...1953 새 코멘트 novichok2018 2019.01.16 16:12 #7361 Alexey Viktorov : 두 번째 차원에서 NewsArr 배열의 차원은 얼마입니까? 불행히도, 나는 이해하지 못했습니다. 두 번째 차원은 무엇입니까? 그리고 아마도 이해했을 것입니다. NewsArr은 0,1,2 및 3 값을 사용합니다. 그게 다인가요? 아마도 다음과 같습니다. string NewsArr[4][1000]; Alexey Viktorov 2019.01.16 16:51 #7362 novichok2018 : 불행히도, 나는 이해하지 못했습니다. 두 번째 차원은 무엇입니까? 그리고 아마도 이해했을 것입니다. NewsArr은 0,1,2 및 3 값을 사용합니다. 그게 다인가요? 아마도 다음과 같습니다. string NewsArr [4] [1000] ; 첫 번째 차원 과 두 번째 차원 . 하지만 뭔가가 답이 아닐 수도 있습니다. novichok2018 2019.01.16 17:01 #7363 Alexey Viktorov : 첫 번째 차원 과 두 번째 차원 . 하지만 뭔가가 답이 아닐 수도 있습니다. 그리고 2차원의 차원은 어디에서 찾아야 할까요? 아니면 첫 번째 차원의 차원이 4이고 두 번째 차원이 1000입니까? Alexey Viktorov 2019.01.16 17:10 #7364 novichok2018 : 그리고 2차원의 차원은 어디에서 찾아야 할까요? 아니면 첫 번째 차원의 차원이 4이고 두 번째 차원이 1000입니까? 네. 그런데 이 글에는 뭔가 문제가 있습니다. 거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼 MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 novichok2018 , 2019.01.16 15:52 아무도 대답하지 않기 때문에 질문이 어리석은 것일 수 있지만 고문의 작업을 중지하고 컴파일 후 다시 시작하는 방법은 무엇입니까? 플랫폼이 메시지를 발행합니다: 배열이 범위를 벗어났습니다(284,17). 284행: NewsArr[0][NomNews]=StringSubstr(TEXT,sh,sh2-sh); 위치 17은 NomNews, cat으로 대괄호를 엽니다. 글로벌 시작 0. 0에서 1로 변경되어 아무 소용이 없습니다. if(NomNews==300)break; 줄에서 변경됨 300 이상 360,000, 아무 소용이 없습니다. 나는 컴파일 - 몇 분 동안 잘 작동합니다. 그리고 어떻게 해야 할까요? 2차원 값의 개수가 1000이고 if (NomNews== 300 ) break ; 두 번째 차원에는 범위를 벗어난 배열이 있을 수 없습니다. Any questions from newcomers 오류, 버그, 질문 Metatrader 5로 시작하는 방법 Ilya Prozumentov 2019.01.16 17:31 #7365 psyman : 앵커 포인트가 없고 수직 이동만 있고 화면 너비를 통해 수평을 한 번 설정합니다. 다른 쪽에서 세는 것은 문제가 아니지만 다른 기능에서 동일한 작업이 다르게 수행되는 것은 놀라운 일입니다. 그리고 또 다른 질문이 있습니다. Bid가 레이블의 텍스트로 표시되는 경우 OnChartEvent 또는 OnCalculate 중 어떤 기능에서 이 작업을 수행하는 것이 더 적합합니까? OBJ_LABEL에는 지정하지 않은 경우에도 앵커 포인트 가 있으며 기본적으로 왼쪽 상단 모서리입니다. OnCalculate에서 입찰가를 변경하고 레이블에서 텍스트를 변경합니다. novichok2018 2019.01.16 19:08 #7366 Alexey Viktorov : 네. 하지만 이 글에는 뭔가 문제가 있습니다. 2차원 값의 개수가 1000이고 두 번째 차원에는 범위를 벗어난 배열이 있을 수 없습니다. 아니, 나는 아무것도 엉망이 된 것 같지 않았다. 복사된 메시지는 다음과 같습니다. 2019.01.16 20:14:11.110 OnNews_M5_EURUSD EURUSD,M5: 'OnNews_M5_EURUSD.mq4'(284.17)의 범위를 벗어난 배열입니다. 글쎄, 나는 위의 284행을 보여주었다. Artyom Trishkin 2019.01.16 19:15 #7367 novichok2018 : 아니, 나는 아무것도 엉망이 된 것 같지 않았다. 복사된 메시지는 다음과 같습니다. 2019.01.16 20:14:11.110 OnNews_M5_EURUSD EURUSD,M5: 'OnNews_M5_EURUSD.mq4'(284.17)의 범위를 벗어난 배열입니다. 글쎄, 나는 위의 284행을 보여주었다. 위치 17은 NomNews( 고양이)로 대괄호를 엽니다. 0 에 의해 전역적으로 시작됩니다 . 글쎄, 당신은 0의 두 번째 차원에서 배열 셀의 크기를 가지고 있다는 것이 밝혀졌습니다 ... novichok2018 2019.01.16 19:33 #7368 Artyom Trishkin : 글쎄, 당신은 0의 두 번째 차원에서 배열 셀의 크기를 가지고 있다는 것이 밝혀졌습니다 ... NomNews의 위치는 다음과 같습니다. 날짜 시간 TimeNewsFunck(int nomf) { 문자열 s=NewsArr[0][nomf]; 문자열 시간=StringConcatenate( StringSubstr (s,0,4),".",StringSubstr(s,5,2),".",StringSubstr(s,8,2)," ",StringSubstr(s,11,2 ),":",StringSubstr(s,14,4)); return((날짜 시간)(StringToTime(시간) + GMTplus*3600)); } //345678901234567890//////////////////////////////////////////////// /////////////////////////////////// 무효 UpdateNews() { 문자열 TEXT=ReadCBOE(); int sh = StringFind(TEXT,"pageStartAt>")+12; int sh2= 문자열 찾기(텍스트,"</tbody>"); TEXT=StringSubstr(TEXT,sh,sh2-sh); 쉬=0; 동안(!Isstopped()) { sh = StringFind(TEXT,"event_timestamp",sh)+17; sh2= StringFind(TEXT,"onclick",sh)-2; if(sh<17 || sh2<0)중단; NewsArr[0][NomNews]=StringSubstr(TEXT,sh,sh2-sh); sh = StringFind(텍스트,"flagCur",sh)+10; sh2=sh+3; if(sh<10 || sh2<3)중단; NewsArr[1][NomNews]=StringSubstr(TEXT,sh,sh2-sh); if(OnlySymbolNews && StringFind(ValStr,NewsArr[1][NomNews])<0)계속; sh = 문자열 찾기(텍스트,"제목",sh)+7; sh2= StringFind(TEXT,"변동성",sh)-1; if(sh<7 || sh2<0)중단; NewsArr[2][NomNews]=StringSubstr(TEXT,sh,sh2-sh); if(StringFind(NewsArr[2][NomNews],"High")>=0 && !HighNews)continue; if(StringFind(NewsArr[2][NomNews],"보통")>=0 && !MidleNews)continue; if(StringFind(NewsArr[2][NomNews],"낮음")>=0 && !LowNews)continue; sh=StringFind(TEXT,"왼쪽 이벤트",sh)+12; int sh1=StringFind(TEXT,"말합니다",sh); sh2=문자열찾기(텍스트,"<",sh); if(sh<12 || sh2<0)중단; if(sh1<0 || sh1>sh2)NewsArr[3][NomNews]=StringSubstr(TEXT,sh,sh2-sh); else NewsArr[3][NomNews]=StringSubstr(TEXT,sh,sh1-sh); 놈뉴스++; if(NomNews==300)중단; } } 0에서 300 사이의 값. 전역적으로 4로 설정하시겠습니까? Any questions from newcomers 뉴스 표시기가 Windows 7에서 Why is the news novichok2018 2019.01.16 19:56 #7369 novichok2018 : 0에서 300 사이의 값. 전역적으로 4로 설정하시겠습니까? 모두 동일하게 작동 12분에 메시지를 표시합니다. Ilya Prozumentov 2019.01.16 20:24 #7370 novichok2018 : 모두 동일하게 작동 12분에 메시지를 표시합니다. 내가 말할 수 있는 모든 것에서 NomNews는 이미 999보다 큰 상태에서 While 루프에 들어갑니다. 그런 다음 이 문제를 일으키는 원인을 찾고 이 변수를 어딘가에서 재설정해야 합니다. 이를 확인하려면 루프의 맨 처음에 다음을 입력하십시오. if (NomNews > 999 ) { Print (NomNews); break ; } 1...730731732733734735736737738739740741742743744...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
두 번째 차원에서 NewsArr 배열의 차원은 얼마입니까?
불행히도, 나는 이해하지 못했습니다. 두 번째 차원은 무엇입니까?
그리고 아마도 이해했을 것입니다. NewsArr은 0,1,2 및 3 값을 사용합니다. 그게 다인가요?
아마도 다음과 같습니다. string NewsArr[4][1000];
불행히도, 나는 이해하지 못했습니다. 두 번째 차원은 무엇입니까?
그리고 아마도 이해했을 것입니다. NewsArr은 0,1,2 및 3 값을 사용합니다. 그게 다인가요?
아마도 다음과 같습니다. string NewsArr [4] [1000] ;
첫 번째 차원 과 두 번째 차원 .
하지만 뭔가가 답이 아닐 수도 있습니다.첫 번째 차원 과 두 번째 차원 .
하지만 뭔가가 답이 아닐 수도 있습니다.그리고 2차원의 차원은 어디에서 찾아야 할까요?
아니면 첫 번째 차원의 차원이 4이고 두 번째 차원이 1000입니까?그리고 2차원의 차원은 어디에서 찾아야 할까요?
아니면 첫 번째 차원의 차원이 4이고 두 번째 차원이 1000입니까?네. 그런데 이 글에는 뭔가 문제가 있습니다.
거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼
MQL4에 대한 모든 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론
novichok2018 , 2019.01.16 15:52
아무도 대답하지 않기 때문에 질문이 어리석은 것일 수 있지만 고문의 작업을 중지하고 컴파일 후 다시 시작하는 방법은 무엇입니까?
플랫폼이 메시지를 발행합니다: 배열이 범위를 벗어났습니다(284,17).
284행: NewsArr[0][NomNews]=StringSubstr(TEXT,sh,sh2-sh); 위치 17은 NomNews, cat으로 대괄호를 엽니다. 글로벌 시작 0.
0에서 1로 변경되어 아무 소용이 없습니다.
if(NomNews==300)break; 줄에서 변경됨 300 이상 360,000, 아무 소용이 없습니다.
나는 컴파일 - 몇 분 동안 잘 작동합니다. 그리고 어떻게 해야 할까요?
2차원 값의 개수가 1000이고
두 번째 차원에는 범위를 벗어난 배열이 있을 수 없습니다.앵커 포인트가 없고 수직 이동만 있고 화면 너비를 통해 수평을 한 번 설정합니다. 다른 쪽에서 세는 것은 문제가 아니지만 다른 기능에서 동일한 작업이 다르게 수행되는 것은 놀라운 일입니다.
그리고 또 다른 질문이 있습니다. Bid가 레이블의 텍스트로 표시되는 경우 OnChartEvent 또는 OnCalculate 중 어떤 기능에서 이 작업을 수행하는 것이 더 적합합니까?
OBJ_LABEL에는 지정하지 않은 경우에도 앵커 포인트 가 있으며 기본적으로 왼쪽 상단 모서리입니다. OnCalculate에서 입찰가를 변경하고 레이블에서 텍스트를 변경합니다.
네. 하지만 이 글에는 뭔가 문제가 있습니다.
2차원 값의 개수가 1000이고
두 번째 차원에는 범위를 벗어난 배열이 있을 수 없습니다.아니, 나는 아무것도 엉망이 된 것 같지 않았다. 복사된 메시지는 다음과 같습니다. 2019.01.16 20:14:11.110 OnNews_M5_EURUSD EURUSD,M5: 'OnNews_M5_EURUSD.mq4'(284.17)의 범위를 벗어난 배열입니다.
아니, 나는 아무것도 엉망이 된 것 같지 않았다. 복사된 메시지는 다음과 같습니다. 2019.01.16 20:14:11.110 OnNews_M5_EURUSD EURUSD,M5: 'OnNews_M5_EURUSD.mq4'(284.17)의 범위를 벗어난 배열입니다.
위치 17은 NomNews( 고양이)로 대괄호를 엽니다. 0 에 의해 전역적으로 시작됩니다 .
글쎄, 당신은 0의 두 번째 차원에서 배열 셀의 크기를 가지고 있다는 것이 밝혀졌습니다 ...
글쎄, 당신은 0의 두 번째 차원에서 배열 셀의 크기를 가지고 있다는 것이 밝혀졌습니다 ...
NomNews의 위치는 다음과 같습니다.
날짜 시간 TimeNewsFunck(int nomf)
{
문자열 s=NewsArr[0][nomf];
문자열 시간=StringConcatenate( StringSubstr (s,0,4),".",StringSubstr(s,5,2),".",StringSubstr(s,8,2)," ",StringSubstr(s,11,2 ),":",StringSubstr(s,14,4));
return((날짜 시간)(StringToTime(시간) + GMTplus*3600));
}
//345678901234567890//////////////////////////////////////////////// ///////////////////////////////////
무효 UpdateNews()
{
문자열 TEXT=ReadCBOE();
int sh = StringFind(TEXT,"pageStartAt>")+12;
int sh2= 문자열 찾기(텍스트,"</tbody>");
TEXT=StringSubstr(TEXT,sh,sh2-sh);
쉬=0;
동안(!Isstopped())
{
sh = StringFind(TEXT,"event_timestamp",sh)+17;
sh2= StringFind(TEXT,"onclick",sh)-2;
if(sh<17 || sh2<0)중단;
NewsArr[0][NomNews]=StringSubstr(TEXT,sh,sh2-sh);
sh = StringFind(텍스트,"flagCur",sh)+10;
sh2=sh+3;
if(sh<10 || sh2<3)중단;
NewsArr[1][NomNews]=StringSubstr(TEXT,sh,sh2-sh);
if(OnlySymbolNews && StringFind(ValStr,NewsArr[1][NomNews])<0)계속;
sh = 문자열 찾기(텍스트,"제목",sh)+7;
sh2= StringFind(TEXT,"변동성",sh)-1;
if(sh<7 || sh2<0)중단;
NewsArr[2][NomNews]=StringSubstr(TEXT,sh,sh2-sh);
if(StringFind(NewsArr[2][NomNews],"High")>=0 && !HighNews)continue;
if(StringFind(NewsArr[2][NomNews],"보통")>=0 && !MidleNews)continue;
if(StringFind(NewsArr[2][NomNews],"낮음")>=0 && !LowNews)continue;
sh=StringFind(TEXT,"왼쪽 이벤트",sh)+12;
int sh1=StringFind(TEXT,"말합니다",sh);
sh2=문자열찾기(텍스트,"<",sh);
if(sh<12 || sh2<0)중단;
if(sh1<0 || sh1>sh2)NewsArr[3][NomNews]=StringSubstr(TEXT,sh,sh2-sh);
else NewsArr[3][NomNews]=StringSubstr(TEXT,sh,sh1-sh);
놈뉴스++;
if(NomNews==300)중단;
}
}
0에서 300 사이의 값. 전역적으로 4로 설정하시겠습니까?
0에서 300 사이의 값. 전역적으로 4로 설정하시겠습니까?
모두 동일하게 작동 12분에 메시지를 표시합니다.
모두 동일하게 작동 12분에 메시지를 표시합니다.
내가 말할 수 있는 모든 것에서 NomNews는 이미 999보다 큰 상태에서 While 루프에 들어갑니다. 그런 다음 이 문제를 일으키는 원인을 찾고 이 변수를 어딘가에서 재설정해야 합니다.
이를 확인하려면 루프의 맨 처음에 다음을 입력하십시오.