Tiki in real time - page 9

 
Andrey Khatimlianskii:

Looked carefully, several times.

At 13:40:50.839 OnTick received ticks that only reached OnBookEvent at 13:40:50.853

Would you care to comment on that? )

 
Andrey Khatimlianskii:

It only finds one:

But it doesn't open an account there.

Reset the invest, I'll run a test on mine.

How do I do it?

 
Andrey Khatimlianskii:

It only finds one:

But it doesn't open an account there.

Drop an investor, I'll run a test on mine.

You have to open an account on their website.

 
Andrey Khatimlianskii:

Would you care to comment on that? )

You'd better comment on this.


There are obvious omissions in OnTick()

Andrei!

Why do you need an account, I posted the log, or do you think I tweaked it?

Added

And also, you have an inaccuracy in your code.

if ( CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, 0, 1 ) > 0 )
                {
                        last_tick_time = cur_ticks[0].time_msc;
                        last_tick = cur_ticks[0];
                }

And if CopyTicks() returns "0".

You don't handle this situation, and when using OnBookEvent()

such situation is often happens when a pending order is put (deleted) in the pick window

It happens when a pending order with an already existing price is placed (deleted). OnBookEvent() triggers but OnTick() does not.

My implementation takes this into account

result = CopyTicks(Symbol(), ticks, COPY_TICKS_ALL, last_time, 0);
      if(result > 0)
      {
        if(result > t_cnt)
        {
          mem_cnt = t_cnt;
          t_cnt = 0;
          for(int i= 0; i<(result - int(mem_cnt)); i++)
          {
            if(ticks[i].time_msc == ticks[0].time_msc) t_cnt++;
            Print(GetTickDescription(ticks[i]));
          } 
          if(last_time == ulong(ticks[0].time_msc))
          {
            t_cnt += int(mem_cnt);
          }
          else last_time = ulong(ticks[0].time_msc + 1);
        }
        else
        {
          t_cnt = 0;
          last_time++;
        }
      }
      else
      {
        t_cnt = 0;
        last_time++;
      }
 else
      {
        t_cnt = 0;
        last_time++;
        Print("CopyTicks return ", result);
      }
2020.01.31 15:09:11.824	Ticks_test (GOLD-3.20,M1)	2020.01.31 15:09:05.627 Ask=1585.4 
2020.01.31 15:09:11.872	Ticks_test (GOLD-3.20,M1)	2020.01.31 15:09:05.627 Ask=1585.4 
2020.01.31 15:09:12.118	Ticks_test (GOLD-3.20,M1)	2020.01.31 15:09:05.790 Ask=1585.5 
2020.01.31 15:09:12.463	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:13.135	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:13.556	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:14.496	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:15.482	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:15.674	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0
2020.01.31 15:09:15.696	Ticks_test (GOLD-3.20,M1)	CopyTicks return 0

 
prostotrader:

You'd better comment on this


There are obvious omissions in OnTick().

I didn't see any skips, but delays in both directions.

But it wasn't me who made the thesis that OnBook's ticks come faster, it was you. The log showed that it is the other way around.

Therefore I am waiting for comments from you.


prostotrader:

Andrei!

Why do you need the score, I have posted the log, or do you think I have tweaked it?

No, it's just interesting to compare my results with yours in the same conditions.


prostotrader:

And you have an inaccuracy in your code.

And if CopyTicks() returns "0".

You don't handle this situation, and when using OnBookEvent()

such situation occurs frequently, it takes place when a pending

order with already existing price, OnBookEvent() triggers, but OnTick() does not.

And what's this "tick" for? It's not a tick, if we use the conventional terminology.

My version simply skips ticks, which have not changed time or one of the prices. Because they are not needed for the analysis of the tick flow (they are needed for the analysis of the tumbler, but we are not discussing it now).

 
prostotrader:

How do I do it?

There is an email on the Mail tab about opening an account and there is a username and 2 passwords - a trader's and an investor's one.

 
Andrey Khatimlianskii:



And why the "tic"? It's not a tick at all, to use conventional terminology.

My version simply skips ticks that have not changed time or one of the prices. Because they are not needed for the analysis of the tick flow (they are needed for the analysis of the tumbler, but we are not speaking about it now).

It's obvious that you are a FOREX fan,

And on the FOREX, the whole market is often analyzed (all of its changes), it's important for trading on the exchange!

 
Andrey Khatimlianskii:

There is an email on the Mail tab about opening an account, there is a username and 2 passwords - trader's and investor's.

Investor : FfiR87ty (read only password)

 
Andrey Khatimlianskii:

I haven't seen any skips, but I've seen delays in both directions.


What do you mean you haven't seen any?

What's that?


Anyway, it's been obvious to me for a long time, let everyone choose for themselves what they "like"!

Added

OnBookEvent() is specifically designed to work with tumblr.

Вызывается в индикаторах и экспертах при наступлении события BookEvent.
Функция предназначена для обработки изменений стакана цен (Depth of Market).

And the glass is the "head" of everything in the exchange!

Added

You, I think, not on purpose, take only one tick.

if ( CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, 0, 1 ) > 0 )
                {
                        last_tick_time = cur_ticks[0].time_msc;
                        last_tick = cur_ticks[0];
                }

You miss everything what was before (0, i.e. the current time)!

In my implementation, ALL ticks are accounted for.

result = CopyTicks(Symbol(), ticks, COPY_TICKS_ALL, last_time, 0);

Your code is not suitable for such testing!

 
prostotrader:

It's obvious that you are a FOREX fan,

And on the FOREX the whole market (all its changes) is very often analysed, this is important for trading on the Exchange!

There is only one fan here, and that is you.

I work with technical information.

The task to analyse the market depth in this thread was not intended, from the word go. Ticks without price changes are not needed by the terms of the task.

Reason: