'CopyTicks' 테스트 - 페이지 13

 
prostotrader :

그런 지식은 어디서 얻었습니까?

Plaza II 외에도 FAST/FIX 프로토콜이 있습니다.

1ms 동안 수백 가지 작업 수행

진드기의 역사는 RTS 미래에 이런 종류의 것이 없음을 보여줍니다.
 
fxsaber :

어떻게 이럴 수있어? 결국 HFT도 지정가 주문을 1ms 미만으로 취소할 수 없습니다.

  • 한 번에 여러 동작을 결합하는 특별한 유형의 시장 주문이 있습니다(MT5 아님).
  • 동작의 불연속성을 1ms의 타이밍으로 설정해야 한다고 누가 말했습니까? 실제로 모든 거래 행위는 데이터베이스인 거래소의 핵심에 있는 기록입니다. 데이터베이스에 쓰는 것은 1ms보다 훨씬 빠릅니다. 같은 이유로 요청 일치는 100만분의 1초까지 시작이 동일한 긴 틱 시퀀스를 형성합니다. 저것들. 트랜잭션은 차트에 긴 Last 시퀀스로 표시되지만 실제로 동시에 발생합니다(데이터베이스에 기록).
 
Vasiliy Sokolov :
  • 한 번에 여러 동작을 결합하는 특별한 유형의 시장 주문이 있습니다(MT5 아님).
  • 동작의 불연속성을 1ms의 타이밍으로 설정해야 한다고 누가 말했습니까? 실제로 모든 거래 행위는 데이터베이스인 거래소의 핵심에 있는 기록입니다.
1밀리초에 4개의 틱을 찾지 못했습니다. 세 - 한 번. 2~수십만.
  • 데이터베이스에 쓰는 것은 1ms보다 훨씬 빠릅니다. 같은 이유로 요청 일치는 100만분의 1초까지 시작이 동일한 긴 틱 시퀀스를 형성합니다. 저것들. 트랜잭션은 차트에 긴 Last 시퀀스로 표시되지만 실제로 동시에 발생합니다(데이터베이스에 기록).
사실 모니터링된 것은 지느러미가 아니라 최고의 밴드(COPY_TICKS_INFO)였습니다. 따라서 1ms가 적당합니다. HFT가 있다면 어디에 있습니까? 대본으로 판단하면 일종의 브레이크입니다.
 
스크립트는 가격이 0인 COPY_TICKS_INFO를 출력합니다.
 #property script_show_inputs

sinput int Count = 100000 ; // Количество тиков на проверку

#define TOSTRING(A) " " + #A + " = " + ( string )Tick.A

string TickToString( const MqlTick &Tick )
{
   static int i = 0 ;
  
  i++;
  
   return ( "Tick" + ( string )i + ":" + TOSTRING(time) + "." + ( string )(Tick.time_msc % 1000 ) +
         TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume));
}

void OnStart ()
{
   MqlTick Ticks[];
  
   const int Amount = CopyTicks ( _Symbol , Ticks, COPY_TICKS_INFO , 0 , Count);
  
   for ( int i = 0 ; i < Amount; i++)
     if ((Ticks[i].bid == 0 ) || (Ticks[i].ask == 0 ))
       Print (TickToString(Ticks[i]));
}

결과

 2016.09 . 13 18 : 02 : 06.297 Test (RTS- 9.16 ,M1)      Tick2: time = 2016.09 . 12 18 : 52 : 36.378 bid = 0.0 ask = 0.0 last = 98480.0 volume = 1
2016.09 . 13 18 : 02 : 06.297 Test (RTS- 9.16 ,M1)      Tick1: time = 2016.09 . 12 18 : 44 : 59.951 bid = 0.0 ask = 0.0 last = 98480.0 volume = 1

CopyTicks 버그?

 

표시기는 CopyTicks가 마지막 틱을 반환하지 않을 수 있음을 보여줍니다.

 #property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots    0

#define TOSTRING(A) " " + #A + " = " + ( string )Tick.A

string TickToString( const MqlTick &Tick )
{
   static int i = 0 ;
  
  i++;
  
   return ( "Tick" + ( string )i + ":" + TOSTRING(time) + "." + ( string )(Tick.time_msc % 1000 ) +
         TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume));
}

