[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 321

 
hoz :

https://www.mql5.com/en/forum/144705 여기에서 별도의 지점을 열었습니다. 필요한 모든 것이 거기에 나열되어 있습니다.


예, 전체 소스가 더 재미있습니다. 어디서, 어디서, 도대체 몇 번이고 무엇을 전송하고 있는지 즉시 확인할 수 있습니다. 글쎄, 여기 내 눈을 즉시 사로 잡은 것이 있습니다.

호즈 :
 int GetStateOfMA()
{
   if (GetMA( 1 ) > GetMA( 2 ))
   {
       pr ( "GetStateOfMA() = CROSS_UP" );
       return (CROSS_UP);
   }
       
   if (GetMA( 1 ) < GetMA( 2 ))
   {
       pr ( "GetStateOfMA() = CROSS_DN" );
       return (CROSS_DN);
   }
       
    pr ( "GetStateOfMA() = CROSS_NO" );
     return (CROSS_NO);
}

거의 한 줄로 단순화할 수 있습니다.

 int GetStateOfMA(){
   if (GetMa( 2 )==GetMa( 1 )) return ( 0 ); else return ( MathAbs (GetMA( 2 )-GetMA( 1 ))/(GetMA( 2 )-GetMA( 1 )));
}

여기서 우리는 0 또는 값(더하기 또는 빼기) 간의 차이의 부호를 반환합니다. 보세요: 이 숫자 자체로 나눈 숫자의 계수는 숫자로 나눈 숫자, 즉 1과 실질적으로 동일합니다. 숫자가 음수인 경우에만 빼기 1이 자연스럽게 반환됩니다.

더 이해합니다.

 
gyfto :


예, 전체 소스가 더 재미있습니다. 어디서, 어디서, 도대체 몇 번이고 무엇을 전송하고 있는지 즉시 확인할 수 있습니다. 글쎄, 여기 내 눈을 즉시 사로 잡은 것이 있습니다.

거의 한 줄로 단순화할 수 있습니다.

여기서 우리는 0 또는 값(더하기 또는 빼기) 간의 차이의 부호를 반환합니다. 보세요: 이 숫자 자체로 나눈 숫자의 계수는 숫자로 나눈 숫자, 즉 1과 실질적으로 동일합니다. 숫자가 음수인 경우에만 빼기 1이 자연스럽게 반환됩니다.

더 이해합니다.


두 개의 실수를 비교하는 것이 얼마나 쉬운가요?
 
gyfto :


예, 전체 소스가 더 재미있습니다. 어디서, 어디서, 도대체 몇 번이고 무엇을 전송하고 있는지 즉시 확인할 수 있습니다. 글쎄, 여기 내 눈을 즉시 사로 잡은 것이 있습니다.

거의 한 줄로 단순화할 수 있습니다.

여기서 우리는 0 또는 값(더하기 또는 빼기) 간의 차이의 부호를 반환합니다. 보세요: 이 숫자 자체로 나눈 숫자의 계수는 숫자로 나눈 숫자, 즉 1과 실질적으로 동일합니다. 숫자가 음수인 경우에만 빼기 1이 자연스럽게 반환됩니다.

더 이해합니다.

네, 논리적입니다. 그런데 왜 그렇게 변태적인가? :) gyfto, 그건 그렇고, 나는 모든 것에 보편성을 부여하는 경향이 있기 때문에 당신을 봅니다. 나는 더 말할 것입니다. 여기에 나중에 편차 크기 변수를 추가하여 평균의 작은 교차를 필터링할 수 있습니다. 말하자면 모든 것이 명확하지만 가독성이 특히 편리하지는 않습니다. 결국 함수의 값을 얻을 때 0 과 비교해야 합니다. <0 또는 >0을 입력합니다.

비닌 :

두 개의 실수를 비교하는 것이 얼마나 쉬운가요?

글쎄, 우리가 크기 편차에 관심이 없다면 무엇이 우리를 멈추게합니까? 어디에 명시되어 있습니까?
 
Vinin :

두 개의 실수를 비교하는 것이 얼마나 쉬운가요?

double을 double로 나눈 값은 여전히 두 배이고 return은 int만 반환할 수 있다는 의미에서? 로컬 수준에서 정의하는 것이 가능합니다. int temp; 할당하고 return(temp);
 
gyfto :

double을 double로 나눈 값은 여전히 두 배이고 return은 int만 반환할 수 있다는 의미에서? 로컬 수준에서 정의하는 것이 가능합니다. int temp; 할당하고 return(temp);
계산 후 얻은 두 개의 부동 소수점 수는 거의 같지 않습니다. 또는 오히려, 당신이 그들이 같아야 한다고 생각할 때 그것들이 동등하지 않을 때가 더 많습니다.
 
gyfto :

반환은 int만 반환할 수 있습니까?

아니요. 원하는 대로 되돌릴 수 있습니다. 반드시 int는 아닙니다. 결국 함수가 double 유형인 경우 int를 어떻게 반환합니까?
원칙적으로는 차이가 없으며 가장 중요한 것은 특정 유형의 함수에서 동일한 반환을 반환하는 것입니다. 내가 이해하는 대로.

쥰코 :
계산 후 얻은 두 개의 부동 소수점 수는 거의 같지 않습니다. 또는 오히려, 당신이 그들이 같아야 한다고 생각할 때 그것들이 동등하지 않을 때가 더 많습니다.

글쎄요, 그래서 비교차들 간의 차이를 비교하기 위해 일정한 변수 dist 를 지속적으로 설정해야 합니까? 내 말은 다음과 같습니다.

 extern dist = 0.1 // Расстояние между сравниваемыми машками.
//---------------------------
GetMA( 2 ) - GetMA( 1 ) >= dist;
 
hoz :

모든 것을 보편화하려는 경향.


아니요, 제 심리학에서는 저 자신을 스스로 분석해 보면, 오히려 저를 위한 프로그램이 아니라 사람들을 위한 프로그램을 만들고 싶다는 바람입니다.

호즈 :

왜 그렇게 변태?


당신은 아마 나를 믿지 않을 것입니다. 그러나 그것은 학교 교육이 부족하기 때문입니다. 죄송합니다. 사실 내가 학교를 그만뒀을 때(6학년 때) 그 나이의 아이들은 여전히 어린 시절의 호기심과 지식에 대한 갈증을 가지고 있었습니다. 그런 다음 고등학교에서이 모든 것이 학교 시스템에 의해 죽습니다. 이제 나는 서른이 넘었지만 여전히 이 활발한 호기심을 유지하고 이러한 조건부 제한을 깨닫지 못합니다. "주석"이 무엇이며 "변태"가 무엇인지 알지 못하기 때문입니다. 나를 위해 그것은 모두 "주석"입니다. 죄송합니다...

호즈 :
준코 :
계산 후 얻은 두 개의 부동 소수점 수는 거의 같지 않습니다. 또는 오히려, 당신이 그들이 같아야 한다고 생각할 때 그것들이 동등하지 않을 때가 더 많습니다.


글쎄요, 그래서 비교차들 간의 차이를 비교하기 위해 일정한 변수 dist 를 지속적으로 설정해야 합니까? 내 말은 다음과 같습니다.

 extern dist = 0.1 // Расстояние между сравниваемыми машками.
//---------------------------
GetMA( 2 ) - GetMA( 1 ) >= dist;
예, 모든 것이 정확하고 논리적입니다.
 
gyfto :

당신은 아마 나를 믿지 않을 것입니다. 그러나 그것은 학교 교육의 부족에서 나옵니다. 죄송합니다. 사실 내가 학교를 그만뒀을 때(6학년 때) 그 나이의 아이들은 여전히 어린 시절의 호기심과 지식에 대한 갈증을 가지고 있었습니다. 그런 다음 고등학교에서이 모든 것이 학교 시스템에 의해 죽습니다. 이제 나는 서른이 넘었지만 여전히 이 활발한 호기심을 유지하고 이러한 조건부 제한을 깨닫지 못하고 "주석"이 무엇이며 "변태"가 무엇을 의미하는지 깨닫지 못합니다. 왜냐하면 나를 위해 그것은 모두 "주석"입니다. 죄송합니다...


사실, 나는 일종의 교육을 받았지만, 내가 필요한 것을 현재에 가르쳤고, 나머지는 순전히 무시되었습니다. 그곳에서 많은 것들이 단순히 나에게 흥미롭지 않다는 것이 밝혀졌고 그 진부한 것들이 나를 돌아보게 했습니다(역사, 지리 등). 나는 다른 사람들처럼 생각하지 않습니다. 그러나 당신은 정말로 다른 접근 방식을 가지고 있습니다. 나는 즉시 당신의 교육이없는 것이 아니라 반대로 어떤 것이 있다고 생각했습니다. 왜냐하면 나는 위에서 분석한 것에서 모든 것을 즉시 이해하지 못했습니다.
 
hoz :
접근 방식이 독특하다


즉, 이것은 독학입니다. 평생 독학으로 배웠기 때문에 어떤 접근 방식을 취했는지 모르겠습니다. 무엇이 받아들여지고 무엇이 받아들여지지 않는지 모릅니다.

좋아, 촛불로 돌아가. i_AnyBarsToHistory = 30, i_sequentBarsСount = 3이 있다고 가정합니다. 30개의 촛불 창에서 cntUp == i_sequentBarsСount 및 cntDn == i_sequentBarsСount가 한 번 실행되면 그 다음에는 어떻게 됩니까? 아니면 항상 패스당 하나의 카운터 로만 간주됩니까?

예, 왜 Close[1]에 도달하지 않고 루프를 조기에 종료합니까?

 

도와주세요. 지표가 마지막 막대의 주어진 수를 비교하고 그 중 얼마나 많은 것이 올라갔는지, 얼마나 많은 핀바가 있고 얼마나 많은 핀바가 있는지, 그리고 누가 종가/시가, 고가/저가를 가지고 있는지 계산하는 방법을 알 수 없습니다. 그리고 볼륨?

지표에서 수행해야 합니다.