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

 
paladin800 :
그리니치 표준시.
시간GMT() ;
 
artmedia70 :
시간GMT();
예, 저도 이 기능을 발견했습니다. 외부 매개변수에서 하나의 변수를 4AM으로, 두 번째 변수를 5PM으로 만든 다음 TimeGMT()의 결과를 비교하는 방법을 알 수 없습니다.
 
papaklass :

내 프로필의 CodeBase에 게시된 코드가 4개 있는 이유는 무엇입니까?

그리고 메뉴를 통해 CodeBase로 이동하여 "내 코드" 항목을 선택하면 7개의 코드가 게시됩니다.

점은 무엇인가?

계산이 정말 다릅니다. 사용자 업적에는 mql4.com에서 가져온 출판물이 포함되지 않으며 그 중 3개가 있습니다.

원래 mql5.com에 게시된 간행물만 고려됩니다. 그 중 4개 = MT5용 3개 + MT4용 1개입니다.

 

나는 모든 사람들이 여기에서 귀하의 계정에 로그인하기 위해 귀하의 로그인 문자의 대소문자를 관찰할 필요가 없다는 것을 알아차렸다고 생각합니다. 지금 여기에 글을 쓰면 숫자와 함께 소문자로 작성된 로그인이 표시됩니다. 로그인 할 때 모든 글자를 대문자로 쓰거나 대소를 차례로 쓰면 어쨌든 로그인합니다. 좋아, 그것은 어떤 식 으로든 아프지 않습니다.

ME5에서 다른 참여자를 연결해야 하는 프로젝트를 생성 했는데, 불편한 점은 사용자 추가 창에 동맹국의 로그인 정보를 입력하면 아무도 없다는 메시지가 나온다는 점입니다. ServiceDesk에 물어보니 대소문자를 구분해야 한다고 합니다. 저것들. 여기에서 로깅할 때는 대소문자가 중요하지 않지만 ME5에 추가할 때는 프로젝트가 중요합니다. 여기서 대소문자가 중요하지 않은 경우 프로젝트에서도 중요하지 않은지 확인하십시오.
 
zhserg :

적어도 대략적으로 나에게 무슨 문제가 있는지 말해주세요. WinXP 때문일까요?

WinXP에서 확인 - 코드가 작동합니다.

차트의 개체 목록에 개체가 표시됩니까?

 
신속하게 검토할 수 있도록 여기 서비스 데스크에 신청서를 게시합니다. (일주일째 걸려있고 답이 없습니다.)   개통 , 개통 : 2015.03.03 10:49 , #1169959

터미널의 버전 및 비트 수

메타 트레이더 5 빌드 1085

문제에 대한 설명

주문이나 거래를 정렬하는 데 걸리는 시간의 멱법칙 의존성. 분명히, 기록의 각 주문에 대해 호출된 HistoryOrderGetDouble, HistoryOrderGetInteger, HistoryDealGetInteger, HistoryDealGetDouble 함수의 실행 시간은 처리되는 주문 수가 증가함에 따라 선형적으로 증가해야 합니다.

총 실행 시간 = 하나의 주문에 대한 쿼리 실행 시간 * 주문 수;

실제로 이것은 일어나지 않습니다. 대신, 밀리초의 종류 수 = 0.000005*n^2 의 멱법칙 의존성이 드러났습니다. 여기서 n 은 처리할 주문의 수입니다.

시퀀싱

이 스크립트는 기존 문제를 보여줍니다.

 //+------------------------------------------------------------------+
//|                                             TestSpeedHistory.mq5 |
//|                                 Copyright 2015, Vasiliy Sokolov. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, Vasiliy Sokolov."
#property link       "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
{
//---
   HistorySelect ( 0 , TimeCurrent ()+ 100 );
   for ( int end_order_index = 1000 ; end_order_index < HistoryOrdersTotal (); end_order_index+= 1000 )
   {
       uint tiks_begin = GetTickCount ();
      TestProgression(end_order_index);
       uint tiks = GetTickCount () - tiks_begin;
       printf ( "Parsing " + ( string )end_order_index + " for " + ( string )tiks + " msc." );   
   }
}

void TestProgression( int end_order_index)
{
   for ( int i = 0 ; i < end_order_index; i++)
   {
       ulong id = HistoryOrderGetTicket (i);
       string symbol = HistoryOrderGetString (id, ORDER_SYMBOL);
       double priceSetup = HistoryOrderGetDouble (id, ORDER_PRICE_OPEN);
       double volumeSetup = HistoryOrderGetDouble (id, ORDER_VOLUME_INITIAL);
       long tSetup = HistoryOrderGetInteger (id, ORDER_TIME_SETUP_MSC);
       string comment = HistoryOrderGetString (id, ORDER_COMMENT);
      ENUM_ORDER_TYPE type = (ENUM_ORDER_TYPE) HistoryOrderGetInteger (id, ORDER_TYPE);
      ENUM_ORDER_STATE state = (ENUM_ORDER_STATE) HistoryOrderGetInteger (id, ORDER_STATE);
       ulong magic = HistoryOrderGetInteger (id, ORDER_MAGIC);
       HistoryDealGetInteger
   }
}
//+------------------------------------------------------------------+

결과

이 스크립트의 실행 시간은 end_order_index가 증가함에 따라 선형적으로 증가해야 합니다. 따라서 TestRegression에서 1000개 주문을 처리하는 데 16밀리초가 걸리면 2000개 주문을 처리하는 데 16 * 2 = 32ms가 걸립니다. 그러나 이것은 발생하지 않습니다. 대신 의존성은 거듭제곱 법칙입니다. 스크립트는 다음 메시지를 출력합니다.

 2015.03 . 03 12 : 14 : 29.385 TestSpeedHistory (USDCHF,D1)    Parsing 22000 for 4025 msc.
2015.03 . 03 12 : 14 : 25.354 TestSpeedHistory (USDCHF,D1)    Parsing 21000 for 3666 msc.
2015.03 . 03 12 : 14 : 21.689 TestSpeedHistory (USDCHF,D1)    Parsing 20000 for 3323 msc.
2015.03 . 03 12 : 14 : 18.358 TestSpeedHistory (USDCHF,D1)    Parsing 19000 for 2995 msc.
2015.03 . 03 12 : 14 : 15.365 TestSpeedHistory (USDCHF,D1)    Parsing 18000 for 2715 msc.
2015.03 . 03 12 : 14 : 12.658 TestSpeedHistory (USDCHF,D1)    Parsing 17000 for 2418 msc.
2015.03 . 03 12 : 14 : 10.243 TestSpeedHistory (USDCHF,D1)    Parsing 16000 for 2106 msc.
2015.03 . 03 12 : 14 : 08.134 TestSpeedHistory (USDCHF,D1)    Parsing 15000 for 1872 msc.
2015.03 . 03 12 : 14 : 06.266 TestSpeedHistory (USDCHF,D1)    Parsing 14000 for 1622 msc.
2015.03 . 03 12 : 14 : 04.645 TestSpeedHistory (USDCHF,D1)    Parsing 13000 for 1388 msc.
2015.03 . 03 12 : 14 : 03.244 TestSpeedHistory (USDCHF,D1)    Parsing 12000 for 1170 msc.
2015.03 . 03 12 : 14 : 02.074 TestSpeedHistory (USDCHF,D1)    Parsing 11000 for 983 msc.
2015.03 . 03 12 : 14 : 01.097 TestSpeedHistory (USDCHF,D1)    Parsing 10000 for 796 msc.
2015.03 . 03 12 : 14 : 00.295 TestSpeedHistory (USDCHF,D1)    Parsing 9000 for 639 msc.
2015.03 . 03 12 : 13 : 59.657 TestSpeedHistory (USDCHF,D1)    Parsing 8000 for 500 msc.
2015.03 . 03 12 : 13 : 59.164 TestSpeedHistory (USDCHF,D1)    Parsing 7000 for 358 msc.
2015.03 . 03 12 : 13 : 58.796 TestSpeedHistory (USDCHF,D1)    Parsing 6000 for 266 msc.
2015.03 . 03 12 : 13 : 58.537 TestSpeedHistory (USDCHF,D1)    Parsing 5000 for 171 msc.
2015.03 . 03 12 : 13 : 58.369 TestSpeedHistory (USDCHF,D1)    Parsing 4000 for 94 msc.
2015.03 . 03 12 : 13 : 58.277 TestSpeedHistory (USDCHF,D1)    Parsing 3000 for 47 msc.
2015.03 . 03 12 : 13 : 58.229 TestSpeedHistory (USDCHF,D1)    Parsing 2000 for 15 msc.
2015.03 . 03 12 : 13 : 58.208 TestSpeedHistory (USDCHF,D1)    Parsing 1000 for 16 msc.


주문 수에 따른 처리 시간 의존 기능:

예상 결과

이 작업은 O(n^2) 시간이 소요되는 반면 O(n) 시간이 소요될 것으로 예상됩니다.

추가 정보

스크립트가 작동하는지 확인하려면 거래 및 주문이 많은 계정에서 스크립트를 실행해야 합니다.

응용 프로그램에 첨부된 주문 수에 대한 시간 의존도 함수의 그래프입니다. 함수의 차수 수에 대한 멱법칙 의존성을 잘 보여줍니다.

중요: 내 관찰에 따르면 이 불쾌한 의존성은 2014년 초여름 어딘가에 MetaTrader 5에 나타났습니다. 지금까지는 모든 것이 빠르게 작동했습니다.

 
안녕하세요! 올바른 섹션에 질문을 게시하기를 바랍니다. Wine에서 MT5를 테스트하려고 시도했지만 사용할 수 없습니다. Wine을 시작할 때 응용 프로그램이 실행 중이지만 오류가 표시됩니다. 인증서를 어디에 둘 것인지도 명확하지 않습니다. 응용 프로그램을 설치하고 단순히 복사를 시도했지만 오류는 동일합니다. 소리를 껐다 해도 소용이 없었습니다. Linux 버전에서 고유하게 작동하는 안정적이고 다운로드할 수 있는 곳이 있습니까?
 
polik :
안녕하세요! 올바른 섹션에 질문을 게시하기를 바랍니다. Wine에서 MT5를 테스트하려고 시도했지만 사용할 수 없습니다. Wine을 시작할 때 응용 프로그램이 실행 중이지만 오류가 표시됩니다. 인증서를 어디에 둘 것인지도 명확하지 않습니다. 응용 프로그램을 설치하고 단순히 복사를 시도했지만 오류는 동일합니다. 소리를 껐다 해도 소용이 없었습니다. Linux 버전에서 고유하게 작동하는 안정적이고 다운로드할 수 있는 곳이 있습니까?

안녕하세요,

뭐가 문제 야? 어떤 시스템이 가치가 있습니까? 와인 버전?

 
C-4 :
신속하게 검토할 수 있도록 여기 서비스 데스크에 신청서를 게시합니다. (일주일째 걸려있고 답이 없습니다.)   개통 , 개통 : 2015.03.03 10:49 , #1169959

터미널의 버전 및 비트 수

메타 트레이더 5 빌드 1085

문제에 대한 설명

주문이나 거래를 정렬하는 데 걸리는 시간의 멱법칙 의존성. 분명히 기록의 각 주문에 대해 호출된 HistoryOrderGetDouble, HistoryOrderGetInteger, HistoryDealGetInteger, HistoryDealGetDouble 함수의 실행 시간은 처리된 주문 수에 따라 선형적으로 증가해야 합니다.

총 실행 시간 = 하나의 주문에 대한 쿼리 실행 시간 * 주문 수;

실제로 이것은 일어나지 않습니다. 대신, 밀리초의 종류 수 = 0.000005*n^2 의 멱법칙 의존성이 드러났습니다. 여기서 n 은 처리할 주문의 수입니다.

많은 수의 지표를 계산할 때도 비슷한 그림이 나타납니다. 모든 것이 버전 1079에서 갑자기 시작되었습니다.
각각 10개의 표시기가 있는 8개의 TF가 동시에 열려 있습니다. 일하는 것은 불가능합니다.

 

누가 현실에서 이걸...

반은 지속적으로 mt4를 동결합니다.

사유: