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

 
Renat :

의심할 여지 없이.

그리고 당신이 그런 간단한 것을 이해하지 못하는 것은 너무 나쁩니다.

차이점을 설명해 주시겠습니까? 진지한 질문, 트롤링 없음.
 
voix_kas :
차이점을 설명해 주시겠습니까? 진지한 질문, 트롤링 없음.

직접 해보십시오. 이것이 가장 좋은 학습 방법입니다.

플래그가 초기에 true이고 코드의 의도된 사용이 "1번만 작동하고 할당을 백만 번 건너뛴다"라는 조건으로 첫 번째 질문을 보완하면 조언이 달라집니다. 그러나 원래 질문에는 그러한 설명이 포함되어 있지 않았습니다.

 

일부 상품은 상품에 대한 담보 금액을 계산하는 방법을 정의하지 않습니다. MQ 서버. 예를 들어, GBOT 섹션의 도구에서 볼 수 있습니다. 왜요?

테스트할 수 있는 코드는 다음과 같습니다.

 //+------------------------------------------------------------------+
//| СКРИПТ                                                           |
//+------------------------------------------------------------------+
void OnStart ()
  {
   Print (GetStringTradeCalcMode( SymbolInfoInteger ( _Symbol , SYMBOL_TRADE_CALC_MODE )));
   //---
   if ( GetLastError ()> 0 )
     Print ( "GetLastError(): " , GetLastError ());
  }
//+------------------------------------------------------------------+
//| Возвращает строку о способе вычисления                           |
//| величины залоговых средств по инструменту                        |
//+------------------------------------------------------------------+
string GetStringTradeCalcMode( long mode)
  {
   string str= "?" ;
//---
   switch (( int )mode)
     {
       case SYMBOL_CALC_MODE_FOREX        :
         str= "Forex mode" ;                 break ;
       case SYMBOL_CALC_MODE_FUTURES      :
         str= "Futures mode" ;               break ;
       case SYMBOL_CALC_MODE_CFD          :
         str= "CFD mode" ;                   break ;
       case SYMBOL_CALC_MODE_CFDINDEX     :
         str= "CFD index mode" ;             break ;
       case SYMBOL_CALC_MODE_CFDLEVERAGE :
         str= "CFD Leverage mode" ;           break ;
     }
//---
   return (str);
  }
 

MQ에 대한 질문입니다. HistorySelect 실행 후 거래/주문이 역사적 발생 순서대로 정렬된다는 것이 보장됩니까?

또는 시간 순서를 보장하려면 다음이 필요합니다.

1. 주문/거래 번호 및 등록 날짜를 포함 하여 HistorySelect 기능에 의해 선택된 모든 거래/주문을 임시 배열에 넣습니다. 숫자만으로 충분합니까?

2. 적절한 배열 정렬.

3. 역사적 연대순에 따른 후속 처리.

 

안녕하세요.

MQL5에서 변수에 대한 참조를 반환할 수 있습니까?

즉, 다음과 같습니다.

 class Array{

int data[];

Array( int n){

         ArrayResize (data,n);

         ArrayInitialize (data, 0 ); 

} 

int & operator []( const int index){

         return data[index];

} 

} ;
В данном случае компилятор сообщает, что ссылка не может быть использована.
 
voix_kas :

MQ에 대한 질문입니다. HistorySelect 실행 후 거래/주문이 역사적 발생 순서대로 정렬된다는 것이 보장됩니까?

또는 시간 순서를 보장하려면 다음이 필요합니다.

1. 주문/거래 번호 및 등록 날짜를 포함 하여 HistorySelect 기능에 의해 선택된 모든 거래/주문을 임시 배열에 넣습니다. 숫자만으로도 충분합니까?

2. 적절한 배열 정렬.

3. 역사적 연대순에 따른 후속 처리.

거래/주문 정렬은 보장되지 않습니다.

당신이 지적한 포인트에 따라 모든 것을 수행

 
stringo :

거래/주문 정렬은 보장되지 않습니다.

당신이 지적한 포인트에 따라 모든 것을 수행

고맙습니다. 또한 한 가지 명확한 뉘앙스를 이해하고 싶습니다. 아마 누군가에게는 뻔히 보일지 모르지만, 다시 말하지만 이것은 문서에 명시적으로 나와 있지 않으므로 원본 소스(MQ 담당자)의 답변을 듣고 싶습니다.

거래 기록을 DEAL_TIME/ DEAL_TIME_MSC 또는 티켓의 순서대로 정렬할 때 의존하기에 더 정확한(더 안정적인) 변수는 무엇입니까?

지금까지는 티켓으로 정렬하는 방법을 사용하고 있습니다. 티켓 번호가 서버의 데이터베이스에서 자동 증가한다고 가정합니다. 예를 들어 브로커가 서버(계정이 아닌)의 마지막 거래보다 적은 티켓 값으로 새 거래를 추가하여 기록을 변경하려는 경우 이 순서를 깨뜨릴 방법이 없습니다. 저것들. 새로운 거래는 작년에도 (수동으로) 날짜를 지정할 수 있지만 티켓은 서버의 마지막 거래에서 자동 증가 값으로 생성됩니다.

제 추측이 맞는지 말씀해 주시겠습니까? 거래 수행/등록의 진정한 역사적 연대기를 구축하기 위한 가장 신뢰할 수 있는 기준점으로 거래 티켓을 사용할 수 있습니까?

 

voix_kas :

거래 수행/등록의 진정한 역사적 연대기를 구축하기 위한 가장 신뢰할 수 있는 기준점으로 거래 티켓을 사용할 수 있습니까?

아니요.
 
sergeev :
아니요.

답을 공개할 수 있습니까? 이유, 대안, 개인적인 경험/의견.

추신

그래도 개발자(MQ)의 자세한 답변을 듣고 싶습니다.

 
voix_kas :

답을 공개할 수 있습니까? 이유, 대안, 개인적인 경험/의견.

그러나 연대기를 원하면 시간이 필요하다는 것을 이해하지 못하셨습니까?

티켓은 그것과 어떤 관련이 있으며 시간은 바뀔 수 있습니다.