MT4에서 MT5로 옮기는 문제. 또는 더 정확하게는 MT5에서 일부 알고리즘의 오류 없는 실행이 불가능합니다. - 페이지 3

 
Eugeni Neumoin :

나는 질문에 대답하려고 노력했다. 데이터를 사용할 수 없습니다.

로그인 - 툴팁에 로그인합니다. 툴팁 코드가 표시됩니다. 시계열이 형성되었습니다. W1 시계열 차트가 작성되었습니다. 액세스가 누락되었습니다. iBarShift 함수에서 오류가 발생했습니다. MT4에는 이러한 오류가 없습니다.

코드와 작업 결과를 보여 달라는 요청을 다시 한 번 무시합니다.

재현 가능한 MQL5 코드를 제공하십시오.

 
Eugeni Neumoin :

Artem, 그리고 기사의 토론 스레드에서 내 메시지를 삭제한 것은 당신이었습니다. 포럼 회원의 요청에 응답한 곳은 어디입니까?

방금 이 포럼 스레드에서 제기된 주제를 다루었습니다. 그리고 그런 예의 없는 태도에 화가 났습니다. 그리고 이 포럼 스레드를 만들었습니다.

======

나는 전에 이 포럼에서 의견 차이가 있었습니다. 여기서 논의하고 싶지 않습니다. 검열 없이 많은 것을 말할 수 있는 포럼이 많이 있습니다.

2005년에 중재자(HQ)가 Alpari 포럼에서 비슷한 일을 했습니다. 그리고 나서 거의 전체 포럼이 Alpari에서 Onyx로 이동했습니다.

아니, 나는 아무것도 삭제하지 않았다.

 
Vladimir Karputov :

코드와 작업 결과를 보여 달라는 요청을 다시 한 번 무시합니다.

재현 가능한 MQL5 코드를 제공하십시오.

사실 이 코드에는 약 50,000줄이 있습니다. 공개적으로 올리지 않겠습니다.

상황이 떠돌고 있습니다. 하지만... 다른 코드를 만들어 보겠습니다. 작지도 않습니다.

그리고 시간이 걸릴 것입니다.

내가 참조하는 언어 참조에서 내 참조를 읽었기를 바랍니다. 거기에 Metaquotes 직원 중 한 명이 흑백으로 데이터에 대한 액세스가 언제든지 종료될 수 있다고 썼습니다.

다음은 언어 참조의 전체 인용문입니다.

데이터 가용성

HCC 형식 또는 즉시 사용 가능한 HC 형식의 데이터 가용성이 차트에 표시하거나 mql5 프로그램에서 사용하기 위해 이 데이터의 무조건적인 가용성을 항상 의미하지는 않습니다.

mql5 프로그램에서 가격 데이터 또는 지표 값에 액세스할 때 특정 시점 또는 특정 시점부터 사용 가능하다는 보장이 없음을 기억하십시오. 이는 리소스를 절약하기 위해 MetaTrader 5가 mql5 프로그램에 필요한 데이터의 전체 복사본을 저장하지 않고 터미널 데이터베이스에 대한 직접 액세스를 제공하기 때문입니다.

모든 기간에 대한 가격 이력은 HCC 형식의 일반 데이터에서 작성되며 서버에서 데이터를 업데이트하면 모든 기간에 대한 데이터가 업데이트되고 지표가 다시 계산됩니다. 결과적 으로 데이터가 조금 전에 사용 가능했더라도 데이터에 대한 액세스가 거부될 수 있습니다 .

그리고 더 쉽게 할 수 있습니다. 여러 사람들이 이미 나에게서 이 프로그램을 구입했습니다. 이 스레드의 주제에 대해 그들의 측으로부터 주장이 있을 것입니다. 저는 그들의 메시지를 여기에 게시할 것입니다. 그리고 이것이 언어 개발자에 의해 제공되었음을 모든 사람에게 알리기 위해: 이 데이터가 얼마 전에 사용 가능했더라도 데이터에 대한 액세스가 거부될 수 있습니다 .

 
Eugeni Neumoin :


