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

 
prom18 :
그래프는 오름차순 직선처럼 보여야 합니다.

왜 그렇게 결정했습니까?
 
Vinin :

왜 그렇게 결정했습니까?
음, 각 막대는 0보다 큰 볼륨을 가지고 있으며 새 막대 가 나타날 때 다시 계산되는 합계가 필요합니다.
 

세르게예프 에 :

아, 이제 무슨 말인지 이해했습니다. for는 카운터와 비교할 값을 정확히 기억하고 변경하지 않습니다. 즉, OrdersTotal 이 2를 반환하면 for는 이를 기억하고 2와 함께 작동합니다.

 
Solree :

세르게예프 에 :

아, 이제 무슨 말인지 이해했습니다. for는 카운터와 비교할 값을 정확히 기억하고 변경하지 않습니다. 즉, OrdersTotal이 2를 반환하면 for는 이를 기억하고 2와 함께 작동합니다.


아니요. 나는 당신에게 완전히 반대를 말하고 있습니다.

루프 중지 조건(귀하의 경우 OrdersTotal() )은 각 반복에서 !평가됩니다!

따라서 첫 번째 반복에서 = 2
두 번째 이미 =1

당신은 프로그래머 또는 무엇입니까? 기본적인 것은 이해할 수 없습니다.

 

세르게예프 에 :

당신은 내 눈을 열었습니다. 심지어 C++용 IDE가 어떻게 존재하는지 확인하기 위해 일부러 열었습니다. 그리고 당신이 두 배로 옳았다는 것이 밝혀졌습니다! 고맙습니다! :) 하지만... 이렇게 해도 주문은 여전히 선택되지 않습니다.

 int someA = OrdersTotal ();
for ( int a = 0 ; a < someA; a++)
     if ( OrderSelect (a, SELECT_BY_POS, MODE_TRADES))
         if ( OrderComment () == "Aelit" && OrderType () == OP_SELL)
             OrderClose ( OrderTicket (), OrderLots (), NormalizeDouble (Ask, Digits ), 0 );
 
prom18 :
음, 각 막대는 0보다 큰 볼륨을 가지고 있으며 새 막대가 나타날 때 다시 계산되는 합계가 필요합니다.

전체 볼륨은 증가하거나 감소할 수 있습니다.
 
Vinin :

전체 볼륨은 증가하거나 감소할 수 있습니다.
난 이해가 안 돼요. 볼륨은 막대 내부의 눈금 수입니다. 첫 번째 볼륨은 30, 두 번째 볼륨은 20, 세 번째 볼륨은 10입니다. 합계는 60이 됩니다. 아니면 안 될까요?
 
Solree :

세르게예프 에 :

당신은 내 눈을 열었습니다. 심지어 C++용 IDE가 어떻게 존재하는지 확인하기 위해 일부러 열었습니다. 그리고 당신이 두 배로 옳았다는 것이 밝혀졌습니다! 고맙습니다! :) 하지만... 이렇게 해도 주문은 여전히 선택되지 않습니다.


주문 삭제 항상 카운트다운

 int someA = OrdersTotal ();
for ( int a = someA- 1 ;a>= 0 a--)
     if ( OrderSelect (a, SELECT_BY_POS))
         if ( OrderComment () == "Aelit" && OrderType () == OP_SELL)
             OrderClose ( OrderTicket (), OrderLots (), OrderClosePrice (), 0 );
 
Solree :

하지만... 이렇게 해도 주문은 여전히 선택되지 않습니다.

그리고 않을 것입니다!

위치 번호로 OrderSelect를 수행합니다.

첫 번째 반복에서 첫 번째 주문을 선택하고 주문 위치 a=0

이 주문을 종료한 후 주문 수는 OrdersTotal= 1 이 됩니다.
이것은 위치 1 에서 이전의 두 번째 차수가 위치 0이 됨을 의미합니다.

그러나 두 번째 반복에서는 0아니라 이미 = 1 입니다! 그리고 현재 존재하지 않는 위치 = 1 에 대한 OrderSelect 는 오류를 반환합니다.

-------

이제 다음 게시물을 작성하기 전에 1분이라도 생각해 보십시오. 이러한 역동성을 피하기 위해 어떤 두 가지 옵션을 제안할 수 있습니까?

 
prom18 :
난 이해가 안 돼요. 볼륨은 막대 내부의 눈금 수입니다. 첫 번째 볼륨은 30, 두 번째 볼륨은 20, 세 번째 볼륨은 10입니다. 합계는 60이 됩니다. 아니면 안 될까요?


볼륨 이 있는 시계열 을 가져오고 핸들로 다시 계산

예를 들어 다음과 같은 볼륨이 있습니다.

10, 15, 25, 8, 11, 24, 30

다음은 3의 합입니다.

50, 48, 44, 55

상승이 있다 하락이 있다

모든 것이 인생과 같다.