bool MySymbolInfoTick( const string Symb, MqlTick &Tick, const uint Type = COPY_TICKS_ALL )
{
   MqlTick Ticks[];
   const int Amount = :: CopyTicks (Symb, Ticks, Type, 0 , 1 );
   const bool Res = (Amount > 0 );
  
   if (Res)
    Tick = Ticks[Amount - 1 ];
  
   return (Res);
}

int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[] )
{
   MqlTick Tick1, Tick2;
  
   if ( SymbolInfoTick ( _Symbol , Tick2) && MySymbolInfoTick( _Symbol , Tick1))
     if (Tick1.time_msc != Tick2.time_msc)
       Print (TickToString(Tick1) + "\n" + TickToString(Tick2) + "\n" );
  
   return (rates_total);
}

결과

 2016.09 . 14 12 : 55 : 23.047 Test2 (Si- 9.16 ,M1)      Tick250: time = 2016.09 . 14 12 : 55 : 04. 521 bid = 64999.0 ask = 65002.0 last = 65002.0 volume = 2
2016.09 . 14 12 : 55 : 23.047 Test2 (Si- 9.16 ,M1)      Tick249: time = 2016.09 . 14 12 : 55 : 04. 513 bid = 64999.0 ask = 65002.0 last = 65002.0 volume = 2
 
fxsaber :
스크립트는 가격이 0인 COPY_TICKS_INFO를 출력합니다.

결과

CopyTicks 버그?

플래그도
 
Slawa :
플래그도

예를 들어

 string GetTickFlag( uint tickflag)
  {
   string flag= "" ;
//---
   if ((tickflag& TICK_FLAG_BID )== TICK_FLAG_BID )
      flag=flag+ "TICK_FLAG_BID" ;

   if ((tickflag& TICK_FLAG_ASK )== TICK_FLAG_ASK )
      flag=flag+ " TICK_FLAG_ASK" ;

   if ((tickflag& TICK_FLAG_LAST )== TICK_FLAG_LAST )
      flag=flag+ " TICK_FLAG_LAST" ;

   if ((tickflag& TICK_FLAG_VOLUME )== TICK_FLAG_VOLUME )
      flag=flag+ " TICK_FLAG_VOLUME" ;

   if ((tickflag& TICK_FLAG_BUY )== TICK_FLAG_BUY )
      flag=flag+ " TICK_FLAG_BUY" ;

   if ((tickflag& TICK_FLAG_SELL )== TICK_FLAG_SELL )
      flag=flag+ " TICK_FLAG_SELL" ;
   if ( StringLen (flag)== 0 )
       return ( "FLAG_UNKNOWN" );
   return (flag);
  }
//+------------------------------------------------------------------+
 
Slawa :
플래그도

조정

 #property script_show_inputs

sinput int Count = 100000 0 ; // Количество тиков на проверку

#define TOSTRING(A) " " + #A + " = " + ( string )Tick.A

string TickToString( const MqlTick &Tick )
{
   static int i = 0 ;
  
  i++;
  
   return ( "Tick" + ( string )i + ":" + TOSTRING(time) + "." + ( string )(Tick.time_msc % 1000 ) +
         TOSTRING(bid) + TOSTRING(ask) + TOSTRING(last)+ TOSTRING(volume) + TOSTRING(flags) );
}

void OnStart ()
{
   MqlTick Ticks[];
  
   const int Amount = CopyTicks ( _Symbol , Ticks, COPY_TICKS_INFO , 0 , Count);
  
   for ( int i = 0 ; i < Amount; i++)
     if ((Ticks[i].bid == 0 ) || (Ticks[i].ask == 0 ))
       Print (TickToString(Ticks[i]));
}

BCS-MetaTrader5 결과

 2016.09 . 14 13 : 37 : 03.896 Test (Si- 9.16 ,M1)       Tick23: time = 2016.09 . 13 18 : 52 : 35.505 bid = 0.0 ask = 0.0 last = 65253.0 volume = 35 flags = 6
