TF 변경이 문제 - 페이지 4

 

마지막 디자인은 나에게 완벽하게 어울립니다.

모두에게 감사합니다.

 
Vasyl Nosal :
아니요. 재설정하지 않으면 스크린샷에 있는 그대로입니다.

즉, 주기 자체에 간격이 있고 해당 순서가 위반됩니다. 내가 준 코드에서 prev_calculated가 0으로 설정되면 모든 막대가 다시 계산됩니다. 그리고 이것은 프로세서 시간의 낭비인 사전에 재설정하는 것이 무의미하다는 것을 의미합니다.

추신. 그건 그렇고, 당신은 중요한 뉘앙스를 잊어 버렸습니다. 혹시 가격 배열이 시계열로 반전되지 않은 MT5에 대해 이야기하고 있지 않습니까? 이 경우 다음과 같이 됩니다.

 int OnCalculate (...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax (prev_calculated - 1 , 0 );

   for ( int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
 
Sergei Vladimirov :

즉, 주기 자체에 간격이 있고 해당 순서가 위반됩니다. 내가 준 코드에서 prev_calculated가 0으로 설정되면 모든 막대가 다시 계산됩니다. 그리고 이것은 프로세서 시간의 낭비인 사전에 재설정하는 것이 무의미하다는 것을 의미합니다.

추신. 그건 그렇고, 당신은 중요한 뉘앙스를 잊어 버렸습니다. 혹시 가격 배열이 시계열로 반전되지 않은 MT5에 대해 이야기하고 있지 않습니까? 이 경우 다음과 같이 됩니다.

mql4

아니요. 여기에 역사가 없었던 한 쌍의 디자인이 있습니다.

파일:
 

잘. 문제는 그렇게 간단하지 않은 것으로 밝혀졌습니다.

개발자들에게 차트가 업데이트되었는지 여부와 1개 이상의 막대가 로드된 경우 버퍼의 자동 제로화 여부를 저장하는 새 bool 변수를 요청합니다.

 
Vasyl Nosal :

잘. 문제는 그렇게 간단하지 않은 것으로 밝혀졌습니다.

개발자들에게 차트가 업데이트되었는지 여부와 1개 이상의 막대가 로드된 경우 버퍼의 자동 제로화 여부를 저장하는 새 bool 변수를 요청합니다.

prev_calculated 및 Rates_total이라는 두 가지 변수를 마음대로 사용할 수 있습니다. 히스토리 로딩을 제어함으로써(prev_calculated==0으로) 인디케이터 버퍼로 무엇을 할 것인지 스스로 생각해야 합니다. 이러한 경우의 일반적인 동작은 히스토리 로딩을 첫 번째 로딩 이벤트와 동일시하는 것입니다. 표시기 .
 
Karputov Vladimir :
prev_calculated 및 Rates_total이라는 두 가지 변수를 마음대로 사용할 수 있습니다. 히스토리 로딩을 제어함으로써(prev_calculated==0으로) 인디케이터 버퍼로 무엇을 할 것인지 스스로 생각해야 합니다. 이러한 경우의 일반적인 동작은 히스토리 로딩을 첫 번째 로딩 이벤트와 동일시하는 것입니다. 표시기 .
여기서 명령이란 무엇입니까? 이미 4가지 옵션이 고려되었으며 그 중 아무 것도 작동하지 않습니다.
 
Vasyl Nosal :

잘. 문제는 그렇게 간단하지 않은 것으로 밝혀졌습니다.

개발자들에게 차트가 업데이트되었는지 여부와 1개 이상의 막대가 로드된 경우 버퍼의 자동 제로화 여부를 저장하는 새 bool 변수를 요청합니다.

시간을 내십시오.

그 동안 개발자의 응답을 기다리며 의 진행자가 말한 내용을 들어 보십시오. 나는 이 주제를 처음부터 신중하게 다시 추천하고 다시 읽어봅니다.

중재자가 작성한 이 게시물에 주목하십시오(예: https://www.mql5.com/ru/forum/68180#comment_2089395). 여기서 그는 다음을 인용했습니다.

 if (prev_calculated== 0 )   // значит история изменилась или это первый проход

결국, 저를 포함하여 다른 사람들과 마찬가지로 내 두 개의 게시물에서 이것과 다른 것에 대해 힌트를 주었습니다. https://www.mql5.com/en/forum/68180/page3#comment_2095342

그 결과로 나온 문서를 보십시오(여기에서 선택한 구문의 일부뿐만 아니라 전체 텍스트에서도).

시간을 내십시오. 그러면 이 문제를 해결하는 데 모든 것이 잘 해결될 것입니다. 행운을 빕니다!

 
Dina Paches :

시간을 내십시오.

그 동안 개발자의 응답을 기다리며 의 진행자가 말한 내용을 들어 보십시오. 이 스레드를 다시 읽는 것이 좋습니다.

중재자가 작성한 이 게시물에 주목하십시오(예: https://www.mql5.com/ru/forum/68180#comment_2089395). 여기서 그는 다음을 인용했습니다.

결국, 저를 포함하여 다른 사람들과 마찬가지로 내 두 개의 게시물에서 이것과 다른 것에 대해 힌트를 주었습니다. https://www.mql5.com/en/forum/68180/page3#comment_2095342

거기에 나온 문서를 보십시오.

시간을 내십시오. 그러면 이 문제를 해결하는 데 모든 것이 잘 해결될 것입니다. 행운을 빕니다!

솔루션 코드가 있습니까?

아니면 내가 TF를 변경하고 당신의 디자인도 작동하지 않을까봐 두려운가요? 괜찮습니다. 여기에서 일반적인 문제를 해결하고 있습니다.

 
Vasyl Nosal :

솔루션 코드가 있습니까?

아니면 내가 TF를 변경하고 당신의 디자인도 작동하지 않을까봐 두려운가요? 괜찮습니다. 여기에서 일반적인 문제를 해결하고 있습니다.

그럼에도 불구하고 이 게시물에서 제공한 조언을 사용하는 것이 좋습니다. https://www.mql5.com/ru/forum/68180/page4#comment_2097011

그리고 저에게는 해결책이 있습니다.

당신 자신에게 - 나 없이도 충분히 친절합니다. 일반적인 방향에 대한 힌트(prev_calculated 및 Rates_total 참조)는 여기 여러 사람들이 여러 번 제공했습니다.

저에게 전달된 귀하 자신의 가정에 따르면 귀하가 다음과 같은 말을 들었다 는 사실을 눈치채지 못했다고 생각합니다.

작업에 따라 구현이 다를 수 있습니다. 뉘앙스가 다를 수 있습니다. 다양한 조건에 따라 다른 사람들이 어떻게 구현했는지 볼 수 있습니까? 포함하고 인쇄물의 도움으로 작업에 따라 수용 가능한 옵션을 파악하고 결정하십시오.

Victor Nikolaev의 게시물을 눈치채지 못했을 것입니다. https://www.mql5.com/ru/forum/68180/page2#comment_2091839

머리가 있습니까? 있다.

문제를 처리하시겠습니까? 그것은 같은 것 같습니다.

따라서 원하고 필요한 경우 다른 프로그램에 대한 솔루션을 직접 표시하고 출력할 수 있습니다.

나 또는 이 스레드의 다른 사람이 귀하에게 더 자세한 정보를 제공할 의무가 있습니까? 아니요.


 
Dina Paches :

...


솔루션 코드가 있습니까?