MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1686

 
Aleksei Stepanenko # :
배열의 첫 번째 요소 도 고려해야 하고 배열의 인덱스가 0이기 때문에 크거나 같음.
나는 모든 사람들이 여기서 말하는 배열을 이해하지 못합니다. OrdersTotal이 이와 같이 작동하지 않는 경우. 배열이 아니라 숫자를 반환하는 함수입니다.
 
Aleksei Stepanenko # :
아니, 괜찮아. 위치가 없으면 i= OrdersTotal()-1 은 -1과 같습니다. 그리고 루프 조건 i>=0은 즉시 실행되지 않습니다. 그리고 프로그램은 루프에 들어가지 않을 것입니다.
그러나 이것은 정확하지 않습니다. "주문 합계"가 1인 것으로 나타났습니다. 즉, 1개의 주문이 항상 주기에서 제외됩니다.
 
Nerd Trader # :
나는 모든 사람들이 여기서 말하는 배열을 이해하지 못합니다. OrdersTotal이 이와 같이 작동하지 않는 경우.

주문은 본질적으로 프로그램의 배열에 있으며 우리는 그것을 보지 못합니다. OrdersTotal은 ArraySize와 동일하며 총 요소 수를 보여줍니다.

배열에서 첫 번째 요소의 인덱스는 항상 0부터 시작하고 마지막 요소의 인덱스는 각각 크기에서 1을 뺀 값입니다.

Пример: всего 5 ордеров, индексы: 0 , 1 , 2 , 3 , 4 .

или массив из 5 элементов, индексы те же.

for ( int i= 5 - 1 ; i>= 0 ; i--)
 
Aleksei Stepanenko # :

주문은 본질적으로 프로그램의 배열에 있으며 우리는 그것을 보지 못합니다. OrdersTotal은 ArraySize와 동일하며 총 요소 수를 보여줍니다.

배열에서 첫 번째 요소의 인덱스는 항상 0이고 마지막 요소의 크기는 각각 마이너스 1입니다.

OrdersTotal이 배열이 아닌 경우 주문이 있는 위치에 어떤 차이가 있습니까? 배열 인덱스가 아닌 주문 수를 반환합니다.

 
Nerd Trader # :
그러나 이것은 정확하지 않습니다. "주문 합계"가 1인 것으로 나타났습니다. 즉, 1개의 주문이 항상 주기에서 제외됩니다.

주문은 번호가 매겨진 목록에 있습니다. 목록은 0부터 계산됩니다.

예를 들어

일련 번호 0, 구매 유형, 로트 0.1

일련 번호 1, 셀 유형, 로트 1

일련 번호 2, 셀 유형, 로트 0.5

일련 번호 3, 구매 유형, 로트 0.16

이제 OrdersTotal()을 호출하면 = 4가 됩니다.

그러나 목록의 모든 줄을 탐색해야 하는 경우 숫자 0 1 2 3을 통과해야 합니다. 여기에는 숫자 4가 없습니다. .. 비록 4개의 주문이 있지만 ..

따라서 트릭이 만들어집니다. 검색주기를 그릴 때 주문 수에 대해 마이너스 1이 만들어집니다. 그게 다입니다.


괴상한 상인   # :

OrdersTotal이 배열이 아닌 경우 주문이 있는 위치에 어떤 차이가 있습니까? 배열 인덱스가 아닌 주문 수를 반환합니다.

맞습니다. 하지만 암시적인 사실이 있습니다. 주문 수가 있으면 목록의 모든 주문 번호를 얻을 수 있습니다.
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2021.10.19
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
OrdersTotal 은 총계이지만 거의 모든 프로그래밍 언어의 인덱스는 1이 아닌 0에서 시작합니다. 그냥 익숙해지세요. 한 단위 뒤로 이동하면 그게 전부입니다. 그러면 모든 것이 생각한 것과 같을 것입니다.
 
Nerd Trader # :

OrdersTotal이 배열이 아닌 경우 주문이 있는 위치에 어떤 차이가 있습니까?

배열의 주문 수와 일련 번호는 다릅니다. 티켓도 있습니다.)
 
Nerd Trader # :
그러나 이것은 정확하지 않습니다. "주문 합계"가 1인 것으로 나타났습니다. 즉, 1개의 주문이 항상 주기에서 제외됩니다.

"-1"이 마음에 들지 않으면 다음을 수행할 수 있습니다.

 for ( int i = OrdersTotal (); i >= 1 ; i --)
 
Aleksei Stepanenko # :

주문은 본질적으로 프로그램의 배열에 있으며 우리는 그것을 보지 못합니다. OrdersTotal은 ArraySize와 동일하며 총 요소 수를 보여줍니다.

배열에서 첫 번째 요소의 인덱스는 항상 0부터 시작 하고 마지막 요소는 각각 크기에서 1을 뺍니다.

글쎄요, 총 개수와 배열 인덱스는 다른데 왜 이게 같은 것이라고 생각하시나요? 인덱스가 1개인 배열을 생성하려면 0이 아닌 1을 입력하십시오. (int ar[1]) 따라서 ArraySize( ar ) 도 0이 아닌 1을 반환합니다.

 
MakarFX # :

"-1"이 마음에 들지 않으면 다음을 수행할 수 있습니다.

 for ( int i = OrdersTotal (); i > 0 ; i --)

이것은 정확하지 않습니다. 주문 번호 0은 건너뜁니다.

그리고 바로 그렇게 -

 for ( int i = OrdersTotal ()- 1 ; i >= 0 ; i --)
 {
 }