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

 
Yedelkin :

나는 섹션에서 MQL5 참조 / 언어 기본 / 기능

그러나 컴파일러는 두 번째 줄에 출력합니다. '(' - 세미콜론이 필요합니다.

이것은 무엇을 의미 하는가?

편집의 예에 따라 확인했습니다(첫 번째 전달된 매개변수 교체 포함). 모든 것이 정상이며 오류가 없습니다.

참조에 대한 올바른 예는 다음과 같습니다.

 //function linfunc
double linfunc( double a, double b)
{
return (a + b);
}

나는 첫 번째 중괄호를 둥근 중괄호로 바꿨을 때 한 테스트에서 개인적으로 당신과 같은 메시지를 얻을 수 있습니다 . 그랬더니 이런 메시지가 뜨더라구요

'(' - 세미콜론이 필요함 (세미콜론이 필요함)

괄호(오른쪽, 왼쪽)의 개수가 일치하지 않으면 경고가 나타납니다.

';' - 예상치 못한 토큰
'}' - 세미콜론이 필요합니다.

추신

현재 예제(러시아어 "a" 사용)를 컴파일하려고 하면 예상대로 컴파일러에서 오류가 발생합니다.

'a' - 선언되지 않은 식별자

 
Yedelkin :

당신은 거기에 없는 것을 다른 사람들을 위해 생각해서는 안 됩니다. :) 물론, 기호는 편집기에서 즉시 수정되었습니다. 커서가 여는 괄호 앞에 있고 문자 'a' 앞에 있으면 오류가 발생합니다. 인간으로서 인용된 컴파일러 주석에서 이것을 알아차렸어야 합니다.

질문은 남아 있습니다: https://www.mql5.com/en/forum/1111/page304#comment_48136

설명. 문제는 내가 앉아서 참조 책에서 예제를 바보 같이 컴파일했기 때문이 아니라 작동하는 함수를 만들 때 이 오류에 대한 메시지가 표시되기 때문입니다. 참고서의 예를 참조해도 아무 것도 변경되지 않았습니다. 헤더에서 인수에 대한 설명을 제거할 수도 있습니다. 문제는 남아 있습니다.

예, 그는 오류가 있습니다. 아마도이 예와 관련이 없을 것입니다 ....

전체 코드를 살펴봐야 합니다...

 
Yedelkin :

나는 섹션에서 MQL5 참조 / 언어 기본 / 기능

그러나 컴파일러는 두 번째 줄에 출력합니다. '(' - 세미콜론이 필요합니다.

이것은 무엇을 의미 하는가?

예문에 나온 글자는 수정했는데 정확히 그런 오류는 안나오더군요. 재현할 수 있도록 전체 코드를 제공할 수 있습니까?
 
Rosh :
예문에 나온 글자는 수정했는데 정확히 그런 오류는 안나오더군요. 재현할 수 있도록 전체 코드를 제공할 수 있습니까?

관심을 가져주셔서 감사합니다! 문제는 오류를 유발할 수 있는 "완전한 코드"가 존재하지 않는다는 것입니다. 방금 함수에 인수로 전달되는 외부 변수의 값은 함수(또는 이와 유사한 것 - 일반적으로 자기 교육 분야에서)에 의해 변경될 수 없다는 C++ 교과서의 진술을 확인하기로 결정했습니다. . 검사를 위한 기본 함수를 만들었습니다. 컴파일러에서 오류가 발생했습니다. 참고 서적을 살펴보고 예제를 복사하고 예제의 기호를 수정했습니다. 여전히 동일한 오류가 발생했습니다. 스크립트 템플릿과 전문가 템플릿 모두에 함수를 삽입하려고 했습니다. 오류는 변경되지 않습니다. 사실 "완전한 코드" 는 onTick() 또는 onStart() 함수의 빈 본문에 삽입된 예제의 함수로만 구성됩니다.

저녁에 그런 유사 완성 코드를 게시할 예정이지만 도움이 될지 모르겠습니다. 또한 컴퓨터가 일주일 동안 "절전 및 뒤로" 모드로 사용되었기 때문에 컴퓨터를 재부팅하려고 합니다.

 
Rosh :
예문에 나온 글자는 수정했는데 정확히 그런 오류는 안나오더군요. 재현할 수 있도록 전체 코드를 제공할 수 있습니까?
 void OnStart ()
  {
   double                        // тип возвращаемого значения
   linfunc ( double a, double b)   // имя функции и список параметров
     {
                               // составной оператор
       return (a + b);           // возвращаемое значение
     }
  }
어떻게든 재생산합니다.
 
Swan :
어떻게든 재생산합니다.

글쎄, 당신은 다른 내에서 하나의 기능을 정의하려고합니다 - 그것은 허용되지 않습니다. 함수 호출 섹션에는 다음과 같이 명시되어 있습니다.

함수는 전역 수준 의 프로그램 어디에서나 선언하거나 선언할 수 있습니다. 즉, 다른 함수 외부입니다. 함수는 다른 함수 내에서 선언하거나 선언할 수 없습니다.

 
Rosh :

글쎄, 당신은 다른 내에서 하나의 기능을 정의하려고합니다 - 그것은 허용되지 않습니다. 함수 호출 섹션에는 다음과 같이 명시되어 있습니다.

설명 감사합니다! 정확히 내 경우.

이론적 지식은 아직 실제 적용의 정확성을 보장하지 않습니다. :) 내 단점.

 

빌드 392.

차트 삭제 시 삭제된 차트 목록에 포함되지 않습니다. 메뉴 항목 "파일">"원격 열기"가 작동하지 않는 것으로 나타났습니다.

