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

 
Alexey Viktorov :
Artyom, 당신은 틀렸습니다. 전역 수준에서 선언된 배열은 프로그램의 모든 부분에서 볼 수 있으며 어딘가에서 어딘가로 전송할 필요가 없습니다. 프로그램의 한 곳에서는 채워지고 다른 곳에서는 정렬되고 세 번째로 읽혀지는 것은 중요하지 않습니다.

동일한 함수가 다른 배열의 데이터를 성공적으로 정렬 및/또는 검색할 수 있습니다. 권리? 그렇다면 미래를 위해 참조로 배열을 전달하는 것이 좋습니다. 음, 함수를 호출 할 때 어떤 배열과 함께 작동하는지 보는 것은 나쁘지 않습니다.

내가 여기 있는 이유는 바로 이러한 이유 때문입니다. 어디가 잘못되었나요?

 
Artyom Trishkin :

동일한 함수가 다른 배열의 데이터를 성공적으로 정렬 및/또는 검색할 수 있습니다. 권리? 그렇다면 미래를 위해 참조로 배열을 전달하는 것이 좋습니다. 음, 함수를 호출 할 때 어떤 배열과 함께 작동하는지 보는 것은 나쁘지 않습니다.

내가 여기 있는 이유는 바로 이러한 이유 때문입니다. 어디가 잘못되었나요?

이해했다. 레고 프로그래머를 위한 조언. 당신은 그러한 변태를 스스로하지 않습니다.

그러면 배열이 전역 수준에서 선언되어야 한다는 잘못된 점이 한 가지 남아 있습니다.

우리가 서로를 이해하게 되어 기쁩니다.

 
Alexey Viktorov :

이해했다. 레고 프로그래머를 위한 조언. 당신은 그러한 변태를 스스로하지 않습니다.

그러면 배열이 전역 수준에서 선언되어야 한다는 잘못된 점이 한 가지 남아 있습니다.

우리가 서로를 이해하게 되어 기쁩니다.

이러한 맥락에서 나는 다음과 같은 결과를 낳고 있습니다.

  1. 틱당 가능한 한 적은 주기를 달성해야 합니다.
  2. 시장 주문 및 위치 데이터가 있는 영구 어레이 하나와 삭제/종료된 주문 및 위치 데이터가 있는 어레이 하나가 필요합니다.
  3. 함수에 로컬로 배열이 있는 경우 다시 액세스하려면 다음 채우기가 필요합니다. 새 눈금에 한 번 채우는 것이 좋습니다. 이는 배열이 전역임을 의미합니다. 그렇지 않으면 함수가 종료될 때 손실됩니다.
  4. 배열에서 무언가를 찾으려면 채워진 배열과 찾은 데이터를 반환하는 함수가 필요합니다. 이미 함수 내에서 필요한 계산을 위해 보조 배열을 선언할 수 있습니다.

이를 기반으로 폐쇄 및 개방 주문 및 포지션에 대해 글로벌 어레이를 보유하는 것이 더 좋습니다. 새로운 틱이 발생하면 필요한 수의 주문/포지션 을 한 번 살펴보고 두 개의 배열을 채웁니다. 그런 다음 동일한 틱에서 필요한 모든 데이터를 그들로부터 얻습니다. 또한 마지막 마감/오픈 주문/포지션 및 모든 데이터가 계산될 뿐만 아니라 부분 마감의 경우 모든 포지션의 모든 상위 및 하위 티켓이 검색됩니다. 따라서 언제든지 이 위치 또는 해당 위치가 두 번 이상 부분적으로 마감된 경우 이 위치가 시작된 티켓을 볼 수 있습니다. 이 모든 것은 이미 타이머에서 작동하는 하나의 클래스에서 작동합니다. 글쎄, 나는 적은 총 사이클 수로 필요한 다른 많은 데이터를 가지고 있습니다. 테스터의 경우 어레이에 필요한 기록 깊이가 설정됩니다.

등. ...

 
Artyom Trishkin :

이러한 맥락에서 나는 다음과 같은 결과를 낳고 있습니다.

  1. 틱당 가능한 한 적은 주기를 달성해야 합니다.
  2. 시장 주문 및 위치 데이터가 있는 영구 어레이 하나와 삭제/종료된 주문 및 위치 데이터가 있는 어레이 하나가 필요합니다.
  3. 함수에 로컬로 배열이 있는 경우 다시 액세스하려면 다음 채우기가 필요합니다. 새 눈금에 한 번 채우는 것이 좋습니다. 이는 배열이 전역임을 의미합니다. 그렇지 않으면 함수가 종료될 때 손실됩니다.
  4. 배열에서 무언가를 찾으려면 채워진 배열과 찾은 데이터를 반환하는 함수가 필요합니다. 이미 함수 내에서 필요한 계산을 위해 보조 배열을 선언할 수 있습니다.

이를 기반으로 폐쇄 및 개방 주문 및 포지션에 대해 글로벌 어레이를 보유하는 것이 더 좋습니다. 새로운 틱이 발생하면 필요한 수의 주문/포지션 을 한 번 살펴보고 두 개의 배열을 채웁니다. 그런 다음 동일한 틱에서 우리는 그들로부터 필요한 모든 데이터를 얻습니다. 또한 마지막 마감/오픈 주문/포지션 및 모든 데이터가 계산될 뿐만 아니라 부분 마감의 경우 모든 포지션의 모든 상위 및 하위 티켓이 검색됩니다. 따라서 언제든지 이 위치 또는 해당 위치가 두 번 이상 부분적으로 마감된 경우 이 위치가 시작된 티켓을 볼 수 있습니다. 이 모든 것은 이미 타이머에서 작동하는 하나의 클래스에서 작동합니다. 글쎄, 나는 적은 총 사이클 수로 필요한 다른 많은 데이터를 가지고 있습니다. 테스터의 경우 어레이에 필요한 기록 깊이가 설정됩니다.

등. ...

그래서 서로를 잘 이해하지 못했다.

배열이 전역인 경우 이 함수 내에서 이미 표시되는 경우 참조로 함수에 전달하는 이유는 무엇입니까?

 
Alexey Viktorov :

그래서 서로를 잘 이해하지 못했다.

배열이 전역인 경우 이 함수 내에서 이미 표시되는 경우 참조로 함수에 전달하는 이유는 무엇입니까?

함수 오버로딩 - 그런 것이 있습니다 ;)

하나의 함수에서 다른 배열로 동일한 작업을 수행해야 하는 경우 ...

그러나 우리는 다양한 특별한 경우를 논의하고 있습니다 ...

 
Artyom Trishkin :

함수 오버로딩 - 그런 것이 있습니다 ;)

하나의 함수에서 다른 배열로 동일한 작업을 수행해야 하는 경우 ...

그러나 우리는 다양한 특별한 경우를 논의하고 있습니다 ...

맙소사, 당신의 생각을 이해했습니다. 그러나 그것들은 레고 프로그래머들에게 조언하는 것과 매우 유사합니다.
 
Alexey Viktorov :
글쎄요, 하느님 감사합니다. 당신의 생각을 이해했습니다. 그러나 그것들은 레고 프로그래머들에게 조언하는 것과 매우 유사합니다.

100% 작동하는 엄청난 수의 기능을 보유하고 있기 때문에 매번 다시 작성하는 것은 매우 이상할 것입니다. 이것은 큐브에서 집 수집가에 대한 조언이 아닙니다. 이것은 자신의 함수 라이브러리와 클래스를 축적하기 위한 팁입니다. 그리고 하나의 함수가 참조로 전달되는 배열에 따라 여러 배열에서 작동한다는 사실이 잘못된 점은 무엇입니까? 함수 템플릿의 문제점은 무엇입니까?

배열을 정렬하는 코드가 있다면 배열 의 각 유형에 대해 별도의 함수를 작성하는 이유는 무엇입니까? 결국 모든 유형을 단순히 오버로드하고 정렬할 수 있습니다. ArraySort()가 어떻게 작동한다고 생각합니까? 거기에 다른 유형의 배열을 전달하고 출력에서 전달한 정렬된 배열을 얻습니다. 아니면 메타 인용도 레고 코더입니까?

 
Artyom Trishkin :

100% 작동하는 엄청난 수의 기능을 보유하고 있기 때문에 매번 다시 작성하는 것은 매우 이상할 것입니다. 이것은 큐브에서 집 수집가에 대한 조언이 아닙니다. 이것은 자신의 함수 라이브러리와 클래스를 축적하기 위한 팁입니다. 그리고 하나의 함수가 참조로 전달되는 배열에 따라 여러 배열에서 작동한다는 사실이 잘못된 점은 무엇입니까? 함수 템플릿의 문제점은 무엇입니까?

배열을 정렬하는 코드가 있다면 배열 의 각 유형에 대해 별도의 함수를 작성하는 이유는 무엇입니까? 결국 모든 유형을 단순히 오버로드하고 정렬할 수 있습니다. ArraySort()가 어떻게 작동한다고 생각합니까? 거기에 다른 유형의 배열을 전달하고 출력에서 전달한 정렬된 배열을 얻습니다. 아니면 메타따옴표도 레고 코더입니까?

중요한 것은 이것에 도달하지 않는 것입니다.

https://www.mql5.com/en/forum/165468/page3#comment_3978059

Простой советник. Проверка размера бара. Покупка/продажа
Простой советник. Проверка размера бара. Покупка/продажа
  • www.mql5.com
Что должен делать советник: на каждом тике проверять размер бара как только размер бара станет равным или превысит заданный размер то: если свеча б...
 
Alexey Viktorov :

중요한 것은 이것에 도달하지 않는 것입니다.

https://www.mql5.com/en/forum/165468/page3#comment_3978059

아무 소용이 없습니다. 그는 수표에 대한 수표를 가지고 그 다음 그것이 올바르게 수표되었는지 확인하는 수표를 가지고 있습니다. 그리고 여전히 비뚤어져 있습니다. 그곳은 그렇지 않습니다. 교수가 필요합니다.
 

변수가 있다

정수 수준 = 0;

프로그램이 진행되는 동안 지속적으로 변경됩니다. 조건 작성을 도와주세요. 레벨이 변경되지 않은 경우 아무 것도 하지 않고, 레벨이 변경된 경우(위나 아래로 상관 없음) 특정 작업을 수행합니다. { operator }

사유: