오 블라디미르. 이렇게 말했지만 불행히도 나는 예약을 하지 않았다. 예를 들어 개점 또는 시간과 같은 가격만 필요한 경우 이 경우 CopyRates()를 특별히 사용할 필요가 없습니다. CopyOpen 또는 iOpen ... 각각 CopyTime 또는 iTime이면 충분합니다. 종교적 선호도에 따라 선택됩니다.
그리고 나는 나의 예약을 추가할 것이다: 공연 비용 측면에서 실질적인 차이는 없다. 따라서 종교적 취향만 남습니다.
fxsaber는 CopyRates() 의 비용을 확인했습니다. 별도로 필요한 속성을 얻는 것보다 비용이 많이 듭니다. 모든 가격을 한 번에 가져와야 하는 상황에는 적용되지 않습니다.
MT5에서 새로운 바의 등장은 분의 시작과 관련이 없습니다. 시간에 얽매이지 않습니다. 여기에 걸림돌이 있습니다. 틱만 기준으로 새 막대의 모양을 정확하게 이해하려면? 여전히 시계열을 참조해야 합니다. 그렇지 않으면 거의 불가능합니다. 비록... 100% 확실하지는 않습니다.
Для создателей индикаторов и экспертов всегда был актуален вопрос написания экономичного кода с точки зрения времени выполнения. Можно подойти к решению этой задачи с разных сторон. Из этой обширной темы в данной статье будет затронут, казалось бы уже решенный вопрос: проверка появления нового бара. Это достаточно популярный способ ограничения...
staticdatetime last_time= 0 ;
datetime time_current=Time( Symbol (), PERIOD_CURRENT , 0 );
if (time_current== 0 )
return ;
if (time_current!=last_time)
{
// Новый бар или первый запуск (для контроля первого запуска можно сделать флаг - чтобы не обрабатывать его как новый бар)// делаем что нужно на новом баре
last_time=time_current;
}
이 경우 첫 번째 막대에서 확실히 10 CopyRates가 있습니다. 그리고 모든 틱 을 호출하는 것이 아니라 새 막대가 나타날 때 충분합니다.
CopyRates 없이 새 막대가 표시되었음을 이해하는 방법은 무엇입니까? 어떤 의미에서 먼저 new bar 이벤트를 잡아야 합니다. CopyRates 없이 가능합니까? 조금 헷갈리네요.)
이것이 의미하는 바입니다. 저는 MT5에서 이 주제를 다룬 적이 없습니다. 이해해주세요.))
오 블라디미르. 이렇게 말했지만 불행히도 나는 예약을 하지 않았다. 예를 들어 개점 또는 시간과 같은 가격만 필요한 경우 이 경우 CopyRates()를 특별히 사용할 필요가 없습니다. CopyOpen 또는 iOpen ... 각각 CopyTime 또는 iTime이면 충분합니다. 종교적 선호도에 따라 선택됩니다.
그리고 나는 나의 예약을 추가할 것이다: 공연 비용 측면에서 실질적인 차이는 없다. 따라서 종교적 취향만 남습니다.fxsaber는 CopyRates() 의 비용을 확인했습니다. 별도로 필요한 속성을 얻는 것보다 비용이 많이 듭니다. 모든 가격을 한 번에 가져와야 하는 상황에는 적용되지 않습니다.
CopyRates 없이 새 막대가 표시되었음을 이해하는 방법은 무엇입니까? 어떤 의미에서 먼저 new bar 이벤트를 잡아야 합니다. CopyRates 없이 가능합니까? 조금 헷갈리네요.)
아무 것도 신경 쓰지 않고 새로운 막대의 모양을 모니터링하고 CopyRates를 호출합니다.
마차와 작은 카트 사이트에 새로운 바를 정의하는 다양한 기능과 방법.
CopyRates 없이 새 막대가 표시되었음을 이해하는 방법은 무엇입니까? 어떤 의미에서 먼저 new bar 이벤트를 잡아야 합니다. CopyRates 없이 가능합니까? 조금 헷갈리네요.)
이것이 의미하는 바입니다. 저는 MT5에서 이 주제를 다룬 적이 없습니다. 이해해주세요.))
가장 쉬운 방법은 현재 막대 의 여는 시간 을 비교하는 것입니다. 이전에 기억한 것과 같지 않으면 새 막대가 있습니다. 새 막대에서 수행해야 할 작업을 수행하고 다음 확인을 위해 이 시간을 기억합니다.
아무 것도 신경 쓰지 않고 새로운 막대의 모양을 모니터링하고 CopyRates를 호출합니다.
마차와 작은 카트 사이트에 새로운 바를 정의하는 다양한 기능과 방법.
fxsaber는 CopyRates()의 비용을 확인했습니다. 별도로 필요한 속성을 얻는 것보다 비용이 많이 듭니다. 모든 가격을 한 번에 가져와야 하는 상황에는 적용되지 않습니다.
가장 쉬운 방법은 현재 막대 의 여는 시간 을 비교하는 것입니다. 이전에 기억한 것과 같지 않으면 새 막대가 있습니다. 새 막대에서 수행해야 할 작업을 수행하고 다음 확인을 위해 이 시간을 기억합니다.
모든 틱에서 CopyRates를 호출하시겠습니까? 그렇지 않으면 현재 막대의 여는 시간이 변경되었음을 어떻게 알 수 있습니까?
이 클래스 CNewbar 를 수행하거나 포럼 NewBar를 검색할 수 있습니다.
추신: 전체 기사! https://www.mql5.com/en/articles/159
이고르, 당신은 일등석에 가야합니다. 그들은 편지를 가르치고 공부한 후에 CopyRates와 CopyBuffer의 차이점을 이해하게 될 것입니다.
CopyRates 없이 이 문제에 대한 더 나은 솔루션이 있습니다.
그것은 분명합니다. 모든 것이 평소와 같습니다 .. uff, oh, oh .. 코드 한 줄이 아닙니다.)))
나는 연속적인 OHLC 배열을 수신하는 것이 항상 편리한 것은 아니며 종종 거의 필요하지 않다는 것을 보여주기 위해 내 자신의 예를 들었습니다. 실제 작업에서는 종종 다른 막대에서 OHLC 값을 선택적으로 가져와야 하는 경우가 많습니다(지표는 계산되지 않음)
좋아, 아프지 마!
따라서 매 틱마다 CopyRates를 호출하시겠습니까? 그렇지 않으면 현재 막대의 여는 시간이 변경되었음을 어떻게 알 수 있습니까?
예, 각 틱 의 시간을 확인합니다.
그리고 간단히 다음과 같습니다.
나는 단지 무릎을 꿇고 썼습니다 - 쓰기의 정확성이 아니라 아이디어를 보여주기 위해
따라서 매 틱마다 CopyRates를 호출하시겠습니까? 그렇지 않으면 현재 막대의 여는 시간이 변경되었음을 어떻게 알 수 있습니까?
if(prevTime!=iTime(...))
{
// 현재 막대 의 여는 시간 이 변경되었습니다.
}
prevTime=iTime(...);