차트를 확장하는 대신 실수로 닫고 원격 차트에서 보기를 희망했지만 ...

 
Ashes :

빌드 392.

차트 삭제 시 삭제된 차트 목록에 포함되지 않습니다. 메뉴 항목 "파일">"원격 열기"가 작동하지 않는 것으로 나타났습니다.

차트를 확장하는 대신 실수로 닫고 원격 차트에서 보기를 희망했지만 ...

체크박스 체크


 

일부 에이전트는 원격으로 시작되지 않습니다. 다음은 로그입니다.

LE       0        5.0 . 6.84          14 : 51 : 19         login (build 392 )
HN       2        Tester   14 : 51 : 20         initial synchronization error
JF       2        5.0 . 6.84          14 : 51 : 20         send error 10038
LJ       0        Tester   14 : 51 : 20         tester agent shutdown
KO       0        5.0 . 6.84          15 : 25 : 41         login (build 392 )
HD       2        Tester   15 : 25 : 42         initial synchronization error
NM       0        Tester   15 : 25 : 42         tester agent shutdown
HM       0        127.0 . 0.1        15 : 36 : 37         login (build 392 )
FK       0        Network 15 : 36 : 38          2548 bytes of optimization passes loaded
HM       0        Network 15 : 36 : 38          16 bytes of input parameters loaded
HE       0        Network 15 : 36 : 38          3788 bytes of group info loaded
GP       0        Network 15 : 36 : 38          3358 bytes of tester parameters loaded
HG       0        Network 15 : 36 : 38          2948 bytes of input parameters loaded
KL       0        Network 15 : 36 : 38          671 bytes of selected symbols loaded
CD       0        Tester   15 : 36 : 38         expert file added: Experts\MyExperts\ExpCrossEMA.ex5. 133395 bytes loaded
QS       0        Tester   15 : 36 : 38         initial deposit 5000.00 USD, leverage 1 : 100
PJ       0        Tester   15 : 36 : 38         successfully initialized
NP       0        Network 15 : 36 : 38          146 Kb of total initialization data received
MG       0        Tester   15 : 36 : 38         optimization pass 393 started
LR       0        TesterAgent     15 : 36 : 38         Intel Core2 Duo  E8200 @ 2.66 GHz, 2047 MB, PR49
DI       0        Symbols 15 : 36 : 40         EURUSD: symbol synchronized, 2904 bytes of symbol info received
QS       0        History 15 : 36 : 40         EURUSD: load 704 Kb of history data to synchronize
OF       0        History 15 : 36 : 40         EURUSD: history synchronized from 2009.01 . 02 to 2011.01 . 31
KK       0        History 15 : 36 : 42         EURUSD: contains 366322 M1 records of beginning data from 2009.01 . 02 10 : 00 to 2009.12 . 31 18 : 59
CH       0        History 15 : 36 : 42         EURUSD,M5: history cache reserved for estimated 150171 bars
JO       0        History 15 : 36 : 42         EURUSD,M5: history begins from 2009.01 . 02 10 : 00
NK       0        Tester   15 : 36 : 42         EURUSD,M5 (Alpari-Demo): every tick generating
KS       0        Tester   15 : 36 : 42         EURUSD,M5: testing of Experts\MyExperts\ExpCrossEMA.ex5 from 2010.01 . 01 00 : 00 to 2011.01 . 01 00 : 00 started with inputs:
PN       0        Tester   15 : 36 : 42           Inp_Signal_CrossEMA_FastPeriod= 30
GG       0        Tester   15 : 36 : 42           Inp_Signal_CrossEMA_SlowPeriod= 18
DS       0        Tester   15 : 36 : 42           Inp_Expert_Title=ExpCrossEMA
MK       0        Tester   15 : 36 : 42           Inp_Money_FixLot_Percent= 10
FM       0        Tester   15 : 36 : 42           Inp_Money_FixLot_Lots= 0.1
GO       0        ExpCrossEMA (EURUSD,M5) 15 : 36 : 42          2010.01 . 01 00 : 00 : 00    CSignalCrossEMA::ValidationSettings: period of slow EMA must be greater than period of fast EMA
RF       0        ExpCrossEMA (EURUSD,M5) 15 : 36 : 42          2010.01 . 01 00 : 00 : 00    OnInit: error signal parameters
DM       2        Tester   15 : 36 : 42         tester stopped because OnInit failed
FG       0        Network 15 : 36 : 42          16 bytes of tester parameters received
PR       0        Tester   15 : 36 : 42         optimization pass 1817 started
FK       0        Tester   15 : 36 : 42         initial deposit 5000.00 USD, leverage 1 : 100
FL       0        Tester   15 : 36 : 44         EURUSD,M5 (Alpari-Demo): every tick generating
GE       0        Tester   15 : 36 : 44         EURUSD,M5: testing of Experts\MyExperts\ExpCrossEMA.ex5 from 2010.01 . 01 00 : 00 to 2011.01 . 01 00 : 00 started with inputs:
GE       0        Tester   15 : 36 : 44           Inp_Signal_CrossEMA_FastPeriod= 28
KM       0        Tester   15 : 36 : 44           Inp_Signal_CrossEMA_SlowPeriod= 49
DJ       0        Tester   15 : 36 : 44           Inp_Expert_Title=ExpCrossEMA
IM       0        Tester   15 : 36 : 44           Inp_Money_FixLot_Percent= 10
RF       0        Tester   15 : 36 : 44           Inp_Money_FixLot_Lots= 0.1
GO       0        Tester   15 : 36 : 45         output to log disabled
IO       0        Tester   15 : 37 : 10         OnTester result 0

localhost를 통해 이 에이전트는 로컬에서 작동합니다.

이유는 무엇입니까?