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

 
fxsaber :

당신은 이해하지 못했습니다. 실제로 모든 터미널에서 검색됩니다. 하지만 내 기본 계정에서만 내 계정에 액세스할 수 있습니다. 다른 한편으로는 - 아닙니다.

대부분 연결되지 않은 터미널에서 이전 액세스 포인트가 캐시되고 새 액세스 포인트가 없습니다(브로커가 액세스 포인트 구성을 변경함).

1) 연결되지 않는 터미널에서 Swissquote-Server에 연결(성공 또는 실패)한 적이 있습니까?

2) 계정 열기 창으로 이동하여 "Swissquote-Server"를 입력하고 Enter 키를 누르고 성공적인 처리를 기다렸다가 다시 연결을 시도합니다.

3) 재설치/새로/사용하지 않은 컴퓨터입니까? 어떤 운영 체제와 업데이트가 있습니까?

 
Renat Fatkhullin :

대부분 연결되지 않은 터미널에서 이전 액세스 포인트가 캐시되고 새 액세스 포인트가 없습니다(브로커가 액세스 포인트 구성을 변경함).

1) 연결되지 않는 터미널에서 Swissquote-Server에 연결(성공 또는 실패)한 적이 있습니까?

하지 않았다.

2) 계정 열기 창으로 이동하여 "Swissquote-Server"를 입력하고 Enter 키를 누르고 성공적인 처리를 기다렸다가 다시 연결을 시도합니다.

이것은 목록에 없는 서버에 연결해야 할 때 항상 하는 일입니다. 서버가 목록에 있고 연결되어 있지 않습니다.

3) 재설치/새로/사용하지 않은 컴퓨터입니까? 어떤 운영 체제와 업데이트가 있습니까?

네이티브 터미널.

 2020.03 . 26 08 : 05 : 40.967 Terminal        Swissquote Bank MT5 Client Terminal x64 build 2368 started for Swissquote Bank SA
2020.03 . 26 08 : 05 : 40.969 Terminal        Windows 7 Service Pack 1 build 7601 , Intel Core i7- 2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 4 / 29 Gb disk, IE 11 , Admin, GMT+ 2
2020.03 . 26 08 : 05 : 40.969 Terminal        C:\Program Files\Swissquote Bank MT5 Client Terminal


외계인 터미널.

 2020.03 . 26 08 : 06 : 51.678 ICMarkets - MetaTrader 5 x64 build 2368 started for International Capital Markets Pty Ltd.
2020.03 . 26 08 : 06 : 51.679 Windows 7 Service Pack 1 build 7601 , Intel Core i7- 2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 4 / 29 Gb disk, IE 11 , Admin, GMT+ 2
2020.03 . 26 08 : 06 : 51.679 C:\Program Files\ICMarkets - MetaTrader 5


동일한 시스템에서 실행됩니다. config 폴더를 파괴하면 연결이 끊어집니다. 하지만 그러면 연구 터미널에 있는 다른 모든 계정의 데이터를 잃게 됩니다.


ZY 직접 시도할 수 있도록 LAN에 있는 서버의 IP 주소를 알려주시겠습니까?

 
fxsaber :

하지 않았다.

이것은 목록에 없는 서버에 연결해야 할 때 항상 하는 일입니다. 서버가 목록에 있고 연결되어 있지 않습니다.

네이티브 터미널.


외계인 터미널.


동일한 시스템에서 실행됩니다. config 폴더를 파괴하면 연결이 끊어집니다. 하지만 그러면 연구 터미널에 있는 다른 모든 계정의 데이터를 잃게 됩니다.


ZY 직접 시도할 수 있도록 LAN에 있는 서버의 IP 주소를 알려주시겠습니까?

나는 문제없이 모든 것을 연결했습니다.

 2020.03 . 26 13 : 34 : 06.558 Network new demo account '6036452' opened on Swissquote-Server
2020.03 . 26 13 : 34 : 21.308 Network '8550475' : disconnected from MetaQuotes-Demo
2020.03 . 26 13 : 34 : 22.540 HistoryCenter   delete old files from E:\MetaQuotes\MetaTrader 5 \bases\Swissquote-Server\history\AEP, last access time 2018.03 . 02 18 : 42
2020.03 . 26 13 : 34 : 23.588 Experts automated trading is disabled because the account has been changed
2020.03 . 26 13 : 34 : 23.946 Network '6036452' : authorized on Swissquote-Server
2020.03 . 26 13 : 34 : 23.946 Network '6036452' : previous successful authorization performed from 176.49 . 173.218 on 2020.03 . 26 07 : 34 : 05
2020.03 . 26 13 : 34 : 25.751 Network '6036452' : terminal synchronized with Swissquote Bank SA
2020.03 . 26 13 : 34 : 25.751 Network '6036452' : trading has been enabled - hedging mode
2020.03 . 26 13 : 34 : 26.843 Network '6036452' : scanning network for access points
2020.03 . 26 13 : 35 : 01.961 Network '6036452' : scanning network finished
 
