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

 
Vinin :

주제의 계속

이전 것은 여기에 있습니다 https://www.mql5.com/ru/forum/111497

MT4 테스터의 최적화 결과 열과 최적화 그래프에는 아무것도 표시되지 않고 비어 있습니다. 왜요? 도와주세요!!!
 
Sergey_Rogozin :

1차원 배열 ValueArr[]을 채우려고 합니다.

맞는지 확실하지 않습니다.

각 틱에서 GetValue() 함수는 int 값을 반환합니다. ValueArr[] 을 채우는 방법?

내 시도가 맞습니까?

각 틱마다 배열 크기를 1씩 늘리시겠습니까? 그런 다음 크기는 컴퓨터의 사용 가능한 메모리에 의해 제한됩니다.

각 틱에서 ArrayResize() 함수를 사용하여 ValueArr[] 배열의 크기를 늘리고 배열에 새 데이터를 추가합니다. 다시 - 어디에 추가할까요? 처음이나 끝까지???

시작하는 경우 이전에 녹음된 데이터를 이동해야 합니다. 그렇지 않으면 새로 녹음된 데이터에 의해 삭제됩니다.

마지막에 다음과 같은 경우:

init에서 배열 크기 = 0으로 설정하고 시작 시 1(size++)만큼 늘린 다음 배열 크기( ArrayResize(ValueArr, size);)를 변경 하고 배열 셀에 ValueArr[]을 입력하고 크기로 인덱싱합니다. -1 (ValueArr[크기 -1]) GetValue() 함수에 의해 수신된 데이터; (ValueArr[크기-1]=GetValue();)

 
artmedia70 :

각 틱마다 배열 크기를 1씩 늘리시겠습니까? 그런 다음 크기는 컴퓨터의 사용 가능한 메모리에 의해 제한됩니다.

각 틱에서 ArrayResize() 함수를 사용하여 ValueArr[] 배열의 크기를 늘리고 배열에 새 데이터를 추가합니다. 다시 - 어디에 추가할까요? 처음이나 끝까지???

시작하는 경우 이전에 녹음된 데이터를 이동해야 합니다. 그렇지 않으면 새로 녹음된 데이터에 의해 삭제됩니다.

초기화에서 배열 크기를 0으로 설정하고 처음에 1만큼 증가(size++)한 다음 배열 크기를 변경합니다. ArrayResize(ValueArr, size); GetValue() 함수에 의해 수신된 데이터를 size-1(ValueArr[size-1])로 인덱싱된 ValueArr[] 배열의 셀에 입력합니다.

예, GetValue()의 데이터는 각 틱에서 ValueArr[] 배열에 기록됩니다.

배열 크기는 각 틱마다 증가하지만 [10000]과 같이 즉시 정의할 수 있습니다.


배열의 요소 는 받은 순서대로 배열됩니다. 첫 번째 기록 - "일반 대기열"의 첫 번째,

두 번째 요소는 대기열의 두 번째 요소입니다.


내가 올바르게 이해하면 다음과 같이 보입니다.


 int size= 0 ;
 int ValueArr[size];
 
//-----------------

int start()
 {
   size++;
   ArrayResize (ValueArr, size);
   ValueArr[size- 1 ] = GetValue();
   
 return ();
 }

//-----------------

int GetValue()
 {
 .......
 return (Val);
 }

내가 당신을 올바르게 이해했기를 바랍니다.

 
Sergey_Rogozin :

배열의 요소는 받은 순서대로 배열됩니다. 첫 번째 기록 - "일반 대기열"의 첫 번째,

시계열 배열을 사용하지 않는 이유
 
eddy :
시계열 배열을 사용하지 않는 이유
시계열? 이것은 진드기 기록 과 같은 것을 기록하는 데 어떻게 든 도움이 됩니까?
 
Sergey_Rogozin :

1차원 배열 ValueArr[]을 채우려고 합니다.

맞는지 확실하지 않습니다.

각 틱에서 GetValue() 함수는 int 값을 반환합니다. ValueArr[] 을 채우는 방법?

내 시도가 맞습니까?

그래서
 int ValueArr[size]; 

그것은 금지되어 있습니다. 배열 이 선언되면 상수가 크기로 지정되거나 아무 것도 지정되지 않으며 배열은 동적으로 간주됩니다.

맞을거야

 int ValueArr[]; 

int init()
{
   ArrayResize(ValueArr,size);
}
 
티크 - 아니
 

말해주세요! MT4에 이전 트랜잭션의 결과를 고려하여 새 트랜잭션을 여는 기능이 있습니까? 그렇다면 어떻게 올바르게 철자합니까?

 
sto_mat :

말해주세요! MT4에 이전 트랜잭션의 결과를 고려하여 새 트랜잭션을 여는 기능이 있습니까? 그렇다면 어떻게 올바르게 철자합니까?


그런 내장 기능이 없습니다. 직접 작성해야 합니다. 여기에 예제를 보여 주었습니다. https://www.mql5.com/ru/forum/131277/page113
 
alsu :
그래서

그것은 금지되어 있습니다. 배열이 선언되면 상수가 크기로 지정되거나 아무 것도 지정되지 않으며 배열은 동적으로 간주됩니다.

맞을거야


그러면 아마도 다음과 같을 것입니다.

 int size, ValueArr[]; 
//-----------------
 int init()
 {
   ArrayResize (ValueArr,size);
 }
//-----------------

int start()
 {
   ValueArr[size- 1 ] = GetValue();
 return ();
 }

//-----------------

int GetValue()
 {
 .......
 return (Val);
 }

맞나요?