Tiki in tempo reale - pagina 9

 
Andrey Khatimlianskii:

Guardato attentamente, diverse volte.

Alle 13:40:50.839 OnTick ha ricevuto tick che hanno raggiunto OnBookEvent solo alle 13:40:50.853

Vorrebbe commentare questo? )

 
Andrey Khatimlianskii:

Ne trova solo uno:

Ma non apre un conto lì.

Ripristina l'investimento, farò un test sul mio.

Come si fa?

 
Andrey Khatimlianskii:

Ne trova solo uno:

Ma non apre un conto lì.

Lascia un investitore, farò un test sul mio.

Devi aprire un conto sul loro sito web.

 
Andrey Khatimlianskii:

Vorrebbe commentare questo? )

È meglio che tu commenti questo.


Ci sono ovvie omissioni in OnTick()

Andrei!

Perché hai bisogno di un account, ho postato il log, o pensi che l'abbia modificato?

Aggiunto

Inoltre, hai un'imprecisione nel tuo codice.

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

E se CopyTicks() restituisce "0".

Non si gestisce questa situazione, e quando si usa OnBookEvent()

Questa situazione si verifica spesso quando un ordine pendente viene messo (cancellato) nella finestra di prelievo

Succede quando un ordine pendente con un prezzo già esistente viene piazzato (cancellato). OnBookEvent() si attiva ma OnTick() no.

La mia implementazione tiene conto di questo

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:

Faresti meglio a commentare questo


Ci sono ovvie omissioni in OnTick().

Non ho visto salti, ma ritardi in entrambe le direzioni.

Ma non sono stato io a fare la tesi che i tic di OnBook arrivano più velocemente, sei stato tu. Il registro ha mostrato che è il contrario.

Perciò aspetto i vostri commenti.


prostotrader:

Andrei!

Perché avete bisogno del punteggio, ho postato il registro, o pensate che l'abbia modificato?

No, è solo interessante confrontare i miei risultati con i tuoi nelle stesse condizioni.


prostotrader:

E lei ha un'imprecisione nel suo codice.

E se CopyTicks() restituisce "0".

Non si gestisce questa situazione, e quando si usa OnBookEvent()

tale situazione si verifica frequentemente, ha luogo quando un

con prezzo già esistente, OnBookEvent() si attiva, ma OnTick() no.

E a cosa serve questa "spunta"? Non è una zecca, se usiamo la terminologia convenzionale.

La mia versione salta semplicemente i tick che non hanno cambiato il tempo o uno dei prezzi. Perché non sono necessari per l'analisi del flusso delle zecche (sono necessari per l'analisi del tumbler, ma non ne parliamo ora).

 
prostotrader:

Come si fa?

Nella scheda Mail c'è un'e-mail sull'apertura di un conto, c'è un nome utente e 2 password - una per il trader e una per l'investitore.

 
Andrey Khatimlianskii:



E perché il "tic"? Non è affatto una zecca, per usare la terminologia convenzionale.

La mia versione salta semplicemente i tick che non hanno cambiato il tempo o uno dei prezzi. Perché non sono necessari per l'analisi del flusso delle zecche (sono necessari per l'analisi del tumbler, ma non ne parliamo ora).

È ovvio che sei un fan del FOREX,

E sul FOREX, l' intero mercato è spesso analizzato (tutti i suoi cambiamenti), è importante per il trading in borsa!

 
Andrey Khatimlianskii:

C'è un'email nella scheda Mail sull'apertura di un conto, c'è un nome utente e 2 password - quella del trader e quella dell'investitore.

Investitore FfiR87ty (password di sola lettura)

 
Andrey Khatimlianskii:

Non ho visto salti, ma ritardi in entrambe le direzioni.


Cosa vuol dire che non ne hai visto nessuno?

Che cos'è?


Comunque, per me è ovvio da molto tempo, lasciate che ognuno scelga da solo ciò che gli "piace"!

Aggiunto

OnBookEvent() è specificamente progettato per funzionare con tumblr.

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

E il vetro è la "testa" di tutto nello scambio!

Aggiunto

Tu, credo, non di proposito, prendi solo un segno di spunta.

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

Si perde tutto quello che c'era prima (0, cioè il tempo attuale)!

Nella mia implementazione, TUTTE le zecche sono contabilizzate.

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

Iltuo codice non è adatto a questo tipo di test!

 
prostotrader:

È ovvio che sei un fan del FOREX,

E sul FOREX l' intero mercato (tutti i suoi cambiamenti) è molto spesso analizzato, questo è importante per il trading in borsa!

C'è solo un fan qui, e quello sei tu.

Lavoro con informazioni tecniche.

Il compito di analizzare la profondità del mercato in questo thread non era previsto, fin dall'inizio. I tick senza variazioni di prezzo non sono necessari per i termini del compito.

Motivazione: