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

 
ANDREY :

나는 일반적인 생각을 이해했습니다 ... 그것이 나에게 보이는 것처럼. 팁 고마워. 어렵지 않다면 $ array[] 배열 이름 앞과 $ var 값 앞에 달러 기호가 무엇을 의미하는지 알려주십시오.

웬일인지 이것은 mql4에서 온 것이 아닌 것 같습니다.

예, 이것은 mql에서 온 것이 아니지만 리소스 소비의 의미는 동일합니다.

 
Aleksei Stepanenko :
귀하의 경우 주요 질문에 대한 답변이 흥미롭습니다. 매분 정렬이 필요한 이유는 무엇입니까? 어떻게 하면 보다 경제적인 방법으로 아이디어를 실현할 수 있습니까?

제가 올린 코드는 제가 풀지 못한 문제의 예시일 뿐입니다. 그리고 실제 코드에서는 20개에서 30개 요소 크기 범위의 열에서 각 눈금 에서 정렬을 수행해야 합니다. 쿼드 코어 프로세서가 있으므로 테스트할 때 아직 지연이 느껴지지 않습니다. 또한 실제 코드는 그리 크지 않습니다. 그러나 나는 아직까지 내 아이디어를 코드 형태로 완전히 상상하지 못했습니다. 완전히 인코딩하면 성능 측면에서 어떻게 개선할지 이미 생각합니다.

mql에서 1000개의 배열 요소를 정렬하거나 배열을 사용하는 다른 작업보다 루프에서 1000개의 값을 정렬하는 데 시간이 덜 걸린다는 것을 올바르게 이해했습니까? 그건 그렇고 말해주세요..... 하지만 일반적으로 mql4에서 어떤 작업이 시간이 많이 걸리나요?

도와 주셔서 감사합니다

 
Vitaly Muzichenko :

예, 이것은 mql에서 온 것이 아니지만 리소스 소비의 의미는 동일합니다.

이것은 어떤 언어이며 이 언어의 일부 구성을 mql에서 사용할 수 있다는 것을 올바르게 이해하고 있습니까? 이 정보가 미래에 나에게 유용할 것이라고 생각합니다.
도와 주셔서 감사합니다.

 
ANDREY :

이것은 어떤 언어이며 이 언어의 일부 구성을 mql에서 사용할 수 있다는 것을 올바르게 이해하고 있습니까? 이 정보가 미래에 나에게 유용할 것이라고 생각합니다.
도와 주셔서 감사합니다.

이것은 php이지만, 나는 당신이 그것을 조사할 필요가 없다고 생각합니다 . 이 포럼에 충분한 mql 답변이 있습니다.

 
Vitaly Muzichenko :

이것은 php이지만, 나는 당신이 그것을 조사할 필요가 없다고 생각합니다 . 이 포럼에 충분한 mql 답변이 있습니다.

이해했다. 고맙습니다.

 
ANDREY :

이해했다. 고맙습니다.

논리를 올바르게 생각하고 출력으로 얻고자 하는 것이 무엇인지 생각한 다음 작성을 시작해야 합니다. 매 틱마다 계산할 필요는 없지만 상황이 바뀔 때만 계산해야 하는 사항이 많이 있습니다.

이렇게 하려면 상황의 변화를 모니터링한 후 필요 없이 매 틱마다 계산하는 것보다 무거운 계산을 수행하는 것으로 충분합니다.

 
Vitaly Muzichenko :

논리를 올바르게 생각하고 출력으로 얻고자 하는 것이 무엇인지 생각한 다음 작성을 시작해야 합니다. 매 틱마다 계산할 필요는 없지만 상황이 바뀔 때만 계산해야 하는 사항이 많이 있습니다.

이렇게 하려면 상황의 변화를 모니터링한 후 필요 없이 매 틱마다 계산하는 것보다 무거운 계산을 수행하는 것으로 충분합니다.

나는 이미 논리에 대해 생각했고 출력에서 얻고자 하는 것을 명확하게 이해했습니다. Mql4(및 약간 의 Mql5) 는 이미 핸드북에 쓰여진 것에서 내가 필요한 것의 많은(전부는 아니지만) 이해하기 시작했습니다. 그리고 가장 중요한 것은 이 포럼에서 저에게 설명된 거의 모든 내용을 이해하고 있다는 것입니다. 이제 저는 제 아이디어를 인코딩하려고 합니다. 그러나 무작위로가 아니라 많은 도구에서 장기간에 걸쳐 테스트해야 하기 때문에 코드 실행에 최소한의 시간이 소요되는 방식입니다. 그리고 일반적으로 .... 원칙적으로 저장하는 것을 좋아합니다 :-). 즉, 지금 나는 여러 면에서 시행착오(코딩 경험이 거의 없음)를 통해 내 아이디어를 가장 좋은 방법으로 인코딩하려고 하는 동시에 미래의 시도에 대해 새롭고 유용한 것을 배웁니다.

 
ANDREY :

그러나 우연히가 아니라 코드 실행에 최소한의 시간이 소요되도록

그래서 정렬이 필요한 이유를 알려주면 다른 구현에 대한 아이디어를 던질 수 있습니다.

 
Aleksei Stepanenko :

그래서 정렬이 필요한 이유를 알려주면 다른 구현에 대한 아이디어를 던질 수 있습니다.

도와 주셔서 감사합니다. 당신은 나를 흥미롭게 ..... 1-2 일 이내에 정렬과 관련된 실제 코드의 일부를 염두에두고 (정렬과 관련이없는 다른 측면에서) 다음 의견을 찾기 위해 여기에 게시 할 것입니다. 당신의 얼굴에 전문가.

그리고 저는 또한 Maxim Kuznetsov 가 이 게시물에서 제게 준 정보에 대해 한 가지 질문이 있습니다 그는 여기에 당신보다 훨씬 덜 자주 오는 것 같으므로 그의 코드에 대해 저에게 뭔가를 설명해 주시면 감사하겠습니다.

무효 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. 이것은 사용자 정의 기능입니다.

2. 위에 있지 않은 코드에서 참조. void OnTick() 내의 기본 코드에 암시되어 있습니다.

3. 이 코드에서는 배열 인덱스만 변경합니다. 그리고 배열 요소의 값은 어떻게 되는지 추측만 할 수 있습니다.

이해가 안가네요...

1. 이 함수의 최종 실행 결과로 dst[j][i]가 dst[7][2] 인덱스의 새 값을 수신한다면 왜 이를 위해 트위스트 사이클이 필요했을까요? ? 이러한 인덱스 값을 dst[j][i]에 즉시 명시적으로 할당하는 것이 가능하지 않았습니까?

2. 이 코드에서 인덱스 값을 변경하면 원하는 배열 요소 값이 자동으로 필요한 새 셀에 자동으로 들어간다는 것을 이해했습니다.

3. 이 커스텀 함수에 대한 호출이 어떻게 생겼는지 적어주시면 감사하겠습니다.

배열에 대한 주제는 나에게 비교적 새로운 주제이며 이 정보가 현재 코드에는 적용되지 않지만 미래에는 유용할 것이라고 확신합니다. 그리고 천성적으로 저는 미래를 위해 비축하는 것을 정말 좋아합니다. :-)
도와 주셔서 감사합니다.

 

아니, 전문가와는 거리가 멀다

 double LoY[ 31 ][ 2 ], Mirror[ 2 ][ 31 ];

//вызывается так:
ConvertArray(LoY,Mirror);

//все значения строк из массива LoY запишутся в столбцы Mirror,
//условно сказать, массив повернётся
void ConvertArray( const double &src[ 31 ][ 2 ], double &dst[ 2 ][ 31 ])
   {
   for ( int i= 0 ; i< 31 ; i++) for ( int j= 0 ; j< 2 ; j++) dst[j][i]=src[i][j];
   }