코드와 함께 차트의 막대 수와 같은 터미널 설정을 제공합니다.

 
Vladimir Karputov :

코드와 함께 차트의 막대 수와 같은 터미널 설정을 제공합니다.

기본적으로 막대의 수입니다. 약 100,000개 정도. 그리고 위의 예에서 271개의 막대에 대한 액세스가 거부되었습니다.

 
Eugeni Neumoin :

기본적으로 막대의 수입니다. 약 100,000개 정도. 그리고 위의 예에서 271개의 막대에 대한 액세스가 거부되었습니다.

이미 H1에서 작업할 때 막대의 중요하지 않은 수입니다.

따라서: 재현 가능한 코드, 터미널 설정( 차트의 막대 수 ).


이 최소값이 없으면 논의할 것이 없습니다. 지금까지는 공기이기 때문입니다.

 
Eugeni Neumoin :

기본적으로 막대의 수입니다. 약 100,000개 정도. 그리고 위의 예에서 271개의 막대에 대한 액세스가 거부되었습니다.

2분에 한 번씩 지표에서 사용된 모든 기간 및 기호에서 데이터를 수신해야 합니다.

OnTimer() 핸들러, 즉 타이머에서 표시기가 90초마다 한 번씩 작동하는 데 필요한 모든 시간 프레임에 액세스합니다. 모든 복사 기능을 사용할 수 있습니다. 예를 들어 사용된 각 TF의 첫 번째 또는 현재 막대에서 "아무데도 없는" 데이터를 가져옵니다. 이것은 모든 기간의 모든 데이터를 최신 상태로 유지하기에 충분합니다.

그리고 OnCalculate()의 맨 처음에 필요한 시간 프레임의 데이터에 액세스하여 함수가 반환하는 내용을 확인합니다. -1이면 다음 틱까지 종료합니다.

 
Artyom Trishkin :

2분에 한 번씩 지표에서 사용된 모든 기간 및 기호에서 데이터를 수신해야 합니다.

OnTimer() 핸들러, 즉 타이머에서 표시기가 90초마다 한 번씩 작동하는 데 필요한 모든 시간 프레임에 액세스합니다. 모든 복사 기능을 사용할 수 있습니다. 예를 들어 사용된 각 TF의 첫 번째 또는 현재 막대에서 "아무데도 없는" 데이터를 가져옵니다. 이것은 모든 기간의 모든 데이터를 최신 상태로 유지하기에 충분합니다.

그리고 OnCalculate()의 맨 처음에 필요한 시간 프레임의 데이터에 액세스하여 함수가 반환하는 내용을 확인합니다. -1이면 다음 틱까지 종료합니다.

OnCalculate()에는 문제가 없습니다. 전체 GUI는 OnChartEvent() 를 통해 작동합니다. 그래픽 인터페이스에는 400개 이상의 버튼이 있으며 일부 버튼은 시계열과 어떤 식으로든 상호 작용하지 않습니다. OnCalculate() 및 OnTrade() 함수는 다음 틱까지 기다릴 수도 있습니다. 심리학적으로는 감지할 수 없습니다. 그러나 OnChartEvent()를 사용하면 더 복잡합니다. 여기에 인간 심리학이 작용합니다. 프로그램 사용자는 그래픽 인터페이스의 버튼을 누릅니다. 그리고 원하는 응답을 얻지 못합니다. 그의 반응은 어떻습니까? 반응 중 하나 - 동일한 버튼을 다시 누릅니다. 많은 버튼을 두 번째 클릭하면 이 버튼으로 연결된 기능이 비활성화되도록 만들었습니다. 다른 방법으로 버튼 동작을 비활성화하라는 귀하의 제안을 예상합니다. 그러나 MT4에도 동일한 프로그램이 있습니다. 모든 것이 잘 작동합니다. MT4에는 그래픽 인터페이스와 상호 작용하는 알고리즘이 하나 있고 MT5에는 다른 알고리즘이 있습니다. 동일한 프로그램의 이러한 동작은 거부를 유발할 뿐입니다.

MT5로 전송할 때 OnChartEvent() 종료를 포함하여 비슷한 작업을 수행했습니다. 나는 이것 때문에 그래픽 인터페이스가 단순히 죽었다는 거짓말을 하고 싶지 않습니다.

예, 5분 후에 OnTimer()의 시계열에 액세스합니다. 2분 안에 할게요. 무슨 일이 일어나는지 확인하겠습니다.

Artem, 귀하의 제안은 이전에 도움이 되었습니다.

 
Vladimir Karputov :

이미 H1에서 작업할 때 막대의 중요하지 않은 수입니다.

따라서: 재현 가능한 코드, 터미널 설정( 차트의 막대 수 ).


이 최소값이 없으면 논의할 것이 없습니다. 지금까지는 공기이기 때문입니다.

앞으로 제가 포럼에서 제기하는 문제들에 간섭하지 말아주셨으면 합니다.

당신과의 커뮤니케이션에서 이전이나 지금이나 유용한 것은 없었습니다.

포럼의 다른 스레드에서 무언가를 작성할 수 있습니다. 그리고 내 지점에 참여하지 마십시오.

 
Artyom Trishkin :

2분에 한 번씩 모든 TF에 어필. OnCalculate() 에서 시간 프레임에 대한 액세스를 확인하는 것은 언뜻 보기에 프로그램에 문제를 일으키지 않습니다.

그러나 OnChartEvent()에서 확인하면 작업에 영향을 줍니다. 어떤 경우에는 그래픽 인터페이스가 작동하지 않습니다.

2분마다 모든 TF에 액세스할 때 프로그램이 어떻게 작동하는지 관찰하겠습니다.

=================

그동안 MT5와 MT4의 또 다른 차이점을 공개했습니다.

저는 그래픽 도구 를 지그재그 극값 또는 파동 계수 기호에 바인딩하기 위해 그래픽 인터페이스를 사용합니다.

프로그램이 숫자나 기호를 "볼" 때 바인딩이 발생합니다. 이것이 무엇을 의미하는지 설명하겠습니다. 숫자나 기호 위로 마우스를 가져가면 툴팁이 나타납니다.

도구 설명이 나타나면 프로그램이 숫자나 기호를 "보는" 것입니다. 툴팁이 없으면 숫자와 기호가 보이지 않습니다. 이 경우 그래픽 도구의 바인딩이 발생하지 않습니다. 따라서 그래픽 도구는 차트에 표시되지 않습니다.

주어진 숫자나 기호가 이미 Andrews Pitchfork에 연결되어 있는 경우(다른 그래픽 도구로 확인하지 않음) MT4에 도구 설명이 표시됩니다. 그러나 MT5에서는 툴팁이 매우 드물게 표시됩니다. 하지만 이 숫자와 연결된 앤드류 갈퀴를 숨기면 툴팁이 정상적으로 표시됩니다.

숫자 옆에 다른 그래픽 개체가 표시되면 MT5에서 도구 설명이 표시될 때 감도가 거칠어지는 것 같습니다. 그러나 이것이 MT5에서 MT4에 없는 시계열에 대한 몇 가지 추가 업데이트를 수행해야 하기 때문이라는 사실을 배제하지 않습니다. 이러한 추가 업데이트는 특정 MT5 기능을 지연시킬 수 있습니다. (이것은 나의 환상이다. 나는 MT5의 내부 메커니즘을 모른다).

Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи аналитических объектов. Всего в торговой платформе доступно 46 таких инструментов. Среди них имеются геометрические фигуры, различные каналы, инструменты Ганна, Фибоначчи, Эллиотта и многое другое. В...
사유: