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

 

편집기에서 선택한 조각을 인쇄할 수 있는 기능을 계속 만들 수 있습니까? 이 라디오 버튼은 현재 비활성화되어 있습니다.

물론 사소하지만 불쾌한 일입니다. 특히 목록이 50페이지 길이인 경우에는 더욱 그렇습니다.

 

어제부터 서버가 다운 된 것 같습니다 ...

 

유전자 알고리즘이 어디론가 사라졌다... 빌드 360

질문이 삭제되었습니다! 거기가 아니라 검색!

 

ORDERED 거래 목록을 반환하기 위해 HistorySelectByPosition() 을 사용할 수 있습니까?

 ulong CExpertAdvisor::GetDealByOrder( ulong order) // получение тикета сделки по тикету ордера
  {
   PositionSelect (m_smb);
   HistorySelectByPosition ( PositionGetInteger (POSITION_IDENTIFIER));
   uint total= HistoryDealsTotal ();
//   for(uint i=0; i<total; i++)
   for ( uint i=total- 1 ; i>= 0 ; i--)
     {
       ulong deal= HistoryDealGetTicket (i);
       if (order== HistoryDealGetInteger (deal, DEAL_ORDER ))
         return (deal);                             // запомнили тикет сделки 
     }
   return ( 0 );
  } 

그러면 HERE 열거가 필요하지 않습니다. 불가능하면 끝부터 열거를 시작할 수 있습니다...(테스터의 거래가 주문된 것으로 나타났습니다).

 

친애하는 개발자 및 프로그래머 여러분! 도움이 필요하다! 내가 처음이 아닐 수도 있지만 여전히 ...

1. "버튼" 개체를 클릭할 때 (예를 들어) 중단되는 주기를 어떻게 구성할 수 있습니까? 동일한 루프에서 OnChartEvent 함수 를 강제로 호출하는 것은 작동하지 않는다는 것을 알고 있습니까? 그렇다면 이 문제를 해결할 수 있는 몇 가지 방법이 있을 수 있습니다. 그렇지 않으면 이미 머리가 깨졌습니다.

루프가 실행 중일 때 시스템 변수는 업데이트되지 않습니다. 차트 기간의 변경을 사용하는 것은 불가능합니다(최소한). 주기가 OnChartEvent 검사를 통해 구성되는 경우 이 기능이 작동하려면 차트로 지속적으로 작업을 수행해야 합니다. 이 또한 옵션이 아닙니다.

2. 차트 창에서 핸들이 아닌 프로그래밍 방식으로 차트를 이동할 수 있습니까? ChartNavigate가 작동하지 않거나 다른 용도로 사용되거나 이것이 어떻게 작동하는지 파악하지 못했습니다.

미리 감사드립니다.

ps 프로그램 텍스트에서 자체 기능과 변수를 강조 표시할 수 있습니까?

 
KffAlex :

1. "버튼" 개체를 클릭할 때 (예를 들어) 중단되는 주기를 어떻게 구성할 수 있습니까? 동일한 루프에서 OnChartEvent 함수 를 강제로 호출하는 것은 작동하지 않는다는 것을 알고 있습니까? 그렇다면 이 문제를 해결할 수 있는 몇 가지 방법이 있을 수 있습니다. 그렇지 않으면 이미 머리가 깨졌습니다.

버튼 개체의 상태를 확인합니다.
 
KffAlex :

ChartNavigate가 작동하지 않거나 다른 용도로 사용되거나 이것이 어떻게 작동하는지 파악하지 못했습니다.

함수를 호출한 후 ChartRedraw를 시도하고 차트의 자동 스크롤이 비활성화되어 있는지 확인하십시오...
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 

전용 원격 서버 에 MT5를 설치합니다. 주기적으로 짧은 연결이 끊긴 경우 터미널이 일부 서버에 다시 연결되는지 확인해야 합니다. 사용하려는 서버를 마우스로 지정해야 합니다. 그렇지 않으면 모든 거래가 "중단"됩니다. 예를 들어 5분 동안 연결되지 않으면 터미널이 자동으로 다시 연결되도록 하려면 어떻게 해야 합니까?

 
EvgeTrofi :

전용 원격 서버에 MT5를 설치했습니다. 주기적으로 짧은 연결이 끊긴 경우 터미널이 일부 서버에 다시 연결되는지 확인해야 합니다. 사용하려는 서버를 마우스로 지정해야 합니다. 그렇지 않으면 모든 거래가 "중단"됩니다. 예를 들어 5분 동안 연결되지 않으면 터미널이 자동으로 다시 연결되도록 하려면 어떻게 해야 합니까?

이것은 자동으로 발생해야 합니다.

터미널 자체가 연결 끊김을 확인하고 자동으로 복구합니다(이 기회가 나타날 때).

이것이 발생하지 않으면 문제에 대한 전체 설명과 함께 서비스 데스크에 요청을 작성하고 로그를 첨부하는 것을 잊지 마십시오.

 

호출 스택 오버플로 문제에 직면했습니다.

개체 중 하나에서 메서드를 호출한 후 아래 예제를 참조하세요. 코드는 단순하며 본질만 있습니다. CClass1 클래스는 기본이고 list1 목록에는 이 클래스의 다른 객체 자손이 있으며 해당 초기화 함수는 다른 구현을 가지고 있습니다. 따라서 init 함수가 한 줄의 init에서 돌아온 후 유사한 목록(즉, 중첩된 인터페이스의 초기화, 패널의 패널)을 반복하는 한 클래스에서

   Print(t.name);

오류가 발생

2010.12.02 00:21:00 test1 (EURUSD,H1) 'Container.mqh'에서 잘못된 포인터 접근 (74,10)

 for (CClass1* t = list1.GetLastNode(); t != NULL ; t = list1.GetPrevNode() ) {
   t.init(); //после выхода отсюда t-мертвый указатель
   Print(t.name); 
}

저것들. 포인터 t가 죽었습니다.

디버깅할 때 이러한 오류가 없으며 포인터가 "live"인 메서드를 호출한 후 중첩된 인터페이스가 생성되고 Expert Advisor가 계속 작동합니다.

오류를 해결하는 유일한 방법은 다음과 같습니다.

savePoint = t;
t.init();
t = savePoint;
#property stacksize를 지정해도 아무 것도 달성하지 못했습니다.