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

 

모두에게 좋은 하루! MQL4에 대해 질문이 있습니다.

기본적으로 배열은 0부터 시작하여 오름차순으로 인덱싱됩니다.

문제

임의의 정수 값과 임의의 순서로 10개의 값으로 위의 배열을 인덱싱하는 데 사용할 수 있는 함수 또는 언어 구성은 무엇입니까? 예를 들면 아래와 같습니다. 이 방법을 적절한 코드로 시연해 주시면 대단히 감사하겠습니다.

고맙습니다.

 
ANDREY :

모두에게 좋은 하루! MQL4에 대해 질문이 있습니다

기본적으로 배열은 0부터 시작하여 오름차순으로 인덱싱됩니다.

문제

임의의 정수 값과 임의의 순서로 10개의 값으로 위의 배열을 인덱싱하는 데 사용할 수 있는 함수 또는 언어 구성은 무엇입니까? 예를 들면 아래와 같습니다. 이 방법을 적절한 코드로 시연해 주시면 대단히 감사하겠습니다.

고맙습니다.

무작위로 섞고,   버퍼 또는 인덱스( MathRand )

 
Valeriy Yastremskiy :

경고 구조의 표시기에서. 경보 (b) 아래 5행;

분명히 이것은 시스템이 시작된 후 경과한 밀리초 수입니다)

고맙습니다!
 
Taras Slobodyanik :

무작위로 섞고,   버퍼 또는 인덱스(MathRand)

임의의 순서로 인덱스를 배열하는 것과 관련하여 수학 함수 MathRand() 를 사용하여 수행된다는 것을 깨달았습니다.

질문 기본 인덱스 값(0,1,2,3,4,5,6...9)을 필요한 인덱스 값으로 대체하기 위해 어떤 함수를 사용할 수 있습니까? . 지표를 작성하는 데 이 작업이 필요하지 않습니다.

고맙습니다.

 
ANDREY :

임의의 순서로 인덱스를 배열하는 것과 관련하여 수학 함수 MathRand() 를 사용하여 수행된다는 것을 깨달았습니다.

질문 기본 인덱스 값(0,1,2,3,4,5,6...9)을 필요한 인덱스 값으로 대체하기 위해 어떤 함수를 사용할 수 있습니까? . 지표를 작성하는 데 이 작업이 필요하지 않습니다.

고맙습니다.

두 번째 버퍼 - 인덱스 버퍼를 만듭니다.
0에서 buffer_size까지의 혼합 값으로 채우십시오. 이는 인덱스입니다)

..또는 난수를 가져와 버퍼 값을 가져오는 데 사용합니다.
 
Taras Slobodyanik :

두 번째 버퍼 - 인덱스 버퍼를 만듭니다.
0에서 buffer_size까지의 혼합 값으로 채우십시오. 이는 인덱스입니다)

..또는 난수를 가져와 버퍼 값을 가져오는 데 사용합니다.

도와 주셔서 감사합니다.

다음은 간단한 코드입니다.

 double MaX[ 10 ];
int a;
void OnTick ()
{
if (Minute()!=Min)
{
if (a== 9 )
{
a= 0 ;
}
a++;
MaX[a]=Bid;
Min=Minute();
}
}

10분 후 배열은 0에서 9 사이의 인덱스로 가격 값으로 채워집니다.
어렵지 않다면 배열이 동일한 값으로 채워지도록 코드를 변경하되 이 배열의 인덱스는 45,90,119,120,234,336,338,564,607,901 순서로 배열되었습니다.

아직 인덱스 값을 섞을 필요는 없습니다.
도와 주셔서 감사합니다.

단지 내 전략에 지표가 없다는 것뿐입니다. 따라서 버퍼에 익숙하지 않습니다. 내가 알기로는 버퍼는 표시기의 요소입니다.

 
ANDREY :

도와 주셔서 감사합니다.

다음은 간단한 코드입니다.

10분 후 배열은 0에서 9 사이의 인덱스로 가격 값으로 채워집니다.
어렵지 않다면 배열이 동일한 값으로 채워지도록 코드를 변경하되 이 배열의 인덱스는 45,90,119,120,234,336,338,564,607,901 순서로 배열되었습니다.

아직 인덱스 값을 섞을 필요는 없습니다.
도와 주셔서 감사합니다.

단지 내 전략에 지표가 없다는 것뿐입니다. 따라서 버퍼에 익숙하지 않습니다. 내가 알기로는 버퍼는 표시기의 요소입니다.

인덱스 901은 배열에 902개의 요소가 있음을 의미합니다.
질량[45]=최대[0]...질량[901]=최대[9]
 
Valeriy Yastremskiy :
인덱스 901은 배열에 902개의 요소가 있음을 의미합니다.
질량[45]=최대[0]...질량[901]=최대[9]

아니요... 배열에 10개의 요소가 있습니다. 그리고 이 10개 요소의 이 10개 인덱스는 이 시퀀스에서 이 값 으로 표시 되어야 합니다 . (6) 338, (7) 564, (8) 607, (9) 901

대괄호 - 인덱스의 이전 값. 그리고 그 자리에 대괄호 없이 새로운 값을 넣어야 합니다.

의 배열 요소 를 인덱싱할 수 있습니다........ 100

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов массива...
 
ANDREY :

아니요... 배열에 10개의 요소가 있습니다. 그리고 이 10개 요소의 이 10개 인덱스는 이 시퀀스에서 이 값 으로 표시 되어야 합니다 . (6) 338, (7) 564, (8) 607, (9) 901

대괄호 - 인덱스의 이전 값. 그리고 그 자리에 대괄호 없이 새 값을 넣어야 합니다.


즉, 0,1,2,3,4 순서가 아닌 임의의 숫자 시퀀스를 사용 하여 임의의의 배열 요소 를 인덱싱할 수 있습니다........ 100

색인   ( 라틴어 색인 - 목록, 레지스트리, 포인터 및 검지) - 배열에서 요소의 위치를 나타내는 숫자, 문자 또는 기타 문자 조합.

인덱스 45는 목록의 45번째 요소를 가리키고 인덱스 90은 90번째 요소를 가리킵니다.

 
ANDREY :

아니요... 배열에 10개의 요소가 있습니다. 그리고 이 10개 요소의 이 10개 인덱스는 이 시퀀스에서 이 값 으로 표시 되어야 합니다 . (6) 338, (7) 564, (8) 607, (9) 901

대괄호 - 인덱스의 이전 값. 그리고 그 자리에 대괄호 없이 새 값을 넣어야 합니다.


즉, 0,1,2,3,4 순서가 아닌 임의의 숫자 시퀀스를 사용 하여 임의의의 배열 요소 를 인덱싱할 수 있습니다........ 100

나는 뭔가를 이해하지 못했습니다. 배열 인덱스는 0에서 N까지의 인덱스입니다. 그리고 당신이 원하는 것은 해시가 있는 사전과 비슷합니다. 배열에서 이것을 하는 방법을 모르겠고 이것은 일반 배열에서 할 수 없다고 생각합니다. MT에는 사전이 있는 bibla 일반 클래스가 있습니다. 도움이 될 것입니다.

Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения
Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения
  • 2017.12.07
  • www.mql5.com
С 6 декабря 2017 года в стандартную поставку MetaTrader 5 стали входить так называемые Generic-классы, реализующие эффективные алгоритмы для хранен...