서비스 데스크. 불만, 제안. - 페이지 6

 
Ilya Malev :
타이머가 있는 경우에도, 타이머가 없는 경우에도 모든 표시기에 하나의 스레드가 있기 때문에 한 주기에서는 작동하지 않습니다. 아니면 내가 당신의 생각을 잘못 이해했습니다.
지표1이 있다고 가정해 보겠습니다. Indicator2를 호출합니다. Indicator2에는 일부 기호/TF에 대한 데이터가 없습니다. 이 데이터를 indicator1에 전달하고 필요한 데이터는 이미 타이머에 로드됩니다. 필요한 모든 데이터가 로드되었음을 확인한 후 지표 2에 대한 데이터를 다시 다운로드하려고 시도하고 필요한 모든 데이터가 수신되는 즉시 지표 1을 계산합니다.
 
Alexey Kozitsyn :

MT5와 유사한 다운로드 및 기록 확인: https://www.mql5.com/en/docs/series/timeseries_access

질문을 반복합니다. 이전 mql4를 사용하여 이 날짜를 얻는 방법을 알고 있습니까?

알아요. 시간[막대-1]
 
Alexey Kozitsyn :

... MT4에서 MT5로 또는 그 반대로 프로그램의 이식성.

C 4 ~ 5 - 이해할 수 있습니다. 그에 비해 많지는 않습니다.

 
Alexey Kozitsyn :
지표1이 있다고 가정해 보겠습니다. 그것은 Indicator2를 호출합니다. Indicator2에는 일부 기호/TF에 대한 데이터가 없습니다. 이 데이터를 indicator1에 전달하고 필요한 데이터는 이미 타이머에 로드됩니다. 필요한 모든 데이터가 로드되었음을 확인한 후 지표 2에 대한 데이터를 다시 다운로드하려고 시도하고 필요한 모든 데이터가 수신되는 즉시 지표 1을 계산합니다.

메모리는 5번 할당됩니다. 동일한 명령의 주소 공간 아래.

메모리 주소 공간 데이터의 공격적인 릴리스에 대해 무엇을 울고 있습니까? 최소한 범위가 존재합니다.

 
Vasyl Nosal :
나는 아주 오랫동안 중재를 기다려왔다. 3번째 주(2번째는 기다리라고 했습니다. 알겠습니다).
오 전능하신 중재자님, 문제를 보세요. :)
 
Алексей Тарабанов :
알아요. 시간[막대-1]

당신이 옳지 않다. 나는 당신이 제공한 건설이 서버가 아니라 차트에 첫 번째 날짜를 줄 것이라고 이미 아래에 썼습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

서비스 데스크. 불만, 제안.

알렉세이 코지친 , 2015.10.30 16:42

iTime( _Symbol, period, Bars( _Symbol, period )-1 ) 구문을 사용하여 차트에서 사용 가능한 첫 번째 양초의 시간을 얻을 수 있습니다.

하지만 서버에 첫 촛불을 켜는 시간을 갖기 위해 어떤 구성을 써야할지 생각이 나지 않았습니다.

SeriesInfoInteger를 사용하면 모든 것이 간단합니다. SeriesInfoInteger( _Symbol, period, SERIES_SERVER_FIRSTDATE );


 
Алексей Тарабанов :

메모리는 5번 할당됩니다. 동일한 명령의 주소 공간 아래.

메모리 주소 공간 데이터의 공격적인 릴리스에 대해 무엇을 울고 있습니까? 최소한 범위가 존재합니다.

정말 할말있나요?
 

일반적으로 iCustom에 대해 언급한 문제에 대한 일반적인 해결책이 있을 가능성이 가장 높습니다.

주어진 symbol/tf에 지정된 매개변수가 있는 일부 표시기의 핸들이 이미 MT5에 로드된 경우 다른 곳에서 호출될 때 동일한 표시기가 다시 계산되지 않고 기존 핸들이 사용됩니다. .

글쎄, OnTimer 호출은 iCustom을 호출하기 전에 첫 번째 "중첩 수준"에서 작동하기 때문에 모든 지표의 순차적 계산을 기다릴 수 있습니다. 가장 기본적인 지표부터 시작하여 기본 지표를 사용하는 지표, 그 다음에는 이미 지표를 사용하는 지표 , 등. 중첩 수준에 관계없이 사용된 모든 지표와 시계열이 이미 계산된 경우에만 핸들을 생성합니다. 그런 다음 "업데이트"버튼의 필요성이 사라질 가능성이 큽니다. 일주일 전에 이걸 깨닫지 못한게 너무 슬프다...

추신 OnTimer를 사용할 때 터미널 자체에서 호출한 OnCalculate가 0 이외의 값을 반환할 때까지 표시기 버퍼가 차트와 데이터 창에 표시되지 않는다는 점만 고려하면 됩니다. 터미널도 OnCalculate를 한 번만 호출합니다. 시계열 및 표시기가 아직 빌드되지 않은 경우 초기화 직후. Ontimer에서 OnCalculate를 호출하면 반환되는 값에 관계없이 첫 번째 반환이 0이면 다음 눈금이 도착하거나 "새로 고침"을 클릭할 때까지 표시기가 차트에 표시되지 않습니다.

 
Alexey Kozitsyn :

두 번째 문제는 비슷한 유형입니다. 표시기는 TF MN1에 있습니다. TF M5를 사용하여 SeriesInfoInteger() 함수를 통해 데이터를 가져오려고 합니다. 함수는 얼마 동안 올바른 값을 반환하고 그 후에는 수행을 중지하고 0을 반환하기 시작합니다.

방금 표시기의 MT5에서 이미 문제를 만났습니다. 하나의 OnTimer 사이클을 남기지 않고 다른 기호/기간(현재 기호가 아님) 에서 시계열을 확인합니다 . 함수는 빌드되고 올바른 수의 막대를 제공한다고 말합니다. 그 직후에 다른 표시기 생성 함수를 호출합니다. 그 내부에서 동일한 OnTimer 호출을 떠나지 않고 이미 호출되었으며 시계열이 언로드되고 SeriesInfoInteger가 이미 0을 반환합니다. 모든 것이 틱을 수신하지 않고 자체적으로 구축되도록 추가 순환 검사를 구축해야 했습니다.
 
Vasyl Nosal :
오 전능하신 중재자님, 문제를 보세요. :)
곧 4주째 중재 고려가 진행됩니다...계속됩니다 :))))))