mql5 언어의 특징, 미묘함 및 작업 방법 - 페이지 179

 
Konstantin Nikitin :

옵션으로.

작동 안함.

 
fxsaber :

작동 안함.

전문가가 터미널에 과부하가 걸린 것 같습니다. 계정 변경 시 차트에서 삭제되었으며, 전문가의 각 변종에 대한 글로벌 이름으로 플레이하기만 하면 됩니다. 주문 이름에 추가할 수 있습니다. 글쎄, 나는 그것에 신경 쓰지 않았다.

 
Konstantin Nikitin :

전문가가 터미널에 과부하가 걸린 것 같습니다. 계정 변경 시 차트에서 삭제되었으며, 전문가의 각 변종에 대한 글로벌 이름으로 플레이하기만 하면 됩니다. 주문 이름에 추가할 수 있습니다. 글쎄, 나는 그것에 신경 쓰지 않았다.

그는 작동하지 않는 차트에서 작업하기 위해 Expert Advisor가 필요합니다. 그리고 우리는 작업 일정과 함께 옵션을 제공합니다.

 
Konstantin Nikitin :

전문가가 터미널에 과부하가 걸린 것 같습니다. 계정 변경 시 차트에서 삭제되었으며, 전문가의 각 변종에 대한 글로벌 이름으로 플레이하기만 하면 됩니다. 주문 이름에 추가할 수 있습니다. 글쎄, 나는 그것에 신경 쓰지 않았다.

  1. ForexTimeFXTM-Demo01에서 데모를 엽니다.
  2. Brent 기호에서 Expert Advisor를 시작합니다.
  3. MQ-데모로 전환하십시오.
  4. RMB 메뉴 전문가를 통해 - 고문이 중단되는지 여부를 확인하십시오.
 
fxsaber :

  1. ForexTimeFXTM-Demo01에서 데모를 엽니다.
  2. Brent 기호에서 Expert Advisor를 시작합니다.
  3. MQ-데모로 전환하십시오.
  4. RMB 메뉴 전문가를 통해 - 고문이 중단되는지 여부를 확인하십시오.


fxsaber :

일반적으로 REASON_ACCOUNT로 ExpertRemove를 호출 하는 것은 전혀 의미가 없습니다.


내 의견으로는 모든 것이 더 슬프고 심각한 오류가 있어도 내 EA를 언로드하지 않습니다.

 const long login = AccountInfoInteger ( ACCOUNT_LOGIN );
//+------------------------------------------------------------------+
int OnInit ()
{
   Print ( __FUNCTION__ );
   Print ( "_StopFlag = " , _StopFlag );
   Print ( "_UninitReason = " , _UninitReason );
   Print ( "login = " ,login);
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   Print ( __FUNCTION__ );
   Print ( "_StopFlag = " , _StopFlag );
   Print ( "_UninitReason = " , _UninitReason );
   Print ( "login = " ,login);
   if ( _StopFlag && _UninitReason == 6 ) { int i= 1 ; int j = 10 /--i;}
}
//+------------------------------------------------------------------+

그러나 계정을 변경할 때 전역 범위를 완전히 덮어씁니다.

2020.05.21 14:30:17.303 tst1 (EURUSD,H1) 온디니트

2020.05.21 14:30:17.303 tst1 (EURUSD,H1) _중지 플래그 = 1

2020.05.21 14:30:17.303 tst1 (EURUSD,H1) _UninitReason = 6

2020.05.21 14:30:17.303 tst1 (EURUSD,H1) 로그인=21796970

2020.05.21 14:30:17.303 tst1 (EURUSD,H1) 'tst1.mq5'의 0 나누기(25,60)

2020.05.21 14:30:17.373 전문가 계정이 변경되어 자동 거래가 비활성화되었습니다.

2020.05.21 14:30:17.797 tst1 (EURUSD,H1) 초기화

2020.05.21 14:30:17.797 tst1 (EURUSD,H1) _중지 플래그 = 0

2020.05.21 14:30:17.797 tst1 (EURUSD,H1) _UninitReason = 0

2020.05.21 14:30:17.797 tst1 (EURUSD,H1) 로그인 = 500030706

2020.05.21 14:30:24.492 전문가 자동 거래가 활성화되었습니다

 
Igor Makanu :

내 생각에는 모든 것이 더 슬프고 치명적인 오류라도 내 EA를 언로드하지 않는지 확인했습니다.

그러나 계정을 변경할 때 전역 범위를 완전히 덮어씁니다.

모든 것이 논리적으로 작동합니다(그러나 어떤 곳에서는 불편합니다). 메커니즘에 들어가야 합니다.

 
fxsaber :

모든 것이 논리적으로 작동합니다(그러나 어떤 곳에서는 불편합니다). 메커니즘에 들어가야 합니다.

글쎄, 메커니즘이 도움말에 있지만 도움말은 작업의 모든 경우를 고려하지 않는 것처럼 -이 정보는 관리자가 제공 한 다음 진실, 중재자 및 두 사람이 평결을 발표했습니다. 망상입니다 https://www.mql5.com/en/forum/334269/page53 #comment_16412120


메커니즘을 제공하십시오. 도움이 무력했습니다.)

 
Igor Makanu :

메커니즘을 제공하십시오. 도움이 무력했습니다.)

REASON_ACCOUNT 를 사용하면(계정이 변경되지 않고 재로그인만 된 경우에도) 어드바이저가 완전히 언로드되고 새 사본이 로드됩니다.

이러한 이유로 OnDeinit의 ExpertRemove는 새 복사본에 영향을 주지 않습니다. 업로드에 관한 것입니다.


기호가 없으면 실행 없이 새 복사본이 로드됩니다.

그리고 문제는 중단되었지만 시작되지 않은 새 사본을 업로드하는 것이 었습니다.


사본이 매달려 있습니다. 즉, 기호가 있는 다른 계정으로 전환하면 고문이 시작됩니다.

 
fxsaber :

그리고 전혀 작동하지 않으면 왜 언로드합니까?

 
Andrey Khatimlianskii :

그리고 전혀 작동하지 않으면 왜 언로드합니까?

완전한 통제가 있어야 합니다.