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

 

먼저 매핑되지 않은 네 번째 ExtMapBuffer4 버퍼를 표시기 버퍼에 바인딩합니다.

 SetIndexBuffer ( 3 ,ExtMapBuffer4);

당신이 쓰고 있기 때문에

   IndicatorBuffers ( 4 );                                                 //устанавливаем общее количество всех индикаторов, участвующих в расчете всех индикаторных линий

처음에는 3줄/버퍼를 설명하지만

그건 그렇고, 당신은 그것을 시계열로 선언하고 확인할 필요가 없습니다

 

그리고 당신의 주요 실수는 여기에 있습니다

      ExtMapBuffer3[i]= iMAOnArray (ExtMapBuffer4, 0 ,МА_ТЛ, 0 ,Вид_МА_ТЛ, 0 ); //рассчет значения для расчета Третьей Линии (ТЛ)

필요하다

      ExtMapBuffer3[i]= iMAOnArray (ExtMapBuffer4, 0 ,МА_ТЛ, 0 ,Вид_МА_ТЛ, i ); //рассчет значения для расчета Третьей Линии (ТЛ)
 
midorum :

먼저 매핑되지 않은 네 번째 ExtMapBuffer4 버퍼를 표시기 버퍼에 바인딩합니다.

당신이 쓰고 있기 때문에

처음에는 3줄/버퍼를 설명하지만

그건 그렇고, 당신은 그것을 시계열로 선언하고 확인할 필요가 없습니다

답변 감사합니다... 마지막으로 i에 점을 찍기 위해 한 가지 더 알고 싶습니다.

1. "먼저, 표시되지 않은 네 번째 버퍼 ExtMapBuffer4를 표시기 버퍼와 바인딩하려고 시도하십시오"라고 작성합니다. Client Terminal의 화면에 어떤 식으로든 표시되어야 하는 배열만 연결하고 IndicatorBuffers를 사용하여 Custom Indicator의 계산에 관련된 모든 배열의 총 개수를 지정해야 한다고 생각했습니다. 기능. 내가 틀렸다고?

2. 어렵지 않다면 왜 이 배열을 시계열로 선언할 필요가 없는지 설명해주세요. 시계열처럼 어떻게 든 자체 구성됩니까?

 
7777877 :

답변 감사합니다... 마지막으로 i에 점을 찍기 위해 한 가지 더 알고 싶습니다.

1. "먼저, 표시되지 않은 네 번째 버퍼 ExtMapBuffer4를 표시기 버퍼와 바인딩하려고 시도하십시오"라고 작성합니다. Client Terminal의 화면에 어떤 식으로든 표시되어야 하는 배열만 연결하고 IndicatorBuffers를 사용하여 Custom Indicator의 계산에 관련된 모든 배열의 총 개수를 지정해야 한다고 생각했습니다. 기능. 내가 틀렸다는 것이 밝혀졌습니까?

2. 어렵지 않다면 왜 이 배열을 시계열로 선언할 필요가 없는지 설명해주세요. 시계열처럼 어떻게 든 자체 구성됩니까?

맞습니다. 시계열로 자동 구성됩니다.

처음에는 표시기의 보이는 버퍼를 설명합니다.

IndicatorBuffers()를 사용하여 자동으로 구성된 시계열 버퍼의 수를 최대 8개까지 확장하고 고유한 배열과 연결할 수 있습니다.

 
질문을 다시 복제하고 이전 질문을 삭제하고 누가 할 수 있는지 도와주세요!


좋은. 나는 문제의 본질을 말하려고 노력할 것입니다. 아마도 누군가가 당신에게 말하거나 더 간단하게 구현하는 데 도움을 줄 것입니다.

우리는 분 차트에서 작업합니다. 2012년 10월 29일 00:00에 차트에서 분 막대(높은+낮은/2 - 막대의 평균값)를 가져옵니다. 이것이 시작점이 될 것입니다.

다음으로 이 가격과의 편차를 10포인트 위쪽으로 확인합니다(각 올바른 편차는 +1이 됨).

시작점에서 10포인트의 가격 인상에 도달하면 - 카운터 +1; 편차에 도달한 지점에서 10포인트만 더 편차를 확인하고 다음 가격이 10포인트 오를 때까지 기다립니다.

예를 들어 다음을 얻습니다.

(시작점) + 10점 <= 가격인 경우 (시작점부터 모든 후속 막대 가격을 사용합니다.) counter=counter +1을 얻습니다. 그리고 우리는 이미이 장소에서 시작점을 시작합니다 - (시작점 + 10 점).

