Tiki in Echtzeit - Seite 9

 
Andrey Khatimlianskii:

Ich habe mehrmals genau hingesehen.

Um 13:40:50.839 Uhr erhielt OnTick Ticks, die erst um 13:40:50.853 Uhr OnBookEvent erreichten

Würden Sie das bitte kommentieren? )

 
Andrey Khatimlianskii:

Er findet nur einen:

Aber es wird dort kein Konto eröffnet.

Setzen Sie die Investition zurück, ich werde einen Test an meinem Gerät durchführen.

Wie kann ich das tun?

 
Andrey Khatimlianskii:

Er findet nur einen:

Aber es wird dort kein Konto eröffnet.

Wenden Sie sich an einen Investor, ich werde einen Test bei mir durchführen.

Sie müssen ein Konto auf ihrer Website eröffnen.

 
Andrey Khatimlianskii:

Würden Sie das bitte kommentieren? )

Sie sollten sich dazu äußern.


Es gibt offensichtliche Auslassungen in OnTick()

Andrej!

Warum brauchen Sie ein Konto, ich habe das Protokoll gepostet, oder denken Sie, ich habe es manipuliert?

Hinzugefügt

Außerdem haben Sie eine Ungenauigkeit in Ihrem 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];
                }

Und wenn CopyTicks() "0" zurückgibt.

Sie behandeln diese Situation nicht, und bei Verwendung von OnBookEvent()

eine solche Situation tritt häufig auf, wenn ein schwebender Auftrag im Auswahlfenster gelöscht wird

Es passiert, wenn eine schwebende Order mit einem bereits bestehenden Preis platziert (gelöscht) wird. OnBookEvent() löst aus, OnTick() jedoch nicht.

Meine Umsetzung trägt dem Rechnung

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:

Sie sollten sich dazu äußern


Es gibt offensichtliche Auslassungen in OnTick().

Ich habe keine Ausfälle gesehen, aber Verzögerungen in beiden Richtungen.

Aber nicht ich habe die These aufgestellt, dass die Ticks von OnBook schneller kommen, sondern Sie. Aus dem Protokoll geht hervor, dass es genau andersherum ist.

Deshalb warte ich auf Kommentare von Ihnen.


Prostotrader:

Andrej!

Wozu brauchen Sie den Spielstand, ich habe das Protokoll gepostet, oder glauben Sie, ich habe es manipuliert?

Nein, es ist nur interessant, meine Ergebnisse mit Ihren unter den gleichen Bedingungen zu vergleichen.


Prostotrader:

Und Sie haben eine Ungenauigkeit in Ihrem Code.

Und wenn CopyTicks() "0" zurückgibt.

Sie behandeln diese Situation nicht, und bei Verwendung von OnBookEvent()

Eine solche Situation tritt häufig auf, wenn eine anhängige

Auftrag mit bereits bestehendem Preis, wird OnBookEvent() ausgelöst, OnTick() jedoch nicht.

Und wofür ist dieses "Häkchen"? Es handelt sich nicht um eine Zecke, wenn wir die herkömmliche Terminologie verwenden.

Meine Version überspringt einfach Ticks, die die Zeit oder einen der Preise nicht verändert haben. Denn sie werden für die Analyse des Zeckenstroms nicht benötigt (für die Analyse des Tumbler werden sie benötigt, aber darüber reden wir jetzt nicht).

 
prostotrader:

Wie kann ich das tun?

Auf der Registerkarte "E-Mail" finden Sie eine E-Mail über die Eröffnung eines Kontos, einen Benutzernamen und zwei Passwörter - das eines Händlers und das eines Anlegers.

 
Andrey Khatimlianskii:



Und warum der "Tick"? Es ist überhaupt kein Tick, um es in der üblichen Terminologie auszudrücken.

Meine Version überspringt einfach die Ticks, die die Zeit oder einen der Preise nicht verändert haben. Denn sie werden für die Analyse des Zeckenstroms nicht benötigt (sie werden für die Analyse des Tumbler benötigt, aber davon ist jetzt nicht die Rede).

Es ist offensichtlich, dass Sie ein FOREX-Fan sind,

Und an der FOREX wird oft der gesamte Markt analysiert (mit all seinen Veränderungen), das ist wichtig für den Handel an der Börse!

 
Andrey Khatimlianskii:

Auf der Registerkarte "Mail" finden Sie eine E-Mail über die Eröffnung eines Kontos, einen Benutzernamen und zwei Passwörter - Trader und Investor.

Anleger FfiR87ty (Nur-Lese-Passwort)

 
Andrey Khatimlianskii:

Ich habe keine Aussetzer, aber Verzögerungen in beiden Richtungen festgestellt.


Was soll das heißen, Sie haben keine gesehen?

Was ist das?


Jedenfalls ist es für mich seit langem klar: Jeder soll selbst entscheiden, was er "mag"!

Hinzugefügt

OnBookEvent() ist speziell für die Arbeit mit Tumblr konzipiert.

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

Und das Glas ist der "Kopf" von allem in der Börse!

Hinzugefügt

Sie, denke ich, nicht absichtlich, nehmen nur einen 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];
                }

Sie verpassen alles, was vorher war (0, d.h. die aktuelle Zeit)!

Bei meiner Umsetzung werden ALLE Zecken berücksichtigt.

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

Ihr Code ist für solche Tests nicht geeignet!

 
prostotrader:

Es ist offensichtlich, dass Sie ein FOREX-Fan sind,

Und an der FOREX wird der gesamte Markt (mit all seinen Veränderungen) sehr oft analysiert, was für den Handel an der Börse wichtig ist!

Es gibt hier nur einen Fan, und das sind Sie.

Ich arbeite mit technischen Informationen.

Die Aufgabe, die Markttiefe zu analysieren, war in diesem Thread von vornherein nicht vorgesehen. Ticks ohne Preisveränderungen werden im Rahmen der Aufgabe nicht benötigt.

Grund der Beschwerde: