포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1072

 
안녕하세요, 5 kopecks에 대한 질문))) "&"기호가 함수에 전달될 때 무엇을 의미하는지 말해 주세요. 예: int resolveSection_D1(int & askSection_D1,int & bidSection_D1) ? 고맙습니다.
 
rabanik : 종류 ... 5 kopecks ... "&"는 전송 기능에서 무엇을 의미합니까?

이미지를 마우스 왼쪽 버튼으로 클릭하여 확대하거나 마우스 오른쪽 버튼을 클릭하여 저장합니다

MetaEditor에는 MQL-4 언어에 대한 도움말이 있습니다. 모든 것을 읽거나 적어도 그것을 통해 실행하는 것이 합리적입니다.

 

안녕하세요.

화면에 버튼을 만들고 거기에 Offline Chart의 오프닝을 붙이고 싶습니다. 원하는 오프라인 차트의 경로를 지정할 수 있는 함수는 무엇입니까?

 
안녕하세요. 차트를 10초마다 자동으로 업데이트 하는 방법입니다. "업데이트"버튼을 클릭하지 않을 때마다
 
zert : 차트 업데이트
무효의   OnTimer () // 타이머 에 의해 WindowRedraw(); // 창을 다시 그립니다.
 
LRA :
무효의   OnTimer () // 타이머 에 의해 WindowRedraw(); // 창을 다시 그립니다.
이거 다 어디에 써야할지 모르겠는데 화면에 보여주실 수 있나요?
 
zert : 쓸 곳
사용한 Expert Advisor에 삽입하십시오. 없는 경우 작성해야 합니다. 왜 새로운 별명인가?
 
LRA :

이미지를 마우스 왼쪽 버튼으로 클릭하여 확대하거나 마우스 오른쪽 버튼을 클릭하여 저장합니다

MetaEditor에는 MQL-4 언어에 대한 도움말이 있습니다. 모든 것을 읽거나 적어도 그것을 통해 실행하는 것이 합리적입니다.

답변 해주셔서 감사합니다. 나는 완전히 이해하지 못했습니다. 예를 들어 매개변수가 있는 SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) 함수가 있습니다. 또한 예를 들어 코드에서 어떤 조건에서도 참조하려고 하면 "파라미터가 참조, 변수로 전달됨" 오류가 발생합니다.

나에게 무엇을 하라고 조언합니까? 고맙습니다.

 
rabanik : .... "파라미터가 참조로 전달됨, 변수" 오류를 참조하면.

매개변수가 없는 경우 & 값으로 전달하면 더 안정적입니다. 실제 매개변수가 복사되고 복사본이 함수에 전달됩니다. 함수 내에서 매개변수에 대한 변경 사항은 함수 내에서 그대로 유지됩니다. 함수 호출 사이트의 실제 매개변수는 변경되지 않은 상태로 유지됩니다. 그리고 어떤 경우에도 매개변수의 복사본만 함수에 도달하기 때문에 상수 또는 변수가 전달되는지 여부는 함수에 중요하지 않습니다. 이는 함수 내에서 우발적인 변경으로부터 변수를 보호하기 위해 안정성을 높이기 위해 수행됩니다.

참조로 매개변수를 전달할 때 & 기호가 표시됩니다. 이는 참조가 변수 자체의 주소인 함수에 전달됨을 의미합니다. 그리고 함수는 이 변수를 변경할 수 있으며 이러한 변경 사항은 해당 함수를 호출한 함수 내부의 변수 값에 반영됩니다. 음, 함수가 매개변수의 값을 변경하려면 반드시 변수여야 합니다. 번역가는 아마도 다음과 같이 썼을 것입니다: 참조로 전달된 매개변수, 예상되는 변수 = 참조에 의한 매개변수는 변수여야 합니다

다시 의심스러운 경우 대신 SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) 함수가 호출된 방법 을 작성하는 것이 좋습니다. 숫자를 첫 번째 매개변수로 전달하고 있는 것 같으며 이는 말이 안 됩니다. 귀하의 함수는 이 매개변수에서 브로커의 데이터베이스에 있는 주문 번호를 반환하려고 합니다. 분명히 변수여야 합니다. 의심스러운 경우 기능을 확인하십시오. 그리고 함수가 전달된 숫자를 변경하는 것은 어렵습니다. 이 위치에 변수를 원합니다.

 

예를 들어보면 이해가 더 쉬울까요?

 void OnStart ()
{
 int a = 5 ;
 int b = 7 ;
 int c = f(a, b);
 Print ( "a = " , a, ": b = " , b ": c = " , c);
}

int f( int k , int n)
{
 k += 2 ;
 return (k+n);
}

//результат a = 5 : b = 7: с = 14

다른 변종

 void OnStart ()
{
 int a = 5 ;
 int b = 7 ;
 int c = f(a, b);
 Print ( "a = " , a, ": b = " , b ": c = " , c);
}

int f( int &k , int n)
{
 k += 2 ;
 return (k+n);
}

//результат a = 7 : b = 7: с = 14

차이점이 있습니다.