(시작점 + 10핍) + 10핍 <= 가격인 경우 (시작점부터 모든 후속 막대 가격을 사용합니다.) counter=counter +1을 얻습니다. 그리고 우리는 이미 이 곳에서 시작점을 시작합니다 - (시작점 + 10점) + 10점.

(시작점 + 10핍 + 10핍) + 10핍 <= 가격인 경우 (시작점부터 모든 후속 막대 가격을 사용합니다.) counter=counter +1을 얻습니다. 그리고 우리는 이미 이 곳에서 시작점을 시작합니다 - (시작점 + 10점 + 10점) + 10점.

등...

10과 같은 카운터에 도달할 때까지(카운터 == 10).

그리고 새로 형성된 각각의 분 막대(높음 + 낮음 / 2 - 막대의 평균 값)가 이 조건에 대해 확인되고 10(카운터 == 10)과 같은 카운터에 도달할 때까지 기다립니다. 이틀이 지났다고 가정 해 봅시다. 우리는 각각의 새로운 형성된 막대를 확인하고 조건이 올바른지 이동했습니다 ....

그리고 counter =10에 도달했을 때 - "Counter == 10"이라는 메시지를 표시합니다. 사용자가 원래 설정한 시점에서 시작점을 2일 앞당깁니다. 10/29/12 00:00부터 10/31/12 00:00까지 순환을 반복합니다.

우리는 주기를 반복하므로 일정에 따라 움직입니다.

저것들. 새로 형성된 막대를 가져와 스레드로 가져 가야 합니다(높은+낮은/2 - 막대의 평균 값). 그리고 조건을 확인하고 조건이 맞으면 위와 같이 변속합니다.

배열을 통해 구현해 보았는데 매우 혼란스럽고 잘못된 값을 제공합니다!! 이 알고리즘을 구현하는 방법을 도와주세요!
파일:
qawer.mq4  3 kb
 
merkulov.artem :

배열을 통해 구현해 보았는데 매우 혼란스럽고 잘못된 값을 제공합니다!! 이 알고리즘을 구현하는 방법을 도와주세요!

먼저 알고리즘(사용된 각 명령 및 데이터)에 대해 자세히 설명하면 매우 좋을 것입니다. 그렇지 않으면 수행 중인 작업과 이유를 입력하기가 매우 어렵습니다.

그러면 아마도 그들은 당신을 도울 것입니다, 아니면 당신이 스스로 문제를 찾을 것입니다

 

도움말에 따르면 SetIndexDrawBegin 함수는 그리기를 시작할 막대를 지정합니다. 테스트를 위해 표준 AC 칠면조를 가져 와서 매개 변수에서 변경했습니다.

 SetIndexDrawBegin ( 0 , 8 );
   SetIndexDrawBegin ( 1 , 38 );
   SetIndexDrawBegin ( 2 , 38 );

   SetIndexDrawBegin ( 0 , 8 );
   SetIndexDrawBegin ( 1 , 8 );
   SetIndexDrawBegin ( 2 , 8 );

아무것도 변경되지 않았습니다. 그림은 .. 8번째 마디에서 0번째 마디로 가는 것이 아니라 어느 쪽에서 왔는지 명확하지 않습니다.

8이 없다는 것을 알 수 있습니다 ...


 
hoz :

도움말에 따르면 SetIndexDrawBegin 함수는 그리기를 시작할 막대를 지정합니다. 테스트를 위해 표준 AC 칠면조를 가져 와서 매개 변수에서 변경했습니다.

아무것도 변경되지 않았습니다. 그림은 .. 8번째 마디에서 0번째 마디로 가는 것이 아니라 어느 쪽에서 왔는지 명확하지 않습니다.

8이 없다는 것을 알 수 있습니다 ...


데이터 시작 부분("차트 시작 부분부터" "차트 왼쪽부터" 읽기)부터 지정된 표시줄 그리기가 시작되는 막대 번호를 설정합니다. 표시기는 왼쪽에서 오른쪽으로 그려집니다.
 
midorum :
데이터 시작 부분("차트 시작 부분부터" "차트 왼쪽부터" 읽기)부터 지정된 표시줄 그리기가 시작되는 막대 번호를 설정합니다. 표시기는 왼쪽에서 오른쪽으로 그려집니다.

예를 들어 마지막 30개의 막대를 그려야 하는 경우 어떻게 해야 합니까?

 
hoz :

예를 들어 마지막 30개의 막대를 그려야 하는 경우 어떻게 해야 합니까?

Bars-30 시도