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

[Deleted]  
모두 좋은 하루 되세요. 두 개의 MA가 차트에서 여러 번 교차합니다. 각 MA 교차 후 막대의 수 를 셀 수 있습니까?
 
MK07 :
모두 좋은 하루 되세요. 두 개의 MA가 차트에서 여러 번 교차합니다. 각 MA 교차 후 막대의 수를 셀 수 있습니까?

필요한 것을 찾고 있습니다. 어드바이저의 경우 - 하나의 알고리즘, 지표의 경우 - 다른 알고리즘.

일반적으로 다음과 같습니다. 교차점 수를 저장할 변수를 만들어 보겠습니다. 예를 들어 Intersection_UP Intersection_DN 과 같이 위 및 아래 두 가지가 있을 수 있습니다.

루프 전에 0으로 초기화합니다.

첫 번째 막대에서 Bars 까지 루프 만들기 : for (int i=1; i<Bars; i++) { // 루프 본문, 여기서 교차를 계산합니다 ... }.

막대 i ma1의 각 교차점에서 아래에서 위로 ma2 증가 Intersection_UP , 막대 i ma1의 각 교차점에서 위에서 아래로 ma2 증가 교차로_DN .

사이클이 끝나면 두 개의 변수에 위아래 교차점 수가 있습니다. 그것들을 더하면 총 교차 수를 얻습니다.

 
MK07 :
모두 좋은 하루 되세요. 두 개의 MA가 차트에서 여러 번 교차합니다. 각 MA 교차 후 막대의 수를 셀 수 있습니까?

간단 해. 교차점을 수정하고 카운터를 만듭니다. 교차점이 있는 경우 각 막대에 1이 추가됩니다. 역 교차점이 있는 경우 다른 카운터의 카운트다운이 시작됩니다.
 
alsu :

분명히 그들은 서로를 이해하지 못했습니다.

일반적으로 문제의 위치(정적 변수)가 결정되었습니다.

그런데 왜 그런 변수가 있는 함수는 인디케이터가 있는 하나의 파일로 컴파일되어 문제 없이 작동하지만(재초기화는 성공하고 모든 것이 제대로 작동함) 라이브러리에 있는 동일한 함수에 액세스할 때 문제가 발생하는 이유는 무엇입니까?

라이브러리 함수에서 특정 유형을 사용하는 데 몇 가지 제한이 있습니까?

 
야 누구 있어?
 
polycomp :

일반적으로 문제의 위치(정적 변수)가 결정되었습니다.

그런데 왜 그런 변수가 있는 함수는 인디케이터가 있는 하나의 파일로 컴파일되어 문제 없이 작동하지만(재초기화는 성공하고 모든 것이 제대로 작동함) 라이브러리에 있는 동일한 함수에 액세스할 때 문제가 발생하는 이유는 무엇입니까?

라이브러리 함수에서 특정 유형을 사용하는 데 몇 가지 제한이 있습니까?



저는 개발자가 아니며 추측만 할 수 있습니다. 그래서 매개변수를 변경한 후 재초기화할 때 ex4가 메모리에서 언로드되지 않는다고 가정합니다. 이것이 새로운 시작에서 우리가 모든 정적 및 이전 값과 함께 이전과 동일한 성경 사본으로 끝나는 이유입니다.

이론적으로 모든 프로그램 정적은 init()가 호출되기 전에 초기화되어야 합니다. 그러나 ex4 라이브러리는 라이브러리 함수를 처음 호출하는 순간에만 직접 로드되므로 라이브러리 스태틱이 공통 힙에 들어가지 않습니다.

전체를 이런 식으로 보면 설명이 상당히 논리적입니다.

 

다음은 StringGetChar 함수입니다.   https://docs.mql4.com/en/objects/ObjectFind

왜 필요합니까?

튜토리얼에 따르면 문자 값을 숫자로 반환합니다. 여기서 " with " 문자는 값 99 에 해당합니다. 그것을 이해하는 방법? 이 기능의 일반적인 용도는 무엇입니까?

글쎄, 그녀는 번호를 반환했습니다 ... 그리고 그것은 무엇을 제공합니까?

문자열로 작업하는 방법을 배우고 싶어서 함수를 발견했습니다. 그것이 내가 묻는 이유 입니다.

 
alsu :

저는 개발자가 아니며 추측만 할 수 있습니다. 따라서 매개변수를 변경한 후 재초기화하는 동안 ex4가 메모리에서 언로드되지 않는다고 가정합니다. 따라서 새로 시작할 때 모든 정적 및 이전 값이 포함된 이전과 동일한 성경 사본으로 끝나는 것입니다.

이론적으로 모든 프로그램 정적은 init()가 호출되기 전에 초기화되어야 합니다. 그러나 ex4 라이브러리는 라이브러리 함수를 처음 호출하는 순간에만 직접 로드되므로 라이브러리 스태틱이 공통 힙에 들어가지 않습니다.

전체를 이런 식으로 보면 설명이 상당히 논리적입니다.


설명 감사합니다! 라이브러리에서 정적을 사용해서는 안되는 것 같습니다.
 

내 머리에는 같은 유형의 3000개 값 배열이 있습니다.

그러나 이러한 값으로 1차원 배열을 초기화하는 방법을 잘 모르겠습니다.

이해할 수 없습니다. 배열을 초기화할 때 할당 연산자 에서 3000개의 값을 모두 쉼표로 구분하여 지정해야 합니까?

int Mas_i[3000]= { (Bid>1.2153)&&(Bid<1.2160) , (Bid>1.2156)&&(Bid<1.2163) ...3000개의 표현식을 모두 나열해야 합니까 };

어디를 읽어야 하는지 알려주세요.

고맙습니다.

 
hoz :

다음은 StringGetChar 함수입니다.   https://docs.mql4.com/en/objects/ObjectFind

왜 필요합니까?

튜토리얼에 따르면 문자 값을 숫자로 반환합니다. 여기서 " with " 문자는 값 99 에 해당합니다. 그것을 이해하는 방법? 이 기능의 일반적인 용도는 무엇입니까?

글쎄, 그녀는 번호를 반환했습니다 ... 그리고 그것은 무엇을 제공합니까?

문자열로 작업하는 방법을 배우고 싶어서 함수를 발견했습니다. 그것이 내가 묻는 이유 입니다.


차트에 작성하려면(주석과 혼동하지 말 것) 디지털 코드로 인코딩해야 합니다. 99를 쓰면 문자 "c"가 차트에 나타납니다. 나는 아직 이것을 하지 않았지만 Dock에서 모든 작업을 수행하는 방법과 X 및 Y 축을 따라 픽셀 단위로 글꼴, 크기, 방향 등을 찾을 수 있습니다. 이것이 이미 부족하다면 계속 진행하십시오. 그러나 시간이 많이 걸릴 것입니다! 행운을 빕니다!