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

 

   if(PositionSelect(_Symbol))
     {
      if(HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)))
        {
         total=HistoryDealsTotal();
         //total=HistoryOrdersTotal();
         Print("total = "+IntegerToString(total));
         for(i=0; i<total; i++)
           {
           
            ticket=HistoryDealGetTicket(i);
            //ticket=HistoryOrderGetTicket(i);
            if(ticket > 0)
              {
               if(1906 == HistoryDealGetInteger(ticket, DEAL_MAGIC))
               //if(1906 == HistoryOrderGetInteger(ticket, ORDER_MAGIC))
                 {
                  nCount++;
                 }
              }
           }
        }
     }
  

   Print( "Количество сделок по символу "+_Symbol+" "+IntegerToString(nCount));

EA가 데모에서 작업하거나 스크립트를 실행하면 거래 수를 반환합니다.

그러나 EA가 테스터에서 테스트되면 어떤 이유로 이 코드는 항상 하나의 거래를 반환합니다.

캐치 뭔데? 코드에서 주문과 거래를 모두 꺼내려고 시도했지만 일반 모드에서는 모든 것이 정상적으로 반환되지만 테스터에는 하나만 있습니다.

 
AlexSTAL :

64비트 운영 체제에서 32비트 버전의 터미널을 실행하고 많은 메모리를 요청한 다음 부족에 놀라는 것은 절대적으로 비합리적입니다.

64비트 버전의 터미널을 사용하십시오.

 
Renat :

64비트 운영 체제에서 32비트 버전의 터미널을 실행하고 많은 메모리를 요청한 다음 부족에 놀라는 것은 절대적으로 비합리적입니다.

64비트 버전의 터미널을 사용하십시오.

고맙습니다! 여기서 문제는 모든 친구들이 64비트와 너무 많은 메모리를 가지고 있지 않다는 것입니다.

32비트의 문제는 간단하게 해결되었습니다. 전역 설정에서 창의 막대 수에 제한을 설정했습니다.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Konstantin83 :

EA가 데모에서 작업하거나 스크립트를 실행하면 거래 수를 반환합니다.

그러나 EA가 테스터에서 테스트되면 어떤 이유로 이 코드는 항상 하나의 거래를 반환합니다.

캐치 뭔데? 코드에서 주문과 거래를 모두 꺼내려고 시도했지만 일반 모드에서는 모든 것이 정상적으로 반환되지만 테스터에는 하나만 있습니다.

전체 EA 코드를 보내주십시오.
 
Graff :
MT 5는 프록시(http,socks 4.5) 빌드 328을 통해 작동하지 않습니다. 동시에 MT 4는 이러한 프록시를 통해 잘 작동합니다.

프록시를 통해 MT5를 작동시키는 방법은 무엇입니까?

 

다음은 질문입니다.

소수점 이하 자릿수 결정:

 int digit= SymbolInfoInteger (symbol, SYMBOL_DIGITS );

컴파일할 때 경고가 발생합니다.

숫자 변수의 유형 변환으로 인한 데이터 손실 가능성

수신 데이터의 유형이 정수이기 때문에 이유는 명확하지 않습니다.

데이터 유형을 long, ulong 또는 기타로 변경하려고 하면 유사한 경고가 다른 행과 숫자 변수에 대해 나타납니다.

SL= NormalizeDouble (SL, digit);

내가 무엇을 잘못하고 있지?

 
다음과 같이 시도하십시오.
 int digit= ( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );

 
AsAn :

다음은 질문입니다.

소수점 이하 자릿수 결정:

컴파일할 때 경고가 발생합니다.

숫자 변수의 유형 변환으로 인한 데이터 손실 가능성

수신 데이터의 유형이 정수이기 때문에 이유는 명확하지 않습니다.

데이터 유형을 long, ulong 또는 기타로 변경하려고 하면 유사한 경고가 다른 행과 숫자 변수에 대해 나타납니다.

내가 무엇을 잘못하고 있지?

이렇게 취급

 int digit= ( int ) SymbolInfoInteger (symbol, SYMBOL_DIGITS );
 
고맙습니다. 치료 효과가 있습니다 :)
 

작은 제안이 있습니다.

mh(웹 아카이브)에서 보고서를 작성하지 않는 이유는 사용자에게 더 편리할 것 같습니다.

보고서 1개 - 파일 1개, 지금과는 다른 2개(html 및 png)