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

 
안녕하세요! 질문은 다음과 같습니다.
나는 마틴으로 그리드를 만들고 있지만 차례로는 아니지만 일반적으로 (모든 주문과 그리드는 신호가 수신되면 열리고 차례로 열리지 않습니다)! 문제가 발생했습니다 .... 한 주문 또는 해당 그리드가 트리거되면 모든 것이 제대로 작동하지만 주문 또는 해당 그리드가 열린 다음 동시에(또는 나중에) 다른 주문 및 해당 그리드가 열리면 그런 다음 마틴은 첫 번째 그리드를 계속하기 시작합니다! 무엇이 문제가 될 수 있습니까?
 
Artyom Trishkin :

좋은. 그러나 나는 여가 시간에만 볼 수 있습니다 - 직장, 집, 가족, 고양이 및 자녀 / 손자 ... 시어머니, 예 ...

네, 고양이들...

오늘 나는 새끼를 낳기 위해 어딘가에 갔다.

엎드려 자는 걸 좋아하는 스코틀랜드 미녀 :)

 
Artyom Trishkin :

글쎄, 코드를보십시오 - Vitaly가 직접 배치했습니다.

내 질문은 Vitaly의 코드와 아무 관련이 없습니다. 이제 나는 그것을 스스로 알아 냈습니다 ... 라이브러리 자체의 코드가 재 계산 깊이를 제어한다는 것이 밝혀졌습니다. 즉, 첫 번째 실행에서 전체 버퍼가 다시 계산되고 후속 실행에서는 필요한 양만 ... 이것이 바로 내가 듣고 싶은 것입니다. 이것이 내가 얼마나 게으른지입니다. 스스로 알아내는 것보다 물어보는 것이 더 쉽습니다. 하지만 때로는 해야 하는 경우가 있습니다.

 
Alexey Viktorov :

내 질문은 Vitaly의 코드와 아무 관련이 없습니다. 이제 나는 그것을 스스로 알아 냈습니다 ... 라이브러리 자체의 코드가 재 계산 깊이를 제어한다는 것이 밝혀졌습니다. 즉, 첫 번째 실행에서 전체 버퍼가 다시 계산되고 후속 실행에서는 필요한 양만 ... 이것이 바로 내가 듣고 싶은 것입니다. 이것이 내가 얼마나 게으른지입니다. 스스로 알아내는 것보다 물어보는 것이 더 쉽습니다. 하지만 때로는 해야 하는 경우가 있습니다.

따라서 Vitaly의 코드에서는 귀하가 질문한 안전보장이사회의 이 기능이 복제되었으며 모든 것이 바로 거기에 있습니다. 한 눈에 귀하의 질문에 대한 답을 이해하기에 충분합니다.

 
Artyom Trishkin :

따라서 Vitaly의 코드에서는 귀하가 질문한 안전보장이사회의 이 기능이 복제되었으며 모든 것이 바로 거기에 있습니다. 한 눈에 귀하의 질문에 대한 답을 이해하기에 충분합니다.

원본에 어떤 종류의 주석이 있는지 보았습니까?

 
Vitaly Muzichenko :

원본에 어떤 종류의 주석이 있는지 보았습니까?

그녀는 정말로 비교하지 않았다. 제 생각에는 두 파일 모두 주석입니다. 그리고 논리는 전혀 명확하지 않습니다. 조건이 비어 있고 빈 값으로 채워진 버퍼가 조건의 대괄호에서 제거될 때입니다. 음 .., 내 사업은 상위 5 위 안에하는 것입니다. 그리고 그것이 어떻게 작동하는지 - 그대로 두십시오.

 
Artyom Trishkin :

그녀는 정말로 비교하지 않았다. 제 생각에는 두 파일 모두 주석입니다. 그리고 논리는 전혀 명확하지 않습니다. 조건이 비어 있고 빈 값으로 채워진 버퍼가 조건의 대괄호에서 제거될 때입니다. 음 .., 내 사업은 상위 5 위 안에하는 것입니다. 그리고 그것이 어떻게 작동하는지 - 그대로 두십시오.

내 임무는 이 코드에서 iMAOnArray 를 대체하는 방법을 정확히 이해하는 것입니다.

즉, 기존 코드를 가능한 한 적게 변경하고 적용합니다.
 
Artyom Trishkin :

따라서 Vitaly의 코드에서는 귀하가 질문한 안전보장이사회의 이 기능이 복제되었으며 모든 것이 바로 거기에 있습니다. 한 눈에 귀하의 질문에 대한 답을 이해하기에 충분 합니다.

글쎄, 당신은 그것을 잡았습니다 ... 나는 방법을 모릅니다. 전체 코드를 이해하면서 철저히 검토해야 합니다.

 
Vitaly Muzichenko :

내 임무는 이 코드에서 iMAOnArray 를 대체하는 방법을 정확히 이해하는 것입니다.

즉, 기존 코드를 가능한 한 적게 변경하고 적용합니다.

여기서 이 문제를 이해하려고 하면 그런 상황이 보입니다.

귀하의 코드는 다음과 같이 말합니다

buf_3[i] = iMAOnArray(Array_1, 0 , per, 0 , MODE_SMMA , i);

그리고 문서에서

 double   iMAOnArray( 
   double        array[],           // массив 
   int            total,             // количество элементов 
   int           ma_period,         // период 
   int           ma_shift,         // сдвиг средней 
   int           ma_method,         // метод усреднения 
   int           shift             // сдвиг 
   );
아이마온어레이

【인】 계산할 요소의 수입니다. 0은 배열의 모든 요소를 의미합니다 .

함수가 호출 될 때마다 전체 배열이 다시 계산됩니다. 그것이 내가 Artyom에게 물은 것입니다... 그러나 mql5에서는 모든 것이 가속을 위해 제공되는 반면 mql4에서는 스스로 처리해야 한다는 것이 밝혀졌습니다. 그리고 그것을 올바르게 구성하는 방법에 대한 정보는 어디에도 없습니다.


최소한의 변경으로 변경하면 실수합니다. 알고리즘을 사용하고 다시 수행하는 것이 더 쉽습니다.

 

안녕하세요 이해를 도와주세요...

   HighForFutureSession= MathMax (high[rates_total- 1 ],high[rates_total- 2 ]);

MathMax 함수는 두 숫자 값의 최대 값을 반환합니다. -1과 -2 막대의 차이로 두 개의 동일한 배열 high[rates_total]에서 최대 숫자 값을 반환한다는 것이 밝혀졌습니다.

간단히 말해서 첫 번째 배열 12345와 두 번째 배열 1234에서 함수는 5를 반환합니까?