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

 
Andrey Khatimlianskii :

1분 30초마다 타이머로 이 작업을 수행하도록 제안되었습니다. 그러나 모든 틱 이전에는 그렇지 않으며 차트 이벤트 이후에는 더욱 그렇습니다.

MT5에서 시계열에 대한 액세스는 실제로 이상적이지 않습니다. 그러나 문제를 해결해야 하고 변명을 찾지 못한다면 이것이 가능합니다.

아무도 핑계를 찾지 않습니다. 작업의 난이도를 모릅니다. 그러므로 정당화에 대해 이야기하는 것은 너무 쉽습니다.

2분마다 타이머를 업데이트하도록 제안되었습니다. 그게 내가 해낸 방법이야.

하지만. 충분하지 않다. 이번 타이머 업데이트 이후에도 GUI를 통해 차트에 이벤트를 생성할 때 iBarShift를 호출하면 -1을 주는 경우가 종종 있었습니다. 따라서 배열이 범위를 벗어나거나 다른 오류가 발생합니다. 따라서 OnChartEvent에 진입하기 전에 시계열의 가용성을 확인하려고 했습니다. 이해를 돕기 위해 전체 21개 시계열에 대한 접근 확인이 필요하다고 말씀드리겠습니다. 하나 이상의 시계열에 액세스할 수 없는 경우 그래픽 플롯이 어떤 종류의 오류와 함께 만들어질 가능성이 거의 100%입니다.

프로그램이 복잡합니다. 약 50,000 라인. 이러한 볼륨에는 시계열에 대한 다양한 호출이 있습니다.

브레이크가 계속 발생합니다(MT5용 버전). MT4에서는 시계처럼 작동합니다.

MT5는 저에게 흥미롭지 않습니다. 거래용으로 사용하지 않습니다. MT4만 가능합니다. 이 프로그램은 사용자의 요청에 의해서만 번역되기 시작했습니다. 그러한 치질에 직면하여 나는 흥미로운 것을하는 것이 더 낫다고 결정했습니다.

14년 동안 이 프로그램을 개발하는 동안 흥미로운 아이디어가 나타났습니다. 다음은 이러한 아이디어와 실행의 구현입니다.

 
Eugeni Neumoin :

2분마다 타이머를 업데이트하도록 제안되었습니다. 그게 내가 해낸 방법이야.

하지만. 충분하지 않다. 이번 타이머 업데이트 이후에도 GUI를 통해 차트에 이벤트를 생성할 때 iBarShift를 호출하면 -1이 되는 경우가 종종 있었습니다.

그리고 iBarShift 에 대한 정확한 , 혹시라도 true 와 같지 않습니까?

타이머로 업데이트를 해도 동기화에 어려움이 있었습니다. 그러나 나는 철을 재현 할 수 없었습니다. 문제가 떠 있습니다.


유지니 뉴모인 :

MT5는 저에게 흥미롭지 않습니다. 거래용으로 사용하지 않습니다. MT4만 가능합니다. 이 프로그램은 사용자의 요청에 의해서만 번역되기 시작했습니다. 그러한 치질에 직면하여 나는 흥미로운 것을하는 것이 더 낫다고 결정했습니다.

14년 동안 이 프로그램을 개발하는 동안 흥미로운 아이디어가 나타났습니다. 다음은 이러한 아이디어와 실행의 구현입니다.

저는 MT5를 위해 홍보하는 것이 아닙니다. 나는 당신이 그것을 알아낼 특별한 욕구가 없다는 것을 바로 알아차렸습니다.)

물론 재미있는 일을하는 것이 좋습니다!

 
Eugeni Neumoin :

아무도 핑계를 찾지 않습니다. 작업의 난이도를 모릅니다. 그러므로 정당화에 대해 이야기하는 것은 너무 쉽습니다.

2분마다 타이머를 업데이트하도록 제안되었습니다. 그게 내가 해낸 방법이야.

