지표 질문 - 페이지 6

 

for(i=0; val1==val3; i++)

이 코드는 무한 루프 IMO의 가능성을 남겨 둡니다.

 
이건 좀 더 생각을 해봐야겠네요 다시 읽어보니 눈이 흐릿하네요.

내일 체크인 하겠습니다
 
ubzen :

for(i=0; val1==val3; i++)

이 코드는 무한 루프 IMO의 가능성을 남겨 둡니다.

정말, val1이 val3이 아닐 때까지 순환해야 하는 것 같습니다.

val3 = 0이고 val1 = 0이면 값을 얻을 때까지 순환해야 합니다.

ii val3 = iFractal(순간적으로) 그러면 val1은 val1=0이 될 때까지 순환해야 합니다(여기서 이것이 제 문제입니다)

val1에 대한 iFractal 값을 반환하는 print 문을 얻었지만 실제로는 일종의 끝없는 루프 또는 잠금 지점입니다.
나는 이것을 테스트하기 위해 다른 사람들이 게시 한 것으로 좀 더 실험해야하지만 당신의 권리라고 생각합니다.

아마도 의도한 대로는 아닐지 모르지만 이것은 이전 프랙탈 값으로 증가시키기 위해 달성하고자 하는 개념입니다.

계속 작업하겠습니다
 
diostar :

솔직히 루프 종료 조건에서 이것을 본 것은 이번이 처음입니다. 까다롭습니다...

내 인쇄 문이 값을 반환하기 때문에 나를 속이고 있는 부분적으로 작동하는 것 같지만 문제는 val3이 실제로 >0이 되자마자 val1이 실제로 이전 프랙탈 값이 아닌 0인 값으로 다시 증가한다는 것입니다.

따라서 이론적으로 val3 == 0인 한 한 번만 작동한 다음 val1이 더 이상 == val3이 아닐 때까지 i++가 역으로 증가하는 것처럼 보일 것입니다. 이는 val3 == a 값을 입력하면 val1은 더 이상 == val3이 아닌 0 값으로 다시 시작되고 루프가 종료됩니다.
이것은 결국 내가 원했던 것이 아니므로 다시 드로잉 보드로 돌아가십시오 LOL

모두 감사합니다

 
RaptorUK :

iFractal을 얻을 때 값이 > 0, 예 ?

예를 들어, 마지막 UPPER 및 LOWER iFractal이 어디에 있는지 알고 싶다면 다음과 같이 하십시오. . .

제 생각에는 이제 이 이전 위치의 가치를 산출하는 방법을 알아낼 수 있다면

이 문제를 해결할 수 있을 것 같아요. 희망합니다. 그는

감사해요
 

0 초는 프랙탈 이 될 수 없으므로 val3은 항상 0이므로 사용하지 않는 이유는 무엇입니까? . .

 for (i= 0 ; val1== 0 ; i++)

. . . val3을 제거하십시오.

나는이 경우에 잠시를 선호하지만 당신이하려는 일에 더 잘 맞는 것 같습니다. .

 
RaptorUK :

iFractal을 얻을 때 값이 > 0, 예 ?

예를 들어, 마지막 UPPER 및 LOWER iFractal이 어디에 있는지 알고 싶다면 다음과 같이 하십시오. . .

이것은 마지막 iFractal이 어디에 있는지 알려주는 것처럼 보이지만 이전 iFractal은 모두 아닙니다.

예를 들어:

2011.10.07 09:05:36 sup_res EURUSD,M5: 6에서 마지막 UPPER 프랙탈 0에서 마지막 LOWER 프랙탈

따라서 현재 UPPER 하이 프랙탈을 표시하고 좋은 위치를 인쇄합니다.
val1=i를 val1=iFractal(NULL, 0, MODE_UPPER,i)로 변경할 수도 있습니다. 그러면 마지막 iFractal에 대한 값이 표시됩니다.
그래서 나는 이것을 이해하는 데 약간의 진전을 보이고 있지만 여전히 이전 iFractal로 돌아가기 위해 다시 코딩해야 합니다.

iFractal이 형성되면 이 while 문은 현재 형성되고 멋진 최신 iFractal을 계속 인쇄합니다.
따라서 새로운 iFractal 형식이 있다고 가정해 보겠습니다. 이 현재 프랙탈을 현재가 아닌 이전 1인 while 문에서 참조하고 싶습니다.
이제 iFractal LOWER_MODE가 형성되고 이전 iFractal UPPER_MODE를 참조하고 해당 값을 비교하고 싶습니다.

그러나 당신의 조언에서 나는 이것을 해결할 수 있을 것이라고 생각합니다. 이것들은 모두 저에게 많은 도움이 되는 훌륭한 아이디어입니다.
코드 작동 방식에 더 익숙해지면서 거래 아이디어에 대해 알고 있는 것을 사용하기 시작했습니다.

감사해요
 
Agent86 :
이것은 마지막 iFractal이 어디에 있는지 알려주는 것처럼 보이지만 이전 iFractal은 모두 아닙니다.

내 코드에 오류가 있습니다. . .

 while ( val1== 0 && val2== 0 )

should be . . .

while ( val1== 0 || val2== 0 )
 
RaptorUK :

0 초는 프랙탈이 될 수 없으므로 val3은 항상 0이므로 사용하지 않는 이유는 무엇입니까? . .

. . . val3을 제거하십시오.

나는이 경우에 잠시를 선호하지만 당신이하려는 일에 더 잘 맞는 것 같습니다. .

알겠습니다. val3 shift를 3으로 변경했지만 이것도 마음에 들지 않습니다. 변경하겠습니다. 감사합니다.
 
if (val1 > 0 && faster > slower)
      {
       Print (val1, " val1" );
       for (i= 0 ; val1 || val2== 0 ; i++)
         {
         if ( iFractals ( NULL , 0 , MODE_LOWER, i) > 0 && val2 == 0 )
         val2 = iFractals ( NULL , 0 , MODE_LOWER, i);
         Print ( " Last LOWER Fractal at " , val2);
        
         }

if(문) 내에 for(문)을 추가할 때 추가 if(문)를 추가하고 루프의 값을 참조할 수 있습니까?

그리고 이러한 추가 if(문)은 루프 내부에서 발생해야 합니까 아니면 루프 외부에 있고 여전히 val2와 같은 루프 값을 참조할 수 있습니까?

다른 코드 블록 내부의 루프에 대해 정상적인 것으로 간주되는 것이 무엇인지 알려주십시오. 루프의 값을 추출하는 방법은 무엇입니까?

감사해요
사유: