초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 694

 
Renat Akhtyamov :

음, 막대의 수가 바로 이 선인 표시기 주기입니다.

흥미롭다 - 명확한(?), 즉. MT5 오프라인의 기능에 대해 어디에서 읽을 수 있는지 알려주십시오.

rate_total 표시기에서 - OnCalculate() 의 주기에서 Bars() 대신 성공적으로 사용됨
 
Artyom Trishkin :
rate_total 표시기에서 - OnCalculate()의 주기에서 Bars() 대신 성공적으로 사용됨

확인. 예, 있습니다.

그리고 다른 악기/시간 프레임에 대해 동일한 수의 막대 가 있을 것입니다. 왜냐하면 제가 다중 통화 칠면조를 가지고 있기 때문입니까?

여기에서 설정을 변경할 수 있습니다

Bars ( _Symbol , _Period );

, 하지만 다른 시간 프레임과 도구에서 칠면조를 계산하기 위한 Rates_total은 어떻습니까?

 
Renat Akhtyamov :

확인. 예, 있습니다.

그리고 다른 상품/시간 프레임에 대해 동일한 수의 막대 가 있을 것입니다. 왜냐하면 제가 다중 통화 칠면조를 가지고 있기 때문입니까?

다중 통화/다중 프레임 표시기 에서 현재가 아닌 기간 또는 현재가 아닌 기호 에 대한 기록 막대 수를 얻으려면 Bars()를 사용해야 합니다.
 
Artyom Trishkin :
다중 통화/다중 프레임 표시기 에서 현재가 아닌 기간 또는 현재가 아닌 기호 에 대한 기록 막대 수를 얻으려면 Bars()를 사용해야 합니다 .

그것이 바로 내가 쓰고 있는 것입니다. 견적 내역이 있지만 이 기능은 오프라인에서 작동하지 않습니다.

따라서 칠면조는 오프라인에서 테스트할 수 없습니다.

MT5의 견적은 각 IP 주소로 개별적으로 발송되며 이미 차트에 그려진 견적 내역과 다를 수 있습니다. // 글쎄, 논리는 갔다 ...

 
Renat Akhtyamov :

음, 막대의 수가 바로 이 선인 표시기입니다.

흥미롭다 - 명확한(?), 즉. MT5 오프라인의 기능에 대해 어디에서 읽을 수 있는지 알려주십시오.

MT5임이 분명합니다. Bars() 를 호출 하기 전에 수행된 작업은 명확하지 않습니다. 이러한 간단한 스크립트는 서버에 연결되어 있지 않거나 네트워크가 전혀 없는 경우에도 작동하고 0이 아닌 값을 반환합니다.

하지만 아직 인디케이터에서는 해보지 않아서 거기서 어떻게 하셨는지 여쭤봤습니다. 아마도 다시 호출할 때 이미 실제 막대가 있을 것이며 첫 번째 호출로 인해 캐시의 데이터가 업데이트됩니다.

void OnStart ()
  {
         Print ( "Bars on chart - " , Bars ( _Symbol , PERIOD_CURRENT ));  
  }
 
Vitalie Postolache :

MT5임이 분명합니다. Bars() 를 호출 하기 전에 수행된 작업은 명확하지 않습니다. 이러한 간단한 스크립트는 서버에 연결되어 있지 않거나 네트워크가 전혀 없는 경우에도 작동하고 0이 아닌 값을 반환합니다.

하지만 아직 인디케이터에서는 해보지 않아서 거기서 어떻게 하셨는지 여쭤봤습니다.

void OnStart ()
  {
         Print ( "Bars on chart - " , Bars ( _Symbol , PERIOD_CURRENT ));  
  }
분명한
 

Expert Advisor를 시작하는 간단한 방법으로 양초 마감에 부착하는 가장 좋은 방법은 무엇입니까? 지표를 다시 계산하려면 주문을 철회/주문 하십시오.

타이머로?

그러나 HH:00:00에 매시간 실행되도록 적절한 시간에 타이머를 시작하는 방법은 무엇입니까? 타이머가 활성화된 후 매시간이 아니라?

 
dimnik :

Expert Advisor를 시작하는 간단한 방법으로 양초 마감에 부착하는 가장 좋은 방법은 무엇입니까? 지표를 다시 계산하려면 주문을 철회/주문 하십시오.

타이머로?

그러나 HH:00:00에 매시간 실행되도록 적절한 시간에 타이머를 시작하는 방법은 무엇입니까? 타이머가 활성화된 후 매시간이 아니라?

현재 캔들의 오픈 시간을 확인하고 마지막 체크의 오픈 시간과 비교합니다. 같으면 새 막대가 아직 열리지 않고 OnTick()에서 반환됩니다. 그들이 같지 않은 경우 - 새로운 바의 개방이 결정되었습니다 - 우리는 어드바이저에 포함된 모든 것을 실행하고 다음 검사를 위해 새로운 개방 시간을 기억합니다.
 
Vitaly Muzichenko :

일정 질문:

그런 디자인이 있다.

for ( long currChart = ChartFirst ();currChart != - 1 ; currChart= ChartNext (currChart)) {
 if (currChart == график тестера ) continue ; // Что сюда написать?
   ObjectSetInteger (currChart, "Sync" , OBJPROP_BGCOLOR , clrGreen );
}

차트가 주요 차트가 아니지만 테스터 모드에서 열고 건너 뛰는 방법을 확인합니까?

제안처럼.

차트에 대한 템플릿을 만들고 "TesterChart" 또는 다른 개체와 같은 이름을 가진 레이블을 0 좌표에서 표시되지 않도록 0 좌표에 던질 수 있습니다. 이 템플릿의 이름을 "테스터"로 지정합니다. 이제 테스트의 모든 차트에는 이 이름을 가진 개체 가 있습니다. 그런 다음 차트에 지정된 개체가 있는지 묻고 "우리 테스터"인 경우 건너뜁니다.

그루터기 갑판을 통해, 그러나 나는 다른 방법을 모릅니다.

 
Vasiliy Pushkaryov :
제안처럼.

차트에 대한 템플릿을 만들고 "TesterChart" 또는 다른 개체와 같은 이름을 가진 레이블을 0 좌표에서 표시되지 않도록 0 좌표에 던질 수 있습니다. 이 템플릿의 이름을 "테스터"로 지정합니다. 이제 테스트의 모든 차트에는 이 이름을 가진 개체 가 있습니다. 그런 다음 차트에 지정된 개체가 있는지 묻고 "우리 테스터"인 경우 건너뜁니다.

그루터기 갑판을 통해, 그러나 나는 다른 방법을 모릅니다.

감사합니다. 하지만 이 솔루션은 하나 이상의 템플릿을 테스트한다는 점에서 적합하지 않습니다. 하지만 이것은 문제의 절반이지만, 이 지표가 저에게만 효과가 있는 것이 아니라 사람들이 테스터에서 가십 레이블을 사용할 수 있다는 사실입니다.

차트가 테스터에서 실행 중인지 프로그래밍 방식으로 결정할 방법이 없다는 것이 밝혀졌습니다. AU, 개발자 여러분, 어디 계십니까?

.

사유: