void BySort( double &mas[][ 3 ]) { // Сортируем по размеру лота от большего к меньшему ArraySort (mas); ArraySetAsSeries (mas, true ); // при такой записи mql5 ругается, в mql4 работает
void BySort( double &mas [][ 3 ] )// выделенное лишнее { // Сортируем по размеру от большего к меньшему ArraySort (mas, WHOLE_ARRAY , 0 , MODE_DESCEND ); // вот это не работает в mql5
ArraySort (mas); ArraySetAsSeries (mas, true ); // а при такой записи ругается // это тоже лишнее }
AS_SERIES와 정렬은 완전히 다른 개념입니다.
1 - 내용을 변경하지 않고 배열 셀의 인덱싱 방향을 변경하고, 2 - 인덱싱을 변경하지 않고 셀의 내용을 변경하여 오름차순 또는 내림차순으로 정렬됩니다.
10000 x 10000은 2차원 아닌가요?
등...
글쎄요, 그것은 2차원입니다. 어떻게 든 저는 그것을 그렇게 말하는 것이 아닙니다. 분명히 행렬이 아니라 배열입니다. 행렬이 다차원성을 의미합니까?
이 코드에서 속도를 늦추는 것은 배열 항목이 아니라 루프 내의 루프입니다.
동의한다. 그렇게 말하지는 않았지만 더구나 그렇게 이해되지는 않았습니다.
이 코드에서 속도를 늦추는 것은 배열 항목이 아니라 루프 내의 루프입니다.
다른 프로그래밍 환경으로 전환하는 것이 정말 필요한가요? 아니면 모든 유형의 언어에 공통적인 작업이 아닌가요? 가속을 위한 해결 방법은 무엇입니까?
어리석게도 한 사이클에서 원격 사이클의 변수 값을 늘리면
{
int arr++
if (arr=ARRAY_SIZE_X) {z++;arr= 0 ;}
arra[q]=sm.d[q].m[nBar-z]; // M(I) SMA
}
//--- запишем данные массива в конец файла FileTell IsFileLineEnded
FileSeek (handle, 0 , SEEK_END );
FileWriteArray (handle,arra);
확인할 수는 있지만 컴퓨터를 괴롭히고 싶지 않습니다. 속도가 나지 않으면 다시 하드 추가 전압으로)))
다른 프로그래밍 환경으로 전환하는 것이 정말 필요한가요? 아니면 모든 유형의 언어에 공통적인 작업이 아닌가요? 가속을 위한 해결 방법은 무엇입니까?
어리석게도 한 사이클에서 원격 사이클에서 변수 값을 증가시키면 가속될까요?
확인할 수는 있지만 컴퓨터를 괴롭히고 싶지 않습니다. 속도가 나지 않으면 다시 하드 추가 전압으로)))
그리고 주기 후에 배열을 기록하려면 - 어떤 식으로든? 각 라인에만? 이것은 주기가 주기에 있는 첫 번째 옵션에 대한 저입니다.
물론 이 카운터에 카운터를 추가로 삽입하고 기록할 수 있으며 각 라인에 별도로 기록할 수는 없지만 측정 없이는 눈에 띄지 않을 정도로 프로세스 속도가 빨라지지 않을 것입니다.
이 크기의 배열은 할당된 RAM에 맞지 않습니다.
물론 이 카운터에 카운터를 추가로 삽입하고 기록할 수 있으며 각 라인에 별도로 기록할 수는 없지만 측정 없이는 눈에 띄지 않을 정도로 프로세스 속도가 빨라지지 않을 것입니다.
문서에 나와 있고 컴파일러도 다음과 같이 알려줍니다. " AS_SERIES 플래그 는 다차원 배열에 대해 설정할 수 없습니다. "
질문: mql5에서 배열을 정렬하는 방법
void Func()
{
double m[][ 3 ];
if (условия)
{
// много кода
c++;
ArrayResize (m, c);
m[c- 1 ][ 0 ]= Lots();
m[c- 1 ][ 1 ]= Ticket();
m[c- 1 ][ 2 ]= Profit();
}
BySort(m); // передаём в функцию "BySort"
}
void BySort( double &mas[][ 3 ])
{
// Сортируем по размеру лота от большего к меньшему
ArraySort (mas);
ArraySetAsSeries (mas, true ); // при такой записи mql5 ругается, в mql4 работает
... здесь работа с массивом и основной код
}문서에 나와 있고 컴파일러도 다음과 같이 알려줍니다. " AS_SERIES 플래그 는 다차원 배열에 대해 설정할 수 없습니다. "
질문: 배열을 정렬하는 방법:
if (условия)
{
// много кода
c++;
ArrayResize (m, c);
m[c- 1 ][ 0 ]= Lots();
m[c- 1 ][ 1 ]= Ticket();
m[c- 1 ][ 2 ]= Profit();
}
void BySort( double &mas [][ 3 ] )// выделенное лишнее
{
// Сортируем по размеру от большего к меньшему
ArraySort (mas, WHOLE_ARRAY , 0 , MODE_DESCEND ); // вот это не работает в mql5
ArraySort (mas);
ArraySetAsSeries (mas, true ); // а при такой записи ругается // это тоже лишнее
}
1 - 내용을 변경하지 않고 배열 셀의 인덱싱 방향을 변경하고, 2 - 인덱싱을 변경하지 않고 셀의 내용을 변경하여 오름차순 또는 내림차순으로 정렬됩니다.
또한 설명서에는 첫 번째 차원으로만 배열을 정렬할 수 있다고 나와 있습니다.
AS_SERIES와 정렬은 완전히 다른 개념입니다.
1 - 내용을 변경하지 않고 배열 셀의 인덱싱 방향을 변경하고, 2 - 인덱싱을 변경하지 않고 셀의 내용을 변경하여 오름차순 또는 내림차순으로 정렬됩니다.
또한 설명서에는 첫 번째 차원으로만 배열을 정렬할 수 있다고 나와 있습니다.
오름차순으로 정렬
지금 뒤집는 방법? 내림차순으로 필요하며 이것이 제비를 정렬하는 것입니다.
오름차순으로 정렬
지금 뒤집는 방법? 내림차순으로 필요하며 이것이 제비를 정렬하는 것입니다.
음, 루프에서 가장 멍청한 옵션은 전체 배열을 역순으로 다시 작성하는 것입니다. 그리고 그만한 가치가 있습니까???
오름차순으로 정렬
지금 뒤집는 방법? 내림차순으로 필요하며 이것이 제비를 정렬하는 것입니다.
정렬 후 ArraySetAsSeries를 사용하여 인덱싱 순서를 변경하면 어떻게 될까요?
그러면 다음과 같이 나타 납니다.