2016.09 . 14 13 : 37 : 03.896 Test (Si- 9.16 ,M1)       Tick22: time = 2016.09 . 13 18 : 44 : 59.978 bid = 0.0 ask = 0.0 last = 65253.0 volume = 35 flags = 6
2016.09 . 14 13 : 37 : 03.895 Test (Si- 9.16 ,M1)       Tick21: time = 2016.09 . 13 00 : 02 : 36.809 bid = 0.0 ask = 0.0 last = 0.0 volume = 0 flags = 6
2016.09 . 14 13 : 37 : 03.895 Test (Si- 9.16 ,M1)       Tick20: time = 2016.09 . 13 00 : 02 : 36.809 bid = 0.0 ask = 0.0 last = 0.0 volume = 0 flags = 6
2016.09 . 14 13 : 37 : 03.895 Test (Si- 9.16 ,M1)       Tick19: time = 2016.09 . 12 18 : 52 : 35.635 bid = 0.0 ask = 0.0 last = 64721.0 volume = 2 flags = 6
2016.09 . 14 13 : 37 : 03.895 Test (Si- 9.16 ,M1)       Tick18: time = 2016.09 . 09 18 : 52 : 09.8 bid = 0.0 ask = 0.0 last = 64729.0 volume = 43 flags = 6
2016.09 . 14 13 : 37 : 03.895 Test (Si- 9.16 ,M1)       Tick17: time = 2016.09 . 09 18 : 44 : 59.923 bid = 0.0 ask = 0.0 last = 64729.0 volume = 43 flags = 6
2016.09 . 14 13 : 37 : 03.894 Test (Si- 9.16 ,M1)       Tick16: time = 2016.09 . 08 23 : 53 : 05.468 bid = 0.0 ask = 0.0 last = 64118.0 volume = 1 flags = 6
2016.09 . 14 13 : 37 : 03.894 Test (Si- 9.16 ,M1)       Tick15: time = 2016.09 . 08 18 : 51 : 59.107 bid = 0.0 ask = 0.0 last = 63870.0 volume = 99 flags = 6
2016.09 . 14 13 : 37 : 03.894 Test (Si- 9.16 ,M1)       Tick14: time = 2016.09 . 08 18 : 44 : 59.570 bid = 0.0 ask = 0.0 last = 63870.0 volume = 99 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick13: time = 2016.09 . 07 23 : 56 : 45.427 bid = 0.0 ask = 0.0 last = 64263.0 volume = 1 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick12: time = 2016.09 . 07 18 : 52 : 00.724 bid = 0.0 ask = 0.0 last = 64472.0 volume = 6 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick11: time = 2016.09 . 07 18 : 44 : 59.713 bid = 0.0 ask = 0.0 last = 64472.0 volume = 6 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick10: time = 2016.09 . 06 23 : 53 : 48.388 bid = 0.0 ask = 0.0 last = 64720.0 volume = 1 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick9: time = 2016.09 . 06 23 : 53 : 48.388 bid = 0.0 ask = 0.0 last = 64720.0 volume = 1 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick8: time = 2016.09 . 06 18 : 53 : 15.598 bid = 0.0 ask = 0.0 last = 64679.0 volume = 5 flags = 6
2016.09 . 14 13 : 37 : 03.893 Test (Si- 9.16 ,M1)       Tick7: time = 2016.09 . 06 18 : 44 : 59.960 bid = 0.0 ask = 0.0 last = 64679.0 volume = 5 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick6: time = 2016.09 . 05 23 : 59 : 06.607 bid = 0.0 ask = 0.0 last = 65225.0 volume = 3 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick5: time = 2016.09 . 05 23 : 59 : 06.607 bid = 0.0 ask = 0.0 last = 65225.0 volume = 3 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick4: time = 2016.09 . 05 23 : 59 : 03.529 bid = 0.0 ask = 0.0 last = 65225.0 volume = 3 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick3: time = 2016.09 . 05 23 : 54 : 00.315 bid = 0.0 ask = 0.0 last = 65225.0 volume = 3 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick2: time = 2016.09 . 05 18 : 51 : 40.877 bid = 0.0 ask = 0.0 last = 65178.0 volume = 2 flags = 6
2016.09 . 14 13 : 37 : 03.892 Test (Si- 9.16 ,M1)       Tick1: time = 2016.09 . 05 18 : 44 : 59.998 bid = 0.0 ask = 0.0 last = 65178.0 volume = 2 flags = 6
 
fxsaber :

BCS-MetaTrader5에 대한 결과

이것은 실제입니까 데모입니까? 내가 기억하는 한 데모 계정 에도 비슷한 것이 있었습니다.
 
Rashid Umarov :
이것은 실제입니까 데모입니까? 내가 기억하는 한 데모 계정 에도 비슷한 것이 있었습니다.

진짜. 게임을 할 수 없습니까?