'CopyTicks' 테스트 - 페이지 21

 
Network 'xxx': authorized on Alpari-MT5 through mt5.nl.3 (ping: 64.15 ms)

거의 빈 Alpari 시장 시계에서 Kopitix 브레이크는 BCS보다 작지 않습니다.

로봇에서는 모든 것이 10배 이상 더 빠릅니다.

 

https://www.mql5.com/ru/code/16537 표시기의 USDCHF M1, CalcLength에 대한 결과:

  • RoboForexEU - 23ms(브로드캐스트에 주문서 없음, 입찰/매도만 가능)
  • MetaQuotes-Demo - 15-30ms(볼륨이 있는 DOM이 방송 중임)


결과는 지속적으로 부동 + 단일 스트림의 규칙은 준수되지 않습니다. 하나에는 유리가 없는 스트림(CopyTicks에 대해 선택 및 병합을 수행할 필요가 없음)이 있고 다른 하나에는 유리가 있습니다. 데모는 BCS에서 열리지 않지만 가장 중요한 것은 Roboforex에 컵이 없다는 것입니다.

이상한 측정 코드입니다. 우리는 많은 추가 항목을 측정했지만 CopyTicks 요청 시간은 측정하지 않았습니다.

virtual void Visual( void ) const
  {
     const ulong StartTime = :: GetMicrosecondCount ();

     int X0;
     int Y0;

    BARS bars( this .Chart);

    TICKSPICTURE TicksPicture( this .Chart, &bars, X0, Y0);

     this .SetProperty(:: OBJPROP_XDISTANCE , X0);
     this .SetProperty(:: OBJPROP_YDISTANCE , Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource( this .Resource);

    :: Comment ( "LastCalcTime = " + ( string ):: TimeLocal () +
               ", Ticks = " + ( string )bars.GetAmountTicks() +
               ", CalcLength = " + ( string )(( :: GetMicrosecondCount () - StartTime ) / THOUSAND) + " ms." );

    :: ChartRedraw ( this .Chart);

     return ;
  }

어쨌든 틱 복사 호출이 최적화되었습니다. 그들은 많이 차지합니다.
Тиковый индикатор Ticks
Тиковый индикатор Ticks
  • 투표: 15
  • 2016.10.14
  • //www.mql5.com/ru/users/fxsaber">
  • www.mql5.com
Показывает тиковую ценовую историю (Bid/Ask) внутри всех видимых баров.
 
Renat Fatkhullin :

https://www.mql5.com/ru/code/16537 표시기의 USDCHF M1, CalcLength에 대한 결과:

  • RoboForexEU - 23ms(브로드캐스트에 주문서 없음, 입찰/매도만 가능)
  • MetaQuotes-Demo - 15-30ms(볼륨이 있는 DOM이 방송 중임)

Alpari-real 및 BCS-real의 문제. 리얼 초등학교 오픈

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

증권 거래소 지정가 주문에 대한 슬리피지 통계

피보모에 , 2016.08.25 15:15

bcs에서 데모 mt5 계정 만들기를 시작합니다. 배포 링크가 포함된 이메일을 받게 됩니다. 서버를 선택하는 단계에서는 데모 서버가 아닌 실제 거래를 위해 선택합니다. 임의의 데이터로 계정을 만듭니다. 인증서를 만드십시오. 당신이 가진 전부는 실제 견적과 기록이 있는 제로 잔액이 있는 입니다.


결과는 지속적으로 부동 + 단일 스트림의 규칙은 준수되지 않습니다. 하나에는 유리가 없는 스트림(CopyTicks에 대해 선택 및 병합을 수행할 필요가 없음)이 있고 다른 하나에는 유리가 있습니다. 데모는 BCS에서 열리지 않지만 가장 중요한 것은 Roboforex에 컵이 없다는 것입니다.

이상한 측정 코드입니다. 우리는 많은 추가 항목을 측정했지만 CopyTicks 요청 시간은 측정하지 않았습니다.

이것은 나를 위한 것이 아닙니다. 모든 것은 함께 측정됩니다. 유일한 차이점은 거래 서버입니다. 따라서 브레이크는 Kopitiks와만 연결됩니다.

어쨌든 틱 복사 호출이 최적화되었습니다. 그들은 많이 차지합니다.

현재 형태의 Kopitix는 매우 불편합니다. 예를 들어, 이전에 있던 틱을 얻는 방법은 완전히 이해할 수 없습니다.

기본 배열에 인덱스를 반환하고 배열과 마찬가지로 기본으로 작업할 수 없는 이유는 무엇입니까? 데이터베이스에 추가하는 문제는 전적으로 사용자의 책임입니다. 일이 잘 풀리지 않으면 그가 고치도록 하십시오. 이제 copytiks로 작업하는 것은 매우 불편합니다. 나는 그것을 매우 적극적으로 사용하는 몇 안되는 사람 중 한 명인 것 같습니다. 그리고 나는 그것에 대해 꽤 책임감 있게 말할 수 있습니다.

 
Renat Fatkhullin :

https://www.mql5.com/ru/code/16537 표시기의 USDCHF M1, CalcLength에 대한 결과:

  • RoboForexEU - 23ms(브로드캐스트에 주문서 없음, 입찰/매도만 가능)
  • MetaQuotes-Demo - 15-30ms(볼륨이 있는 DOM이 방송 중임)


결과는 지속적으로 부동 + 단일 스트림의 규칙은 준수되지 않습니다. 하나에는 유리가 없는 스트림(CopyTicks에 대해 선택 및 병합을 수행할 필요가 없음)이 있고 다른 하나에는 유리가 있습니다. 데모는 BCS에서 열리지 않지만 가장 중요한 것은 Roboforex에 컵이 없다는 것입니다.

이상한 측정 코드입니다. 우리는 많은 추가 항목을 측정했지만 CopyTicks 요청 시간은 측정하지 않았습니다.

virtual void Visual( void ) const
  {
     const ulong StartTime = :: GetMicrosecondCount ();

     int X0;
     int Y0;

    BARS bars( this .Chart);

    TICKSPICTURE TicksPicture( this .Chart, &bars, X0, Y0);

     this .SetProperty(:: OBJPROP_XDISTANCE , X0);
     this .SetProperty(:: OBJPROP_YDISTANCE , Y0);

    TicksPicture.Fill(ColorBid, ::BID);
    TicksPicture.Fill(ColorAsk, ::ASK);
    TicksPicture.Fill(ColorSpread, ::AVG);

    TicksPicture.SendToResource( this .Resource);

    :: Comment ( "LastCalcTime = " + ( string ):: TimeLocal () +
               ", Ticks = " + ( string )bars.GetAmountTicks() +
               ", CalcLength = " + ( string )(( :: GetMicrosecondCount () - StartTime ) / THOUSAND) + " ms." );

    :: ChartRedraw ( this .Chart);

     return ;
  }

어쨌든 틱 복사 호출이 최적화되었습니다. 그들은 많이 차지합니다.

단일 스트림이 무엇을 의미하는지 설명해 주시겠습니까?

또 다른 질문은 틱이 가능한 한 빨리 도착하기 위해 터미널에서 오더북이 열리지 않고 EA/지표에서 오더북 업데이트 이벤트에 대한 구독이 없어야 하는 것입니까?

도움말에서:

발행 속도: 터미널은 빠른 액세스를 위해 각 기호에 대한 마지막 4096 틱을 캐시에 저장합니다.

반복합니다. 빠른 액세스를 위해 오더북을 숨겨야 하고 기호로 오더북을 업데이트하는 구독이 없어야 합니까? 아니면 유리 (숨겨진 / 열린)의 존재가 이미 느린 작업을 보장합니까?
 
Alexey Kozitsyn :

단일 스트림이 무엇을 의미하는지 명확히 설명해 주시겠습니까?

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

'CopyTicks' 테스트

fxsaber , 2016.10.13 10:18

여러 틱 소스로 인해 틱 기록 자체가 소급하여 다시 작성될 때 틱에 MT-뉘앙스가 있습니다.


 
fxsaber :
고맙긴 한데 글라스랑 받는 속도에 대해 아시나요?
 
Alexey Kozitsyn :
고맙긴 한데 글라스랑 받는 속도에 대해 아시나요?
아니 불행히도. Renat는 유리가 전체 시장 시계에 지속적으로 스트리밍되고 있다고 주장했습니다. 그러나 이것은 대부분의 상황에서 편리한(낭비적인) 솔루션이 아닙니다.
 
fxsaber :
아니 불행히도. Renat는 유리가 전체 시장 시계에 지속적으로 스트리밍되고 있다고 주장했습니다. 그러나 이것은 대부분의 상황에서 실행 가능한 솔루션이 아닙니다.
자신의 상징인 유리잔 을 갖는 것이 더 논리적일 것입니다.
 

CopyTicks를 테스트하는 방법은 다음과 같습니다.

MqlTick ExtArr[ 2048 ];
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnTick ()
  {
   ulong from   =( TimeTradeServer ()- 1200 )* 1000 ;
   ulong ticks  = GetMicrosecondCount ();
   int    records= CopyTicks ( _Symbol ,ExtArr, COPY_TICKS_INFO ,from, 2048 );

   ticks= GetMicrosecondCount ()-ticks;
   Print ( "Time: " ,ticks, " msc for " ,records, " records" );
  }

다음은 마이크로초 단위의 출력입니다. 지난 20분 동안 2048개의 INFO 틱 샘플당 95마이크로초

2016.10 . 18 14 : 15 : 38.673 TEST (USDCHF,M1)         Time : 95 msc for 1206 records
그것은 당신이 선언한 10밀리초와 근본적으로 다릅니다. CopyTicks를 측정하지 않았기 때문입니다.
 
Alexey Kozitsyn :

단일 스트림이 무엇을 의미하는지 명확히 설명해 주시겠습니까?

매수/매도 흐름과 거래량 및 최종/거래 가격이 포함된 전체 DOM 흐름은 두 가지 큰 차이점입니다.

극적으로 큰 차이.


또 다른 질문은 틱이 가능한 한 빨리 도착하기 위해 터미널에서 오더북이 열리지 않고 EA/지표에서 오더북 업데이트 이벤트에 대한 구독이 없어야 하는 것입니까?

터미널의 개방성이나 Expert Advisor의 구독은 중요하지 않습니다.

기호가 시장 시계에 있으면 터미널은 무조건 오더북과 함께 전체 전체 틱 흐름을 수신합니다.


그러나 가장 중요한 것은 위의 샘플 비율 계산이 중요하지 않다는 것입니다. 그것들은 너무 서툴게 실행됩니다(모든 것이 측정되지만 CopyTicks의 시간은 아님). 이는 심지어 놀랍습니다.

사유: