Mt4 지원 종료. - 페이지 33

 
카운트다운 시작 시간에 여전히 문제가 있습니다. 시간에 맞지 않는 것이 막대의 시작 부분을 수정합니다. 나중에 알아내겠습니다.
 
Nikolai Semko :

피터, 그건 나도 안 돼.
당신은 이상한 프로그래밍 스타일을 가지고 있습니다. 그리고 OnInit 및 OnTimer의 모든 변수와 주기가 포함된 이 모든 경제를 하나의 프로시저로 밀어넣을 수 있습니다. 누군가 그것을 사용하고 싶다면 이 코드가 방해가 될 것입니다. 그리고 같은 바디킷으로 20가지 비슷한 시술이 있다면? 결국 , 여기에서 구현됩니다.


베드로가 쉬운 길을 찾지 않기를...

 
Реter Konow :
아직 시작 시간에 문제가 있습니다. 시간에 맞지 않는 것이 막대의 시작 부분을 수정합니다. 나중에 알아내겠습니다.

막대의 시작이 항상 정확한 시간에 맞춰지는 것은 아닙니다.

때때로 막대를 건너뜁니다.
 
Nikolai Semko :

피터, 그건 나도 안 돼.
당신은 이상한 프로그래밍 스타일을 가지고 있습니다. 그리고 OnInit 및 OnTimer의 모든 변수와 주기가 포함된 이 모든 경제를 하나의 프로시저로 밀어넣을 수 있습니다. 누군가가 그것을 사용하고 싶다면이 바디 키트가 발 아래에 방해가 될 것입니다. 그리고 같은 바디킷으로 20가지 비슷한 시술이 있다면? 결국 , 여기에서 구현됩니다.

1분 동안은 확실히 작동하지만 시간에 막대의 시작 부분을 수정하지 않습니다.

기다리는 시간이 오래 걸리기 때문에 다른 시간대에는 확인하지 않았습니다.

스타일은 이제 중요하지 않습니다. 타이머에서 모든 것을 꺼내 별도의 기능에 넣을 수 있습니다. 나는 단지 솔루션 자체에 대해서만 생각했고 그것을 통합하기 위한 미래 옵션에 대해서는 생각하지 않았습니다.

 
Vladimir Pastushak :

막대의 시작이 항상 정확한 시간에 맞춰지는 것은 아닙니다.

네, 확인했습니다. 나중에 수정하겠습니다.
 
Реter Konow :

한 사람이 시장 리뷰에서 실제로 600개의 상품을 가지고 있고 각 상품에 대한 새 막대의 도착과 각 틱 의 각 시간대를 확인하면 비용이 많이 들 수 있다고 생각했습니다...

나 자신은 거래를 하지 않기 때문에 실제로 이 함수를 몇 번이나 호출해야 하는지 정확히 모릅니다.

함수의 인스트루먼트 및 타임프레임에 대한 이중 주기는 심볼 및 타임프레임의 수가 매우 많고 수백 인스트루먼트의 매 틱마다 함수가 호출되는 경우에만 새 막대를 로드할 수 있습니다. 아마도 드미트리가 옳을 것입니다.

함수에서 하나의 루프를 줄였습니다.

벌써 뱉자...

다음은 이 작업에 대한 제 클래스의 예입니다. 물론 걸작은 아니지만 이것은 내 것이고 이해할 수 있고 나를 위해 일하고 있습니다.

class CNewBar
{
protected :
   MqlRates newBarRates[];
public :
 bool newBar();
 bool newBar( ENUM_TIMEFRAMES timeframe, datetime & tOld);
}; /********************************************************************/

bool CNewBar::newBar()
{
 static datetime timeLastBar;
   if ( CopyRates ( _Symbol , PERIOD_CURRENT , 0 , 1 , newBarRates) < 0 )
   return ( false );
   bool ret = timeLastBar != newBarRates[ 0 ].time;
   if (ret)
    timeLastBar = newBarRates[ 0 ].time;
   return (ret);
} /********************************************************************/

bool CNewBar::newBar( ENUM_TIMEFRAMES timeframe, datetime & tOld)
{
   if ( CopyRates ( _Symbol , timeframe, 0 , 1 , newBarRates) < 0 )
   return ( false );
     datetime tNew = newBarRates[ 0 ].time;
   bool ret = tOld != tNew;
   if (ret)
    tOld = tNew;
   return (ret);
} /********************************************************************/

현재 TF에서만 결정해야 하는 경우 매개변수가 없는 함수가 호출됩니다.

따라서 .mqh에 있는 경우 라이브러리를 포함해야 합니다.

 #include <путь_папка\имя_файла.mqh>
CNewBar newBar;

OnTick()에서 호출

 if (newBar.newBar())
 Print ( "Новый бар на текущем ТФ" );

다른 TF를 정의해야 하는 경우 전역 변수 또는 정적 변수 수준에서 각 기간에 대해 선언하고 필요한 경우 기호를 선언합니다.

 static datetime oldD1 = 0 , oldH1 = 0 ;

if (newBar.newBar( PERIOD_H1 , oldH1) && newBar.newBar( PERIOD_D1 , oldD1)
 Print ( "Открылся новый день и новый час" );

이 접근 방식은 필요한 시간 프레임과 다른 시간 프레임에서 작업할 때 효과적이며 EA가 작동하는 차트의 시간 프레임을 무작위로 전환하는 것과 관련된 문제로부터 보호합니다.

 
Nikolai Semko :

피터, 그건 나도 안 돼. 알고리즘은 매우 빠르지만 배럴을 헛되이 몰고 있습니다. 실제로 아직 작동하지 않습니다. 이해할 시간이 없습니다.
당신은 이상한 프로그래밍 스타일을 가지고 있습니다. 그리고 OnInit 및 OnTimer의 모든 변수와 주기가 포함된 이 모든 경제를 하나의 프로시저로 밀어넣을 수 있습니다. 누군가가 그것을 사용하고 싶다면이 바디 키트가 발 아래에 방해가 될 것입니다. 그리고 같은 바디킷으로 20가지 비슷한 시술이 있다면? 결국 , 여기에서 구현됩니다.


"빠르다"가 무슨 뜻인지 모르시겠습니까?

 
Alexey Viktorov :

벌써 뱉자...

다음은 이 작업에 대한 제 클래스의 예입니다. 물론 걸작은 아니지만 이것은 내 것이고 이해할 수 있고 나를 위해 일하고 있습니다.

현재 TF에서만 결정해야 하는 경우 매개변수가 없는 함수가 호출됩니다.

따라서 .mqh에 있는 경우 라이브러리를 포함해야 합니다.

OnTick()에서 호출

다른 TF를 정의해야 하는 경우 전역 변수 또는 정적 변수 수준에서 각 기간에 대해 선언하고 필요한 경우 기호를 선언합니다.

이 접근 방식은 필요한 시간 프레임과 다른 시간 프레임에서 작업할 때 효과적이며 EA가 작동하는 차트의 시간 프레임을 무작위로 전환하는 것과 관련된 문제를 방지합니다.


당신은 당신이 어떤 종류의 미친 짓을 보여 줬는지 전혀 모릅니다. 단지 완전한 단락입니다. 그러나 당신 모두가 내 의견에 관심이 없기 때문에 나는 구체적으로 어느 곳에서 보여주지 않을 것입니다)))

 
Alexey Viktorov :

벌써 뱉자...

다음은 이 작업에 대한 제 클래스의 예입니다. 물론 걸작은 아니지만 이것은 내 것이고 이해할 수 있고 나를 위해 일하고 있습니다.

현재 TF에서만 결정해야 하는 경우 매개변수가 없는 함수가 호출됩니다.

따라서 .mqh에 있는 경우 라이브러리를 포함해야 합니다.

OnTick()에서 호출

다른 TF를 정의해야 하는 경우 전역 변수 또는 정적 변수 수준에서 각 기간에 대해 선언하고 필요한 경우 기호를 선언합니다.

이 접근 방식은 필요한 시간 프레임과 다른 시간 프레임에서 작업할 때 효과적이며 EA가 작동하는 차트의 시간 프레임을 무작위로 전환하는 것과 관련된 문제를 방지합니다.

다른 캐릭터들은? 임무는 모든 tf에 대한 시장 검토에서 모든 기호에 대한 tf의 변화를 결정하는 것이 었습니다.

감사합니다.
 
Alexey Viktorov :

벌써 뱉자...

다음은 이 작업에 대한 제 클래스의 예입니다. 물론 걸작은 아니지만 내 것이고 이해하고 작동합니다.

현재 TF에서만 결정해야 하는 경우 매개변수가 없는 함수가 호출됩니다.

따라서 .mqh에 있는 경우 라이브러리를 포함해야 합니다.

OnTick()에서 호출

다른 TF를 정의해야 하는 경우 전역 변수 또는 정적 변수 수준에서 각 기간에 대해 선언하고 필요한 경우 기호를 선언합니다.

이 접근 방식은 필요한 시간 프레임과 다른 시간 프레임에서 작업할 때 효과적이며 EA가 작동하는 차트의 시간 프레임을 무작위로 전환하는 것과 관련된 문제를 방지합니다.

솔루션이 잘 작동합니까? 그것이 좋다면 그것은 훌륭합니다.

그리고 수백 개의 악기의 경우처럼 오버레이가 없을까요?