Artyom Trishkin :

나는 문제없이 모든 것을 연결했습니다.

예, 데모는 문제 없이 실행됩니다.

2020.03.26 08:42:07.401 new demo account '6036453' opened on Swissquote-Server
2020.03.26 08:42:09.188 '6036453': authorized on Swissquote-Server


실제로는 없습니다.

2020.03.26 08:42:40.551 '6036453': disconnected from Swissquote-Server
2020.03.26 08:42:41.418 'xxxxxxx': no connection to Swissquote-Server
 
fxsaber :

예, 데모는 문제 없이 실행됩니다.


실제로는 없습니다.

두 개의 서버가 있었습니다.

첫 번째 데모를 만들었습니다.

아마도 두 번째에 진짜?

 
Artyom Trishkin :

두 개의 서버가 있었습니다.

첫 번째 데모를 만들었습니다.

비슷하게.

아마도 두 번째에 진짜?

두 번째 다른 거래 서버에서.

 

얘들아 제발 도와줘!

얼마 전에 프로그래밍을 시작했는데 그런 오류가 발생했습니다. 이유를 알려주세요...

1. 나는 MarketInfo(Symbol(),MODE_TICKVALUE)를 사용했는데 테스터의 EURUSD 쌍 에 대해 숫자 0.01을 제공하고 터미널 1에서 이유는 무엇입니까?

2. iClose,iOpen,iHigh,iLow는 shift = 1일 때 때때로 0을 제공합니다. 어떻게 수정합니까?


감사해요

 

ArrayResize()+reserve의 속도에 대한 주제는 여전히 잊혀지지 않습니다.
이번에는 기본 데이터 유형 의 배열에 대한 질문입니다.

 #define K 1000
#define M ( 1000 * K)

#define   SpeedTest(test_count,msg,EX_pref, EX_test, EX_post) {         \
               uint result = 0 ; ulong count=test_count;                 \
               for ( ulong ii= 0 ;ii<count&&! _StopFlag ;ii++){               \ 
                   EX_pref                                              \
                   uint start= GetTickCount ();                           \
                   EX_test                                              \
                   result += GetTickCount () - start;                    \ 
                   EX_post                                              \
               }                                                        \
               printf ( "%-60s: loops=%i ms=%u" ,msg,count,result);}
                                              
class A{
public :
   int data;
};


template < typename T>
void test1( const int test_count, const int array_size){
   T class_array[];
   T tmp[];
   
   SpeedTest(
      test_count, StringFormat ( "Test %s ArrayResize all" , typename (T)),
      {}
      ,
      {
         ArrayResize (class_array, array_size);
         for ( int i = 1 ; i <= array_size; i++){
             ArrayResize (class_array, array_size, i);
            class_array[i- 1 ] = NULL ;
         }
      },
      {            
         ArraySwap (tmp, class_array);
         ArrayFree (tmp);
      }
   )
};

template < typename T>
void test2( const int test_count, const int array_size){
   T class_array[];
   T tmp[];
   
   SpeedTest(
      test_count, StringFormat ( "Test %s ArrayResize one by one with reserved memory" , typename (T)),
      {},
      {
         ArrayResize (class_array, array_size);         
         for ( int i = 1 ; i <= array_size; i++){
             ArrayResize (class_array, i, i);
            class_array[i- 1 ] = NULL ;
         }
      },   
      {            
         ArraySwap (tmp, class_array);
         ArrayFree (tmp);
      }
   )
};

 


void OnStart ()
{
   const int test_count = 1 ;
   const int array_size = 20 *K*K;  
  
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1< int >(test_count, array_size);               // Avg time: release( 120) / debug( 155)
   test2< int >(test_count, array_size);               // Avg time: release( 205) / debug( 235)
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   test1< int >(test_count, array_size);
   test2< int >(test_count, array_size);
   
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1< double >(test_count, array_size);           // Avg time: release( 155) / debug( 190)
   test2< double >(test_count, array_size);           // Avg time: release( 250) / debug( 260)
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   test1< double >(test_count, array_size);
   test2< double >(test_count, array_size);
   
   printf ( "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" );
   test1<A*>(test_count, array_size);               // Avg time: release( 190) / debug( 200)
   test2<A*>(test_count, array_size);               // Avg time: release( 330) / debug( 340)
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
   test1<A*>(test_count, array_size);
   test2<A*>(test_count, array_size);
}

이전 버전과 비교하여 코드가 약간 개선되었습니다.
- 두 테스트 모두 ArrayResize는 이전에 최적화 프로그램이 기여한 동일한 횟수로 호출되도록 보장됩니다.
- 배열을 해제하는 시간은 실행 시간 계산에서 제외됩니다. - ArrayFree;


기본 데이터 유형의 경우 ArrayResize()+reserve는 일반 ArrayResize()보다 3배 이상 느립니다(205ms 대 65ms).
이것은 많으므로 20M CArrayList::Add 호출의 Generic\ArrayList.mqh의 경우 메모리 예약이 없는 작업과 예약이 있는 작업의 속도는 1.85배(170ms 대 95ms) 다릅니다.
여기에는 분명히 무언가가 있습니다.

ArrayResize()+reserve 기능의 기본 유형에 대한 작업 속도를 어떻게든 향상시킬 수 있습니까?
왜 그렇게 큰 손실이있을 수 있습니까?

현실이 훨씬 더 복잡할 수 있다는 것을 이해하지만 실행 결과에 영향을 미치는 몇 가지 확인 사항만 볼 수 있습니다.

IsDynamic == 참
IsIndexBuffer == 거짓
IsSetAsSerias == 거짓
new_size > 크기
new_size < 용량
IsFundamental == true(또는 생성자와 소멸자 == 0)

일부 검사는 비트마스크를 통해 결합하여 코드 실행의 더 가능성 있는 주요 방향의 속도를 높일 수도 있습니다.
그리고 드문 경우지만 비트마스크 검사가 실패하면 결과에 영향을 주는 플래그를 추가로 지정합니다...

 
fxsaber :

예, 데모는 문제 없이 실행됩니다.

실제로는 없습니다.

2020.03.26 08:42:41.418 'xxxxxxx': no connection to Swissquote-Server

안녕하세요,

1. 실제 계정으로의 연결이 통과되지 않는 단말(연구)에서 이 계정이 계정 목록에 있습니까?

즉, 이 xxxxxxx 계정이 네비게이터에 표시됩니까?


2. xxxxxxx 계정이 있는 경우 콜론 뒤에 YYYYYY라는 이름으로 표시됩니까(숫자가 아니라)?

3. xxxxxxx 계정이 있는 경우 해당 계정을 삭제하고(내비게이터에서 삭제 메뉴 명령을 통해) 새 계정으로 연결하면 연결이 되나요?


감사해요

 
Anton :

1. 실제 계정으로의 연결이 통과되지 않는 단말(연구)에서 이 계정이 계정 목록에 있습니까?

즉, 이 xxxxxxx 계정이 네비게이터에 표시됩니까?

xxxx가 표시됩니다.

2. xxxxxxx 계정이 있는 경우 콜론 뒤에 YYYYYY라는 이름으로 표시됩니까(숫자가 아니라)?

YYYY 및 콜론이 없습니다.

3. xxxxxxx 계정이 있는 경우 해당 계정을 삭제하고(내비게이터에서 삭제 메뉴 명령을 통해) 새 계정으로 연결하면 연결이 되나요?

일어난!


처음 접속했을 때 서버명만 입력한 것 같습니다. 이 항목은 네비게이터에 나타났지만 무역 서버 데이터가 없었고 더미가 있었습니다. 그리고 이 계정 검색을 통해 강제로 데이터를 받아도 여전히 더미로 대체되고 있었다.


고맙습니다!


ZY 주제에.

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

MetaTrader 5 플랫폼 빌드 2280의 새 버전

fxsaber , 2020.02.19 11:32

기존 거래 계정에 접속할 때 거래 서버의 이름을 잘못 지정하면 해당 계정이 네비게이터에서 이동하여 단순히 사라진 것으로 생각할 수 있습니다.


MetaQuotes-Demo에 로그인할 때 MetaQuotes-Demo2 서버의 주소를 지정하십시오. 네비게이터에서 어떤 일이 일어나는지 확인하십시오. 성공적으로 연결한 후에만 기존 계정에 이 규칙을 적용하십시오.

검색 문자열 : Uluchshenie 005.