오류, 버그, 질문 - 페이지 1614

 
테스터에 설정된 SellLimit이 만료(만료) 또는 백테스트 종료로 인해 삭제되면 만료 날짜가 보류 중인 설정 날짜와 잘못 동일하게 됩니다.

TRADE_ACTION_MODIFY 를 통해 만료 날짜를 설정하면 테스터에서 작동하지 않습니다.

재생
 void OnInit ()
{
   MqlTradeRequest Request = { 0 };

  Request.action = TRADE_ACTION_PENDING ;
  
  Request.symbol = Symbol ();
  Request.volume = 1 ;
  Request.price = SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
  
  Request.type = ORDER_TYPE_SELL_LIMIT ;

   MqlTradeResult Result;
  
   if ( OrderSend (Request, Result))
  {
    Request.action = TRADE_ACTION_MODIFY ;
    Request.order = Result.order;
    
    Request.type_time = ORDER_TIME_SPECIFIED ;
    Request.expiration = TimeCurrent () + 10000 ;
    
     if ( OrderSend (Request, Result))
       if ( OrderSelect (Request.order))
         Print ( "SetExpiration = " + ( string )( datetime ) OrderGetInteger ( ORDER_TIME_EXPIRATION )); // установили дату экспирации        
  }
}

void OnDeinit ( const int reason )
{  
   if ( HistorySelect ( 0 , TimeCurrent ()))
  {
     const ulong Ticket = HistoryOrderGetTicket ( 0 );
   
     if (Ticket > 0 )
    {
       // Дата экспирации изменилась - стала равна дате установки ордера!
       Print ( "NowExpiration = " + ( string )( datetime ) HistoryOrderGetInteger (Ticket, ORDER_TIME_EXPIRATION ));
     
       // При этом ордер по ранее установленной дате экспирации не удалился!     
       Print ( "DeleteTime = " + ( string )( datetime ) HistoryOrderGetInteger (Ticket, ORDER_TIME_DONE ));
    }
  }
}

 
Andrey Dik :

과거 데이터는 꽤 많은 공간을 차지합니다(이것은 주장이나 진술이 아닙니다). 여러 대의 단말기를 사용해야 하고 각각 기가 바이트의 히스토리를 수집하고 테스터와 단말기의 폴더에 히스토리가 복제됩니다.

모든 이력 파일을 하나의 폴더에 넣고 터미널에서 링크로 폴더를 지정할 수 있습니까? 서로 다른 터미널 간에 이력에 액세스하는 데 문제가 있습니까?

시험을 마친. 이제 여러 터미널이 있고 테스터가 하나의 단일 기록 폴더에 액세스합니다. 다음과 같은 터미널 불만 사항 이외:

2016.07.19 16:39:02.276 스프레드 config 파일 열기 오류 [다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스할 수 없습니다. (32)]

2016.07.19 16:39:02.276 스프레드 구성 파일 열기 오류 [********symbols\spreads-**************.dat][다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스할 수 없습니다. (32)]

업무상 문제가 없다고 봅니다. 만세!... 수백 기가바이트의 디스크 공간이 절약되었습니다!

서비스 데스크는 공유 데이터에 대한 액세스 조직과의 이러한 조치가 위험을 초래할 수 있다고 경고했습니다.


 
Andrey Dik :

시험을 마친. 이제 여러 터미널이 있고 테스터가 하나의 단일 기록 폴더에 액세스합니다. 다음과 같은 터미널 불만 사항 이외:

2016.07.19 16:39:02.276 스프레드 config 파일 열기 오류 [다른 프로세스에서 사용 중이므로 프로세스가 파일에 액세스할 수 없습니다. (32)]

2016.07.19 16:39:02.276 스프레드 구성 파일 열기 오류 [********symbols\spreads-**************.dat][다른 프로세스에서 사용 중이기 때문에 프로세스가 파일에 액세스할 수 없습니다. (32)]

업무상 문제가 없다고 봅니다. 만세!... 수백 기가바이트의 디스크 공간이 절약되었습니다!

서비스 데스크는 공유 데이터에 대한 액세스 조직과의 이러한 조치가 위험을 초래할 수 있다고 경고했습니다.


그리고 어떻게 구현되었나요?
 
coderex :
그리고 어떻게 구현되었나요?

별도의 Bases 패키지를 만들어 터미널 중 하나에서 해당 패키지로 기록을 전송했습니다. 그 후 모든 터미널과 테스터에서 히스토리가 있는 실제 폴더 대신 Junction과 같은 링크를 공유 폴더에 배치했습니다.

하나의 VPS에서 여러 터미널을 사용할 때 특히 관련이 있으며 더 작은 디스크 공간을 선택하여 실제 비용을 절감할 수 있습니다.

 
나는 테스터에서 오프라인으로 일합니다. 로그가 수십만 항목으로 막히지 않도록 하는 방법은 무엇입니까?
 2016.07 . 21 07 : 48 : 41.578 MQL5.community  authorization failed

 
표준 라이브러리 는 ::OrdersTotal()을 호출하지 않고 어떻게 돌아다녔습니까?
 
fxsaber :
나는 테스터에서 오프라인으로 일합니다. 로그가 수십만 개의 항목으로 가득 차 있지 않도록 하는 방법은 무엇입니까?

커뮤니티 설정( 메인 메뉴 - 도구 - 설정 - 커뮤니티 탭)에서 인증 데이터를 삭제합니다.
 
Slawa :
커뮤니티 설정(메인 메뉴 - 도구 - 설정 - 커뮤니티 탭)에서 인증 데이터를 삭제합니다.
거기에 게시한 적이 없습니다. 이 경우에는 아닙니다.
 

거래 패널이 존재하지 않는 이유는 무엇입니까? 아니면 그들은 어느 그룹에 속합니까?

 
Vladimir Pastushak :

그리고 어떤 거래 패널이 존재하지 않습니까? 아니면 그들은 어느 그룹에 속합니까?

유틸리티를 선택해야 합니다. 카테고리가 정말 없습니다.