하지만. 충분하지 않다. 이번 타이머 업데이트 이후에도 GUI를 통해 차트에 이벤트를 생성할 때 iBarShift를 호출하면 -1을 주는 경우가 종종 있었습니다. 따라서 배열이 범위를 벗어나거나 다른 오류가 발생합니다. 따라서 OnChartEvent에 진입하기 전에 시계열의 가용성을 확인하려고 했습니다. 이해를 돕기 위해 전체 21개 시계열에 대한 접근 확인이 필요하다고 말씀드리겠습니다. 하나 이상의 시계열에 액세스할 수 없는 경우 그래픽 플롯이 어떤 종류의 오류와 함께 만들어질 가능성이 거의 100%입니다.

프로그램이 복잡합니다. 약 50,000 라인. 이러한 볼륨에는 시계열에 대한 다양한 호출이 있습니다.

브레이크가 계속 발생합니다(MT5용 버전). MT4에서는 시계처럼 작동합니다.

MT5는 나에게 흥미롭지 않습니다. 거래용으로 사용하지 않습니다. MT4만 가능합니다. 이 프로그램은 사용자의 요청에 의해서만 번역되기 시작했습니다. 그러한 치질에 직면하여 나는 흥미로운 것을하는 것이 더 낫다고 결정했습니다.

14년 동안 이 프로그램을 개발하는 동안 흥미로운 아이디어가 나타났습니다. 다음은 이러한 아이디어와 실행의 구현입니다.

캐시 시계열.
 
Artyom Trishkin :
캐시 시계열.

무슨 뜻인가요? 수동으로 캐시를 만드시겠습니까?

 
Andrey Khatimlianskii :

무슨 뜻인가요? 수동으로 캐시를 만드시겠습니까?

모든 시계열을 한 번 계산한 다음 추가합니다. 아마도 창에서.
예, 어레이에서. SB로 할 수 있습니다. 나만의 시계열 클래스.
 
Andrey Khatimlianskii :

그리고 iBarShift의 정확한 값이 사실과 같지 않습니까?

진실. 정확한 바 번호를 알아야 합니다.

 
Artyom Trishkin :
모든 시계열을 한 번 계산한 다음 추가합니다. 아마도 창에서.

즉, 버퍼를 사용하지 않고 자신의 배열로 작업할 것을 제안합니까?

그렇다면 왜 버퍼인가?

즉, 버퍼 대신 자신의 목발을 만드는 것이 좋습니다 :(

그리고 iTime 대신 iLow 등 자신의 기능을 만드십시오... MT5에서 작동하지 않는 기능을 우회하여 모든 것을 자신의 방식으로 다시 작성하십시오...

이것은 추기경입니다. 그러나 열성팬이 하도록 내버려 두십시오. 옆에 서겠습니다. 나는 그 과정을 보지도 않을 것이다.

 
Eugeni Neumoin :

즉, 버퍼를 사용하지 않고 자신의 배열로 작업할 것을 제안합니까?

SB를 확인하십시오. 지표 작업이 있습니다. 당신이 당신의 자신을하고 싶지 않다면. 일반적으로 클래스를 한 번 만든 다음 모든 TF에만 사용합니다. 그리고 데이터는 항상 일회성으로 제공됩니다. 막대별로 새 항목만 추가하십시오.
 
Eugeni Neumoin :

즉, 버퍼를 사용하지 않고 자신의 배열로 작업할 것을 제안합니까?

그렇다면 왜 버퍼인가?

즉, 버퍼 대신 자신의 목발을 만드는 것이 좋습니다 :(

그리고 iTime 대신 iLow 등 자신의 기능을 만드십시오... MT5에서 작동하지 않는 기능을 우회하여 모든 것을 자신의 방식으로 다시 작성하십시오...

모든 것이 거기에서 작동합니다. 그러나 때때로 액세스가 거부됩니다. 시계열 업데이트 때문일 수도 있습니다. 잘 모르겠습니다. 실패하면 첫 번째 요청이 데이터 페이징을 활성화하므로 요청을 반복해야 합니다.
 
Eugeni Neumoin :

진실. 정확한 바 번호를 알아야 합니다.

그렇다면 논리에 오류가 있을 수 있습니다. 바가 있을 수도 있고 없을 수도 있습니다.