잘못 생각해. 변수를 함수 인수로 전달하면 함수 본문에서 선언할 필요가 없습니다. 이미 인수에 선언되어 있습니다. 전달되는 함수를 선언해야 합니다.
시작 함수에서 전달하든 다른 함수에서 전달하든 상관없다는 뜻입니다. 또 다른 기능.
이 경우 Double GetPriceToInput(int signal) 함수에서 변수를 선언하고 동일한 double GetPriceToInput(int signal) 함수에서 선언된 priceForSell 및 priceForBuy 변수를 참조하여 bool Trade(int signal, double& priceForBuy, double& priceForSell)에 전달했습니다. 기능 .
이 함수를 시작 함수에 추가했는데 이미 정의되어 있지 않습니다. 이 문제를 해결하는 방법을 이해하고 싶습니다.
물론 시작할 때 말씀하신 대로 이 2개의 변수를 선언할 수 있지만 이중 GetPriceToInput(int signal) 함수에서 직접 전송할 수도 있습니다 . 그게 내 말이야.
이 경우 Double GetPriceToInput(int signal) 함수에서 변수를 선언하고 동일한 double GetPriceToInput(int signal) 함수에서 선언된 priceForSell 및 priceForBuy 변수를 참조하여 bool Trade(int signal, double& priceForBuy, double& priceForSell)에 전달했습니다. 기능 .
이 함수를 시작 함수에 추가했는데 이미 정의되어 있지 않습니다. 이 문제를 해결하는 방법을 이해하고 싶습니다.
다음과 같이 컴파일될 수 있습니다.
코드의 구조가 어떻게 든 "왼쪽"이지만 ...
글쎄.. 내가 썼다. 첫 번째 특종을 노래하십시오. :)
나는 약간 전문가를 다시 썼다. 다음은 일어난 일입니다.
그건 그렇고, 오류 :
시작 함수에서 정확하게 발생하지만 이러한 변수는 정의되지 않았으며 어딘가에 있지도 않습니다. 더. 시작 하려면 무언가를 추가해야 합니까?
그건 그렇고, 오류 :
시작 함수에서 정확하게 발생하지만 이러한 변수는 정의되지 않았으며 어딘가에 있지도 않습니다. 더. 시작 하려면 무언가를 추가해야 합니까?
start()에서 정의하고 참조에 의해 호출된 함수에 전달해야 합니다.
이것은 가장 쉬운 옵션입니다. 그러나 한 프로그래머의 기사를 보고 있는데 그의 시작 기능에 아무 것도 선언되어 있지 않습니다.
그의 고문에 대한 링크는 다음과 같습니다.
http://www.forextrade.ru/media/Image/MQLabs/181_ag/ChannelByMACross_Expert.mq4
특히 그가 코드를 능숙하게 작성하는 방법에 매우 관심이 있습니다. 따라서 모든 것을 별도의 함수로 작성하는 방법을 배우고 거기에 변수를 선언하지 않고 시작 하는 데 가장 필요한 것만 추가하고 싶습니다.
결국 함수에 대한 참조로 변수를 전달하면 별도의 double이 아닌 전달하는 원래 변수 자체의 버퍼로 작업합니다. 따라서 이전에 어떤 함수에서 선언했는지는 중요하지 않습니다. 안 그래?
이것은 가장 쉬운 옵션입니다. 그러나 한 프로그래머의 기사를 보고 있는데 그의 시작 기능에 아무 것도 선언되어 있지 않습니다.
함수 외부 에서 정적 변수 를 선언할 수 있으며 참조로 아무 것도 전달할 필요가 없습니다.
결국 함수에 대한 참조로 변수를 전달하면 별도의 double이 아닌 전달하는 원래 변수 자체의 버퍼로 작업합니다. 따라서 이전에 어떤 함수에서 선언했는지는 중요하지 않습니다. 안 그래?
이것은 가장 쉬운 옵션입니다. 그러나 한 프로그래머의 기사를 보고 있는데 그의 시작 기능에 아무 것도 선언되어 있지 않습니다.
그의 고문에 대한 링크는 다음과 같습니다.
http://www.forextrade.ru/media/Image/MQLabs/181_ag/ChannelByMACross_Expert.mq4
특히 그가 코드를 능숙하게 작성하는 방법에 매우 관심이 있습니다. 따라서 모든 것을 별도의 함수로 작성하는 방법을 배우고 거기에 변수를 선언하지 않고 시작 하는 데 가장 필요한 것만 추가하고 싶습니다.
결국 함수에 대한 참조로 변수를 전달하면 별도의 double이 아닌 전달하는 원래 변수 자체의 버퍼로 작업합니다. 따라서 이전에 어떤 함수에서 선언했는지는 중요하지 않습니다. 안 그래?
글도 잘썼다
읽다
예, 라인을 변경하십시오.
if (!Trade(signal, priceForBuy, priceForSell))에
if (!GetPriceToInput (signal))이미 Diman이 되면 PERSONAL 캠프를 마스터하시겠습니까? :-)
정말 1년 동안 실생활에서 아직 반죽을 자르지 않았습니까? 같은 곳에서 STARTING 금액이 허약한 당신에게 할당되지 않은 것 같습니까? :-)
곧.
함수 외부에서 정적 변수를 선언할 수 있으며 참조로 아무 것도 전달할 필요가 없습니다.
잘못 생각해. 변수를 함수 인수로 전달하면 함수 본문에서 선언할 필요가 없습니다. 이미 인수에 선언되어 있습니다. 전달되는 함수를 선언해야 합니다.시작 함수에서 전달하든 다른 함수에서 전달하든 상관없다는 뜻입니다. 또 다른 기능.
이 경우 Double GetPriceToInput(int signal) 함수에서 변수를 선언하고 동일한 double GetPriceToInput(int signal) 함수에서 선언된 priceForSell 및 priceForBuy 변수를 참조하여 bool Trade(int signal, double& priceForBuy, double& priceForSell)에 전달했습니다. 기능 .
이 함수를 시작 함수에 추가했는데 이미 정의되어 있지 않습니다. 이 문제를 해결하는 방법을 이해하고 싶습니다.
물론 시작할 때 말씀하신 대로 이 2개의 변수를 선언할 수 있지만 이중 GetPriceToInput(int signal) 함수에서 직접 전송할 수도 있습니다 . 그게 내 말이야.
시작 함수에서 전달하든 다른 함수에서 전달하든 상관없다는 뜻입니다. 또 다른 기능.
이 경우 Double GetPriceToInput(int signal) 함수에서 변수를 선언하고 동일한 double GetPriceToInput(int signal) 함수에서 선언된 priceForSell 및 priceForBuy 변수를 참조하여 bool Trade(int signal, double& priceForBuy, double& priceForSell)에 전달했습니다. 기능 .
이 함수를 시작 함수에 추가했는데 이미 정의되어 있지 않습니다. 이 문제를 해결하는 방법을 이해하고 싶습니다.
그것들을 어디로 전달했고 전달되지 않은 곳에 값을 할당하는 이유는 무엇입니까?
그것들을 어디로 전달하고 어디에 값을 할당합니까?
글쎄, 나는 double GetPriceToInput(int signal) 함수에서 변수의 값을 얻었다
여기:
double priceForSell = secondBarClosed - deltaForSell;double priceForBuy = secondBarClosed + deltaForBuy;다음 값을 반환합니다.
return (priceForSell);return (priceForBuy);저것들. 값은 이미 f-tsiya에서 이러한 변수를 반환했습니다.
그런 다음 bool Trade(int signal, double& priceForBuy, double& priceForSell) 함수를 참조하여 이 값을 보냅니다.
여기 모든 것이 분명합니다!