정적 배열? - 페이지 6

 

평범한 영어 설명에 너무 많은 코드가 있습니다. . .

프랙탈은 표시기 버퍼 에 저장됩니다. 방법을 이해하십니까? 이해를 돕기 위해 코드를 작성하지 않으면 . . .

표시기 버퍼를 읽고 프랙탈에서 막대 번호를 찾을 수 있으며 막대 번호에서 캔들 값을 얻을 수 있습니다. . .

 
RaptorUK :

평범한 영어 설명에 너무 많은 코드가 있습니다. . .

프랙탈은 표시기 버퍼에 저장됩니다. 방법을 이해하십니까? 이해를 돕기 위해 코드를 작성하지 않으면 . . .

표시기 버퍼를 읽고 프랙탈에서 막대 번호를 찾을 수 있으며 막대 번호에서 캔들 값을 얻을 수 있습니다. . .

표시기 버퍼 가 어떻게 저장되는지 완전히 이해하지 못합니다.


그리고 이것이 바로 제가 하고 싶었던 것입니다. 프랙탈에서 막대 번호를 찾고 양초 값을 얻습니다.

계속 진행하겠지만 표시기가 버퍼에 값을 저장하는 방법을 알고 있다면 더 명확해질 것입니다.

감사해요

 

v1, v2 및 v3의 3개의 버퍼가 있고 계산에 사용되는 3개의 다른 이중인 val1, val2 및 val3이 있습니다. v3 및 val3은 사용되지 않는 것 같습니다. . .

val1 및 val2는 iFractals에서 생성된 값을 유지합니다. 이 값은 각 막대에 대해 하나씩 계산되며, while 루프는 Bars에서 시작하여 0까지 감소하는 막대를 반복합니다. . .

따라서 각 막대에 대해 프랙탈 값이 계산되어 MODE_UPPER의 경우 v1에 저장되고 MODE_LOWER의 경우 v2에 저장되므로 v1에 대해 작업해 보겠습니다. . .

차례로 각 막대에 대해 . . . val1이 0보다 크면 막대 번호에 대한 v1 버퍼의 버퍼 값이 해당 막대의 높음으로 설정되어 루프가 막대에서 0까지 막대 를 통과하는 부분을 상상하고 막대 번호 4934에 있다고 상상해 보겠습니다. 프랙탈은 막대 번호 4934에 대해 계산됩니다. 값이 0보다 크면 v1[4934]가 High[4934]로 설정됩니다. 즉, v1 버퍼의 4935번째 요소가 막대 번호 4934의 높은 값으로 설정됩니다. . . 배열은 0에서 시작한다는 것을 잊지 마십시오.

마지막으로 이해해야 하는 작은 복잡성이 있습니다. . . 표시기를 실행하면 높고 낮은 각 프랙탈의 점선이 표시됩니다. . 다음 까지 . . 우리가 지금 막대 번호 4933에 있고 val1의 값이 0보다 크지 않다고 상상해 보십시오. 이제 이 막대의 버퍼 값이 이 막대로 설정되지 않고 High 막대에 대한 이전 항목과 동일한 값으로 설정됩니다. 버퍼 . . 이 경우 이전은 i+1 을 의미합니다. 왜냐하면 while 루프에서 i 는 카운트다운 중이기 때문입니다.

루프가 종료되고 모든 막대에 프랙탈이 계산되면 버퍼의 모든 항목에 값이 포함됩니다. . . 이것은 당신에게 별로 도움이 되지 않습니다. . . 코드를 약간 변경해야 합니다.

내가 여기에 쓴 것을 읽으십시오. . . 무슨 일이 일어나고 있는지 이해하지 못한다면 이 코드를 사용하는 데 아무런 문제가 없습니다. . . 일단 이해하면 앞으로 나아갈 수 있습니다. . . 어떤 질문을 물어보십시오.

 
RaptorUK :

v1, v2 및 v3의 3개의 버퍼가 있고 계산에 사용되는 3개의 다른 이중인 val1, val2 및 val3이 있습니다. v3 및 val3은 사용되지 않는 것 같습니다. . .

val1 및 val2는 iFractals에서 생성된 값을 유지합니다. 이 값은 각 막대에 대해 하나씩 계산되며, while 루프는 Bars에서 시작하여 0까지 감소하는 막대를 반복합니다. . .

따라서 각 막대에 대해 프랙탈 값이 계산되어 MODE_UPPER의 경우 v1에 저장되고 MODE_LOWER의 경우 v2에 저장되므로 v1에 대해 작업해 보겠습니다. . .

차례로 각 막대에 대해 . . . val1이 0보다 크면 막대 번호에 대한 v1 버퍼의 버퍼 값이 해당 막대의 높음으로 설정되어 루프가 막대에서 0까지 막대 를 통과하는 부분을 상상하고 막대 번호 4934에 있다고 상상해 보겠습니다. 프랙탈은 막대 번호 4923에 대해 계산됩니다. 값이 0보다 크면 v1[4394]가 High[4394]로 설정됩니다. 즉, v1 버퍼의 4395번째 요소가 막대 번호 4394의 높은 값으로 설정됩니다. . . 배열은 0에서 시작한다는 것을 잊지 마십시오.

마지막으로 이해해야 하는 작은 복잡성이 있습니다. . . 표시기를 실행하면 높고 낮은 각 프랙탈의 점선이 표시됩니다. . 다음 까지 . . 우리가 지금 막대 번호 4933에 있고 val1의 값이 0보다 크지 않다고 상상해 보십시오. 이제 이 막대의 버퍼 값이 이 막대로 설정되지 않고 High 막대에 대한 이전 항목과 동일한 값으로 설정됩니다. 버퍼 . . 이 경우 이전은 i+1 을 의미합니다. 왜냐하면 while 루프에서 i 는 카운트다운 중이기 때문입니다.

루프가 종료되고 모든 막대에 프랙탈이 계산되면 버퍼의 모든 항목에 값이 포함됩니다. . . 이것은 당신에게 별로 도움이 되지 않습니다. . . 코드를 약간 변경해야 합니다.

내가 여기에 쓴 것을 읽으십시오. . . 무슨 일이 일어나고 있는지 이해하지 못한다면 이 코드를 사용하는 데 아무런 문제가 없습니다. . . 일단 이해하면 앞으로 나아갈 수 있습니다. . . 어떤 질문을 물어보십시오.

귀하가 설명한 대로 표시기가 정확히 어떻게 작동하는지 이해합니다. 버퍼가 값을 저장하는 방식도 이해했다고 생각했는데 인쇄할 항목을 다시 코딩할 때 예상했던 결과를 얻지 못했기 때문에 혼란스러워졌습니다.

그러나 버퍼가 어떻게 다른지 이해하고 실제로 요소 수를 선언하지 않았기 때문에 버퍼에서 인쇄할 수 없는 주요 장애물이 이제 극복되었습니다.

알겠습니다. 계속 진행합니다.
막대 번호 4934 에 대한 참조에 오타가 있다고 가정하고 프랙탈 은 막대 번호 4923 에 대해 계산되며 4933 이어야 합니다.
또한 0보다 큰 값의 경우 v1[4394]가 High[4394] ==로 설정됩니다 . 바 번호.

오타가 잘못된 부분이 있으면 수정해주세요.

어쨌든 이것이 오타라고 가정하고 이것이 의미하는 바를 이해합니다.

v3를 생성하고 선언하고 비슷한 방식으로 초기화하여 인쇄하거나 값을 얻을 수 있다고 생각했습니다.
나는 처음에 0보다 큰 값과 해당 Bar에 대해 저장된 값을 추출하기 위해 i-1을 인쇄할 수 있을 것이라고 생각했습니다.
아니면 지금은 v1[i] = v1[1-1]이고 Print v1[i]도 있지만, 그 부분을 해결하지도 않았고 요소의 개수가 선언되지 않았기 때문에 인쇄 부분을 지나칠 수도 없었습니다.

이것이 내가 다른 v3 체계를 만들고 싶었지만 실제로는 그 막대에 대한 프랙탈 값을 추출할 수 있는 선언된 수의 요소가 있는 배열을 만드는 것과 동일합니다.

여기에서 디자인에 문제가 있으므로 좀 더 처리하겠습니다.

감사해요

 
Agent86 :

귀하가 설명한 대로 표시기가 정확히 어떻게 작동하는지 이해합니다. 버퍼가 값을 저장하는 방식도 이해했다고 생각했는데 인쇄할 항목을 다시 코딩할 때 예상했던 결과를 얻지 못했기 때문에 혼란스러워졌습니다.

그러나 버퍼가 어떻게 다른지 이해하고 실제로 요소 수를 선언하지 않았기 때문에 버퍼에서 인쇄할 수 없는 주요 장애물이 이제 극복되었습니다.

알겠습니다. 계속 진행합니다.
막대 번호 4934 에 대한 참조에 오타가 있다고 가정하고 프랙탈은 막대 번호 4923 에 대해 계산되며 4933 이어야 합니다.
또한 0보다 큰 값의 경우 v1[4394]가 High[4394] ==로 설정됩니다 . 바 번호.

오타가 잘못된 부분이 있으면 수정해주세요.

오타 죄송합니다. . . 올바른 값으로 텍스트를 수정했습니다. . . 저는 아침에 잘 못해요 ;-)

코드를 많이 사용하기 전에 코드를 약간 수정해야 합니까?

 
     for (i= Bars ; i >= 0 ; i--)
     {
     val3= iFractals ( NULL , 0 , MODE_UPPER,i);
     if (val3> 0 )
      {
       double v3[ 1000 ];
      v3[i]=High[i];
       Print ( "v3[" , i, "]= " , v3[i], " if" );
      }
     else           
         {
         v3[i]=v3[i+ 1 ];
         Print ( "v3[" , i, "]= " , v3[i], " else" );
         }
     }
여기에서 약간의 진전을 이루었습니다. 가장 중요한 것은 인쇄 문에 대해 항상 0을 생성하는 버퍼 선언을 지나칠 수 없다는 것이었습니다.

여기에서 처리할 수 있을 것 같아요
나는 지금까지 내가 올바른 길을 가고 있을지도 모른다고 말할 수 있는 것에서 지금 내가 추구하는 가치를 얻고 있습니다.

2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[5]= 1.3361 if
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[6]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[7]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[8]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[9]= 1.3343 else
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[10]= 1.3343 if
2011.09.24 12:26:21 2011.01.02 19:09 Agent86_5min EURUSD,M5: v3[11]= 1.3399 else


다시 한 번 감사합니다
 
나는 당신이 정말로 다른 것을 원하지 않거나 필요로하지 않는다고 생각합니다.
 
RaptorUK :
나는 당신이 정말로 다른 것을 원하지 않거나 필요로하지 않는다고 생각합니다.

그래 네 권리