MQL4(또는 MQL5에서 MQL4에서 작업 중 )에 LoY[2][7] 배열을 LoY[7][2] 배열 로 또는 그 반대로 변환하는 함수가 있다고 알려주십시오. 일종의 조옮김. 아래는 필요한 변환의 예입니다. 기능이 있는 것이 바람직합니다. 루프에서 배열을 변환하는 방법을 이미 알고 있습니다.
배열의 모든 데이터를 재정렬하는 것보다 알고리즘/프로그램에서 인덱스를 변경하거나 간접 참조를 사용하는 것이 더 쉽고 빠릅니다.
답변 주셔서 대단히 감사합니다. 불행히도, 나는 당신만큼 프로그래밍에 능숙하지 않습니다. mql4 로 코드를 작성해 주시면 대단히 감사하겠습니다. 내 문제를 해결하기 위해 배열 인덱스 가 변경된 도움으로. 그리고 간접적인 호소의 예를 들어 주시면 두 배로 감사하겠습니다.
그러면 생각의 과정을 더 정확하게 이해하고 당신 덕분에 새롭고 유용한 것을 배우게 될 것입니다.
답변 주셔서 대단히 감사합니다. 불행히도, 나는 당신만큼 프로그래밍에 능숙하지 않습니다. mql4 로 코드를 작성해 주시면 대단히 감사하겠습니다. 내 문제를 해결하기 위해 배열 인덱스 가 변경된 도움으로. 그리고 간접적인 호소의 예를 들어 주시면 두 배로 감사하겠습니다.
그러면 나는 생각의 과정을 더 정확하게 이해하고 당신 덕분에 새롭고 유용한 것을 배우게 될 것입니다.
블록 1은 ArrayFill(LoY,0,10,0.5555)을 실행하고 처음 10개의 배열 요소 를 0.5555로 설정합니다. 그런 다음 0열에서 31열로 전체 null 행을 정렬해야 합니다.
ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND)를 사용하여 블록 2에서 정렬하고 싶습니다. 그러나 이 함수는 첫 번째 차원, 즉 행을 기준으로 2차원 배열을 정렬하기 때문에 정렬할 수 없습니다. 1. ArraySort() 두 번째 차원으로만 정렬해야 하는 문자열이 있습니다. 즉, 2차원 배열을 열로 정렬하지 않습니다(1차원 배열만).
그래서 첫 번째 블록을 실행한 후 LoY[2][31]을 LoY[31][2] 로 변환하여 블록 2에서 ArraySort()가 필요한 값을 정렬할 수 있도록 하는 것이 좋을 것이라고 생각했습니다. 그리고 ArrayFil()이 처음 10개를 변경한 후 null 문자열에서 모든 값을 정렬해야 합니다.
2차원 배열을 2차원, 즉 열을 기준으로 다른 함수를 사용하거나 다른 것을 사용하여 정렬할 수 있습니까? 죄송합니다... 코드를 제거하는 방법을 모르겠습니다. 따라서 LoY[S2][0]=Bid 대신 180행에 오류가 있다고 말씀드리겠습니다. LoY[0][52]=입찰가 필요
댓글 형식은 브로커마다 다를 수 있습니다.
나는 "To"와 "From"의 부재를 만나지 않았다
누구나 하루 중 시간을 좋아합니다!
MQL4(또는 MQL5에서 MQL4에서 작업 중 )에 LoY[2][7] 배열을 LoY[7][2] 배열 로 또는 그 반대로 변환하는 함수가 있다고 알려주십시오. 일종의 조옮김. 아래는 필요한 변환의 예입니다. 기능이 있는 것이 바람직합니다. 루프에서 배열을 변환하는 방법을 이미 알고 있습니다.
도와 주셔서 감사합니다.
누구나 하루 중 시간을 좋아합니다!
MQL4(또는 MQL5에서 MQL4에서 작업 중 )에 LoY[2][7] 배열을 LoY[7][2] 배열 로 또는 그 반대로 변환하는 함수가 있다고 알려주십시오. 일종의 조옮김. 아래는 필요한 변환의 예입니다.
도와 주셔서 감사합니다.
참고로: 알고리즘의 고전(일반적으로 IT)에서는 이러한 작업을 zip이라고 합니다.
라이브러리에는 그러한 기능이 없습니다. 그녀는 몹시 탐욕스럽고 비효율적입니다. 배열의 모든 데이터를 재정렬하는 것보다 알고리즘/프로그램에서 인덱스를 변경하거나 간접 참조를 사용하는 것이 더 쉽고 빠릅니다.
배열의 모든 데이터를 재정렬하는 것보다 알고리즘/프로그램에서 인덱스를 변경하거나 간접 참조를 사용하는 것이 더 쉽고 빠릅니다.
답변 주셔서 대단히 감사합니다. 불행히도, 나는 당신만큼 프로그래밍에 능숙하지 않습니다. mql4 로 코드를 작성해 주시면 대단히 감사하겠습니다. 내 문제를 해결하기 위해 배열 인덱스 가 변경된 도움으로. 그리고 간접적인 호소의 예를 들어 주시면 두 배로 감사하겠습니다.
그러면 생각의 과정을 더 정확하게 이해하고 당신 덕분에 새롭고 유용한 것을 배우게 될 것입니다.
답변 주셔서 대단히 감사합니다. 불행히도, 나는 당신만큼 프로그래밍에 능숙하지 않습니다. mql4 로 코드를 작성해 주시면 대단히 감사하겠습니다. 내 문제를 해결하기 위해 배열 인덱스 가 변경된 도움으로. 그리고 간접적인 호소의 예를 들어 주시면 두 배로 감사하겠습니다.
그러면 나는 생각의 과정을 더 정확하게 이해하고 당신 덕분에 새롭고 유용한 것을 배우게 될 것입니다.
void Convert_7x2_2x7 (const double &src[7][2],double &dst[2][7]) {
for(int i=0;i<7;i++)
for(int j=0;j<2;j++) {
dst[j][i]=src[i][j];
}
}
짧지만 이것은 당신이 할 수 있는 최악의 일입니다 :-) 두 개의 중첩 루프와 배열의 요소별 복사.
알고리즘 내부에 있을 때 인덱스의 이름을 바꿀 수 있습니다. 코드에서 i를 j로 변경하거나 그 반대로 변경하십시오.
void Convert_7x2_2x7 (const double &src[7][2],double &dst[2][7]) {
for(int i=0;i<7;i++)
for(int j=0;j<2;j++) {
dst[j][i]=src[i][j];
}
}
짧지 만 최악의 일입니다 :-)
매우 감사합니다. 더 나은 예는 어떻습니까? :-) .... 그래서 나는 완전한 이해를 가질 것입니다.
요소별 복사는 길고 에너지 집약적입니다. 특히 큰 배열의 경우....제가 틀리지 않은 경우입니다.
앤드류, 왜 이러는거야? 데이터가 이미 어레이에 수집되어 있다면 아무 것도 이동하지 않고 그대로 사용할 수 있는 방법을 찾을 수 있습니다. 또는 올바른 순서로 어레이로 사전 조립합니다. 무엇을 받고 싶습니까?
다음은 내가 필요한 것을 설명하는 간단한 코드입니다.
블록 1은 ArrayFill(LoY,0,10,0.5555)을 실행하고 처음 10개의 배열 요소 를 0.5555로 설정합니다. 그런 다음 0열에서 31열로 전체 null 행을 정렬해야 합니다.
ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND)를 사용하여 블록 2에서 정렬하고 싶습니다. 그러나 이 함수는 첫 번째 차원, 즉 행을 기준으로 2차원 배열을 정렬하기 때문에 정렬할 수 없습니다. 1. ArraySort() 두 번째 차원으로만 정렬해야 하는 문자열이 있습니다. 즉, 2차원 배열을 열로 정렬하지 않습니다(1차원 배열만).
그래서 첫 번째 블록을 실행한 후 LoY[2][31]을 LoY[31][2] 로 변환하여 블록 2에서 ArraySort()가 필요한 값을 정렬할 수 있도록 하는 것이 좋을 것이라고 생각했습니다. 그리고 ArrayFil()이 처음 10개를 변경한 후 null 문자열에서 모든 값을 정렬해야 합니다.
2차원 배열을 2차원, 즉 열을 기준으로 다른 함수를 사용하거나 다른 것을 사용하여 정렬할 수 있습니까?
죄송합니다... 코드를 제거하는 방법을 모르겠습니다. 따라서 LoY[S2][0]=Bid 대신 180행에 오류가 있다고 말씀드리겠습니다. LoY[0][52]=입찰가 필요
도와 주셔서 감사합니다