Karputov Vladimir : 지표의 모든 계산은 OnCalculate()에서만 수행되어야 합니다( SHOULD ).
이 경우 Ichimoku 표시기의 판독값에 대해 이야기하고 있습니다. 우리는 현재 OnCalculate에서 사용되는 지표의 판독 값에 대해 이야기하고 있습니다. MT4에서와 같이 OnCalculate를 호출 하기 전에 계산되도록 합니다. 또는 OnCalculate에서 계산을 기다릴 수 있습니다. 그렇지 않으면 사용자가 표시기를 작성하기 위해 새로 고침을 여러 번 클릭해야 합니다. 모든 지표가 1초 안에 전체 이력을 기반으로 구축되는 것은 아니기 때문에 계산하는 데 시간이 더 오래 걸리는 복잡한 지표가 있습니다. 이 모든 시간 동안 사용자는 "업데이트" 버튼을 통해 요리해야 하며 MT4에서는 렌더링을 기다리는 것만 필요했습니다.
Ilya Malev : 이 경우 Ichimoku 표시기의 판독값에 대해 이야기하고 있습니다. 우리는 현재 OnCalculate에서 사용되는 지표의 판독 값에 대해 이야기하고 있습니다. MT4에서와 같이 OnCalculate를 호출 하기 전에 계산되도록 합니다. 또는 OnCalculate에서 계산을 기다릴 수 있습니다. 그렇지 않으면 사용자가 표시기를 작성하기 위해 새로 고침을 여러 번 클릭해야 합니다. 모든 지표가 1초 안에 전체 이력을 기반으로 구축되는 것은 아니기 때문에 계산하는 데 시간이 더 오래 걸리는 복잡한 지표가 있습니다. 이 모든 시간 동안 사용자는 "업데이트" 버튼을 통해 요리해야 하며 MT4에서는 렌더링을 기다리는 것만 필요했습니다.
때때로 이 문제가 포럼에 나타납니다. 불행히도 OnTimer ()에서 OnCalculate ()를 호출해도 문제가 해결되지 않습니다.
Ilya Malev : 표시기가 다른 기호 및/또는 TF의 다른 표시기를 사용하는 경우 차트에서 "새로 고침" 버튼을 한 번 이상 누르지 않고(또는 1/여러 틱을 기다린 후) 불가능한 것으로 나타났습니다.
그리고 내가 준 코드의 작업을 자세히 살펴보면? 그리고 특히 "전문가"에서? 주말에 터미널을 다시 시작한 후:
2015.10 . 1114 : 44 : 01.672 test (USDCAD,M5) 02015.10 . 1114 : 44 : 01.681 test (USDCAD,M5) 12015.10 . 1114 : 44 : 01.682 test (USDCAD,M5) Расчитано 16518 баров за 0 секунд
2015.10 . 1114 : 44 : 01.705 test (USDCAD,M5) 22015.10 . 1114 : 44 : 01.705 test (USDCAD,M5) Расчитано 16518 баров за 0 секунд
OnCaalculate()에 대한 두 번째 호출에서만 계산이 완료되었음을 분명히 알 수 있습니다. 따라서 누구도 검사에 대한 프로그래머의 책임을 덜어주지 않습니다. OncalCulate()에서 CopyBuffer()의 결과를 확인하십시오. 함수가 아무 것도 반환하지 않으면 OnCalculate()의 다음 입력에서 확인해야 합니다.
"업데이트"를 클릭하면 모든 것이 계산되었습니다. 마찬가지로, OnCalculate/OnTimer 등의 첫 번째 호출 이전에 인터넷에서 생성된 지표의 데이터를 계산하면 더 편리할 것입니다.
또는 초기화 후 표시기 내부의 주기에서 계산될 때까지 프로그래밍 방식으로 기다릴 수 있습니다.
지표를 계산하려면 차트에서 "새로고침"을 여러 번 눌러야 합니다. 그는 그것을 필요로합니까? 그는 MT5의 몇 가지 장점에도 불구하고 오래된 MT4를 기억하고 계속 사용할 것입니다.
지표의 모든 계산은 OnCalculate()에서만 수행되어야 합니다( SHOULD ).
이 경우 Ichimoku 표시기의 판독값에 대해 이야기하고 있습니다. 우리는 현재 OnCalculate에서 사용되는 지표의 판독 값에 대해 이야기하고 있습니다. MT4에서와 같이 OnCalculate를 호출 하기 전에 계산되도록 합니다.
이 경우 Ichimoku 표시기의 판독값에 대해 이야기하고 있습니다. 우리는 현재 OnCalculate에서 사용되는 지표의 판독 값에 대해 이야기하고 있습니다. MT4에서와 같이 OnCalculate를 호출 하기 전에 계산되도록 합니다. 또는 OnCalculate에서 계산을 기다릴 수 있습니다. 그렇지 않으면 사용자가 표시기를 작성하기 위해 새로 고침을 여러 번 클릭해야 합니다. 모든 지표가 1초 안에 전체 이력을 기반으로 구축되는 것은 아니기 때문에 계산하는 데 시간이 더 오래 걸리는 복잡한 지표가 있습니다. 이 모든 시간 동안 사용자는 "업데이트" 버튼을 통해 요리해야 하며 MT4에서는 렌더링을 기다리는 것만 필요했습니다.
때때로 이 문제가 포럼에 나타납니다. 불행히도 OnTimer ()에서 OnCalculate ()를 호출해도 문제가 해결되지 않습니다.
그러나 여전히 시도하십시오. 예제는 이 문서에서 찾을 수 있습니다. MQL5 조리법 - MQL5의 다중 통화 변동성 표시기 개발 .
나중에 쓰세요, 어렵지 않다면 나오든 말든.
OnInit()는 지표에 대한 거래 환경을 준비합니다. 그리고 OnCalculate()에서만 이미 지표 데이터를 사용할 수 있습니다 .
때때로 이 문제가 포럼에 나타납니다. 불행히도 OnTimer ()에서 OnCalculate ()를 호출해도 문제가 해결되지 않습니다.
그러나 여전히 시도하십시오. 예제는 이 문서에서 찾을 수 있습니다. MQL5 조리법 - MQL5의 다중 통화 변동성 표시기 개발 .
나중에 쓰세요, 어렵지 않다면 나오든 말든.
표시기가 다른 기호 및/또는 TF의 다른 표시기를 사용하는 경우 차트에서 "새로 고침" 버튼을 한 번 이상 누르지 않고(또는 1/여러 틱을 기다린 후) 불가능한 것으로 나타났습니다.
그리고 내가 준 코드의 작업을 자세히 살펴보면? 그리고 특히 "전문가"에서? 주말에 터미널을 다시 시작한 후:
OnCaalculate()에 대한 두 번째 호출에서만 계산이 완료되었음을 분명히 알 수 있습니다. 따라서 누구도 검사에 대한 프로그래머의 책임을 덜어주지 않습니다. OncalCulate()에서 CopyBuffer()의 결과를 확인하십시오. 함수가 아무 것도 반환하지 않으면 OnCalculate()의 다음 입력에서 확인해야 합니다.
때때로 이 문제가 포럼에 나타납니다. 불행히도 OnTimer ()에서 OnCalculate ()를 호출해도 문제가 해결되지 않습니다.
그러나 여전히 시도하십시오. 예제는 이 문서에서 찾을 수 있습니다. MQL5 조리법 - MQL5의 다중 통화 변동성 표시기 개발 .
나중에 쓰세요, 어렵지 않다면 나오든 말든.
아직 기사를 읽지 않았지만 OnTimer로 수신이 잘 됩니다.
일반적으로 OnTimer에서 OnCalculate에 대한 호출이 작동하는 곡선으로 표시됨) 시계열에서 올바른 값의 전송을 추가해야 합니다.
아직 기사를 읽지 않았지만 OnTimer로 수신이 잘 됩니다.
아직 기사를 읽지 않았지만 OnTimer로 수신이 잘 됩니다.
Styler 사용 - 오류를 감지하는 것이 좋습니다.
OnCalculate()를 종료하기 전에 count 변수를 늘려야 합니다. 이 경우 이 변수는 OnCalculate의 모든 항목을 올바르게 계산합니다.