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

 
Vladislav Andruschenko :


mt5에서?

예, 그대로,

나는 오랫동안 MT5에서 extern을 사용하지 않았습니다.


확인. 그런 다음 거래 패널에서 열지 않고 입력 매개 변수의 값을 어떻게 변경 했습니까? 결국, 표시되고 나면 입력되는 것이므로 변경할 수 없습니다.
 
Alexander Fedosov :

확인. 그런 다음 거래 패널에서 열지 않고 입력 매개 변수의 값을 어떻게 변경 했습니까? 결국, 표시되고 나면 입력되는 것이므로 변경할 수 없습니다.

정직할 생각이 없다.


하지만 extern이 입력 매개변수에 표시되지 않는다는 사실 - 오랫동안 이랬나요? mt5 터미널의 시작 부분에서 알 수 있습니다.

 
Vladislav Andruschenko :

정직할 생각이 없다.


하지만 extern이 입력 매개변수에 표시되지 않는다는 사실 - 오랫동안 이랬나요? mt5 터미널의 시작 부분에서 알 수 있습니다.


글쎄, 그렇다면 SD에 분명히 시간이 되었기 때문입니다. 1550 이전 버전에서 컴파일된 것이 있고 패널을 통해 extern 유형의 변수가 변경되고 입력 매개변수에 표시됩니다.
 
Alexander Fedosov :

글쎄, 그렇다면 SD에 분명히 시간이 되었기 때문입니다. 1550 이전 버전에서 컴파일된 것이 있고 패널을 통해 extern 유형의 변수가 변경되고 입력 매개변수에 표시됩니다.

나중에 도입되었다가 다시 제거되었을 수 있습니까? 2012년부터 extern이 입력으로 대체되었고 실제로 모든 것을 입력으로 변경했다는 것을 깨달았습니다.
 

안녕하세요 저는 2개의 터미널 mt5 Alpari와 mt5 Broker Opening이 있습니다. \

12개의 악기 출시 + 설치된 지표. CPU 부하 5-10%

Alpari에서는 3개의 창이 열려 있고 동일한 표시기이며 프로세서는 25-30% 로드되고 컴퓨터는 끔찍하게 멍청합니다.

히스토리의 설정에 5000바가 있습니다.
모든 차트를 닫고 창을 닫아도 Alpari의 시장 기호는 14% 로드됩니다.

더 많은 도구를 열고 싶지만 부하가 있는 이 결함으로 인해 이 작업을 수행할 수 없습니다.

최소화된 창에서 CPU 로드는 8-9%입니다.

그래프를 그리는 데 결함이 있다는 것을 알고 있습니까? 그런데 왜 오프닝 브로커는 그런 문제가 없을까요?


 
Alexander Fedosov :

글쎄, 그렇다면 SD에 분명히 시간이 되었기 때문입니다. 1550 이전 버전에서 컴파일된 것이 있고 패널을 통해 extern 유형의 변수가 변경되고 입력 매개변수에 표시됩니다.


이 유형의 데이터에 대한 이 쓰기는 원래 입력 매개변수가 명확하지 않기 때문에 그들이 당신을 위해 일한 이유였습니다.

외부 변수

extern 키워드는 전역 수명을 가진 정적 스토리지 클래스 식별자로 변수 식별자를 선언하는 데 사용됩니다. 이러한 변수는 프로그램이 실행을 시작하는 순간부터 존재하며, 프로그램이 실행되기 시작한 직후에 이에 대한 메모리가 할당되어 초기화됩니다.

#include 전처리기 지시문을 사용하여 여러 소스 파일로 구성된 프로그램을 만들 수 있습니다. 동일한 유형 및 식별자로 extern으로 선언된 변수는 동일한 프로젝트의 다른 소스 파일에 존재할 수 있습니다.

전체 프로젝트를 컴파일할 때 유형 및 식별자가 동일한 모든 extern 변수는 전역 변수 풀의 동일한 위치와 연결됩니다. 외부 변수는 소스 파일을 별도로 컴파일하는 데 유용합니다. Extern 변수는 초기화할 수 있지만 한 번만 가능합니다. 동일한 유형과 동일한 식별자를 가진 여러 개의 초기화된 extern 변수의 존재는 허용되지 않습니다.‌

 
그것은 무엇입니까?
2017.03.14 09:51:34.866 Trades  use Hosting Service to speed up the execution - 0.31 ms via 'MQL5 Amsterdam 2 (MQL5 Ltd.)' instead of 72.36 ms
 
fxsaber :
그것은 무엇입니까?
광고하는:)
 

1554 요청 상태 이전에 눈치채지 못함

흥미롭게도 배치 상태 이전에도 마진 데이터를 완전히 사용할 수 있습니다.

 

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

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

fxsaber , 2017.03.14 08:38

  • MT4/5에서는 보류 중인 주문이 마법, 댓글 및 볼륨을 변경할 수 없습니다.
FXOpen-MT5 거래 서버, 스크립트 실행
 void OnStart ()
{
   MqlTradeRequest Request = { 0 };
  
  Request.action = TRADE_ACTION_PENDING ;
  Request.symbol = _Symbol ;
  Request.volume = 1 ;
  Request.price = SymbolInfoDouble (Request.symbol, SYMBOL_ASK ) - 100 * _Point ;
  Request.type = ORDER_TYPE_BUY_LIMIT ;
  Request.type_filling = ORDER_FILLING_IOC ;
  Request.comment = "FirstComment" ;
  
   MqlTradeResult Result;
  
   if ( OrderSend (Request, Result))
  {        
    Request.action = TRADE_ACTION_MODIFY ;
    Request.order = Result.order;
    Request.type_time = ORDER_TIME_SPECIFIED ;
    Request.expiration = TimeCurrent () + 1000 ;
     Request.comment = "NewComment" ;     

     OrderSend (Request, Result);  
  }
}

새로운 Request.comment 필드를 설정하여 지연을 노출하고 수정합니다.

스크립트 실행 로그

 2017.03 . 14 11 : 33 : 47.642 Trades   '10127' : buy limit 1.00 EURUSD at 1.06314
2017.03 . 14 11 : 33 : 47.775 Trades   '10127' : accepted buy limit 1.00 EURUSD at 1.06314
2017.03 . 14 11 : 33 : 47.777 Trades   '10127' : buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03 . 14 11 : 33 : 47.797 Trades   '10127' : order # 61938 buy limit 1.00 / 1.00 EURUSD at 1.06314 done in 154.608 ms (FirstComment)
2017.03 . 14 11 : 33 : 47.797 Trades   '10127' : modify order # 61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314 , sl: 0.00000 tp: 0.00000
2017.03 . 14 11 : 33 : 47.930 Trades   '10127' : accepted modify order # 61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314 , sl: 0.00000 tp: 0.00000
2017.03 . 14 11 : 33 : 47.930 Trades   '10127' : modify order # 61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314 , sl: 0.00000 tp: 0.00000 placed for execution
2017.03 . 14 11 : 33 : 47.950 Trades   '10127' : modify # 61938 buy limit 1.00 EURUSD -> price: 1.06314 , sl: 0.00000 , tp: 0.00000 ) done in 154.566 ms (NewComment)

터미널 쇼

이제 지연된 항목을 수동으로 삭제하고 로그에서 해당 항목을 가져옵니다.

2017.03.14 11:35:01.198 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.330 Trades  '10127': accepted cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.333 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:35:01.465 Trades  '10127': cancel #61938 buy limit 1.00 EURUSD at 1.06314 done in 268.415 ms (NewComment)

터미널 쇼




저것들. 지연자의 의견이 실제로 변경되었습니다. 그러나 터미널은 로그와 히스토리에서만 그것을 보여줄 수 있습니다 - BUG!