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

 
fxsaber :

ExpertRemove 가 호출하지 않았습니다 .

알았습니다. 그리고 초기화 해제 코드 처리를 방해하는 것은 무엇입니까? 계정 변경만 있습니다.

 
Artyom Trishkin :

알았습니다. 그리고 초기화 해제 코드 처리를 방해하는 것은 무엇입니까? 계정 변경만 있습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2021.06.30 15:45

시도 해봐. 이 주제에 대한 긴 토론은 위의 링크를 참조하십시오.

OnDeinit의 ExpertRemove는 거의 의미가 없는 구성입니다.
 
fxsaber :
OnDeinit의 ExpertRemove는 거의 의미가 없는 구성입니다.

얼마나 혼란스러운지 :)

OnInit()에서 초기화 해제 코드를 살펴보셨습니까?

Документация по MQL5: Предопределенные переменные / _UninitReason
Документация по MQL5: Предопределенные переменные / _UninitReason
  • www.mql5.com
_UninitReason - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin :

OnInit()에서 초기화 해제 코드를 살펴보셨습니까?

나는 그 문제를 진지하게 연구했다. 구조적으로 어떻게 작동하는지 이해하고 싶다면 시도 없이는 성공할 수 없습니다.

 
fxsaber :

시도 해봐. 이 주제에 대한 긴 토론은 위의 링크를 참조하십시오.

문제가 보이지 않습니다. 계정 변경 시점은 노란색으로 강조 표시됩니다 .

 long prev_account = 0 ;

int OnInit ( void )
{
        prev_account = AccountInfoInteger ( ACCOUNT_LOGIN );
         EventSetTimer ( 1 );

         Print ( "Initialization on account #" , AccountInfoInteger ( ACCOUNT_LOGIN ) );
         return ( INIT_SUCCEEDED );
}

void OnDeinit ( const int reason)
{
         Print ( "Deinitialization on account #" , prev_account );
        prev_account = 0 ;
         EventKillTimer ();
}

void OnTick ( void )
{
         if ( AccountInfoInteger ( ACCOUNT_LOGIN ) != prev_account ) return ;

         Print ( "New tick on account #" , AccountInfoInteger ( ACCOUNT_LOGIN ) );
}

void OnTimer ( void )
{
         if ( AccountInfoInteger ( ACCOUNT_LOGIN ) != prev_account ) return ;

         Print ( "Timer on account #" , AccountInfoInteger ( ACCOUNT_LOGIN ) );
}
 2021.07 . 01 11 : 53 : 13.404 test (USDCHF,M5)        Initialization on account # 30966228
2021.07 . 01 11 : 53 : 14.404 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 15.404 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 16.404 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 17.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 18.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 19.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 20.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 21.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 22.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 23.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 24.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 25.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 25.904 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 26.419 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 27.097 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 27.214 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 27.338 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 27.416 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 27.470 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 27.574 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 27.682 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 28.282 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 28.407 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 28.408 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 29.099 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 29.411 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 29.507 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 29.644 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 29.873 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 30.234 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 30.405 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 30.449 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 31.238 test (USDCHF,M5)        New tick on account # 30966228
2021.07 . 01 11 : 53 : 31.410 test (USDCHF,M5)        Timer on account # 30966228
2021.07 . 01 11 : 53 : 31.720 test (USDCHF,M5)         Deinitialization on account # 30966228
2021.07 . 01 11 : 53 : 32.226 test (USDCHF,M5)         Initialization on account # 42821331
2021.07 . 01 11 : 53 : 33.225 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 33.338 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 33.689 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 34.220 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 35.220 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 36.220 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 36.511 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 36.624 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 36.728 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 37.157 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 37.220 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 37.391 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 37.862 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 37.960 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 38.210 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 38.225 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 38.340 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 38.571 test (USDCHF,M5)        New tick on account # 42821331
2021.07 . 01 11 : 53 : 39.227 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 40.227 test (USDCHF,M5)        Timer on account # 42821331
2021.07 . 01 11 : 53 : 40.689 test (USDCHF,M5)        Deinitialization on account # 42821331
 
Andrey Khatimlianskii :

문제가 보이지 않습니다. 계정 변경 시점은 노란색으로 강조 표시됩니다 .

그래서 계정을 변경할 때 어드바이저를 언로드 할 수 있었습니까?

 
fxsaber :

그래서 계정을 변경할 때 어드바이저를 언로드 할 수 있었습니까?

언로드 문제를 해결하지 않고 불필요한 경고로 문제를 해결했습니다(잘못된 계정에서 작업).

mql5 언어의 특징, 미묘함 및 작업 방법

fxsaber , 2021.06.30 14:01

이 EA는 계정 간 전환 시 경고합니다. 규칙에 따르면 그는 이것을 해서는 안 될 것 같습니다.

그러나 이것은 타이머 때문입니다.

 
Andrey Khatimlianskii :

언로드 문제를 해결하지 않고 불필요한 경고로 문제를 해결했습니다(잘못된 계정에서 작업).

경고 필요 - 무슨 일이 일어나고 있는지 보여줍니다. 기능을 보여줍니다.

 

테스터가 연 차트입니다.

<chart>
tester= 1
 
역사에서 이익을 취하고 손실을 막는 방법을 찾는 방법은 무엇입니까?