Testen von 'CopyTicks'

 

Beginnen wir mit einem einfachen Beispiel - der Lautstärke. Nachfolgend finden Sie ein Bild der festgestellten Störung. Gelegentlich erscheinen "Doppelgänger" in Bänden.


Win7-64

MT5-1085

Makler "Otkritie", realer Server.

Der Zyklus des Hauptindikators sieht wie folgt aus:

//---------------------------------------------------------------------
//      Внешние задаваемые параметры:
//---------------------------------------------------------------------
input int                               TickCount = 2000;
input ENUM_TICK_TYPE                    TickType = ENUM_COPY_TICKS_ALL;
//---------------------------------------------------------------------
//---------------------------------------------------------------------
MqlTick         ticks_Arr[ ];
int             copied;
//---------------------------------------------------------------------
int
OnCalculate( const int _rates_total, const int _prev_calculated, const int _begin, const double& _price[ ] )
{
        if( _prev_calculated <= 0 )
        {
                ArrayInitialize( VolumeBuffer, 0 );
        }

        copied = CopyTicks( _Symbol, ticks_Arr, TickType, 0, TickCount );
        if( copied > 0 )
        {
                for( int i = copied - 1; i >= 0; i-- )
                {
                        MqlTick tick = ticks_Arr[ i ];

                        VolumeBuffer[ _rates_total - copied + i ] = ( double )tick.volume;
//                      Print( tick.volume );
                }
        }

        return( _rates_total );
}

Ich habe keine Regelmäßigkeit im Auftreten von "Zwillingen" festgestellt. Ich hoffe, dass die Entwickler das Problem bald beheben werden.

Indikator mit Tick-Volumen ist beigefügt (erstellt auf MT5-1100).

Dateien:
 
Dima_S:

Beginnen wir mit einem einfachen Beispiel - der Lautstärke. Nachfolgend finden Sie ein Bild der festgestellten Störung. Gelegentlich erscheinen "Doppelgänger" in Bänden.


Win7-64

MT5-1085

Makler "Otkritie", realer Server.

Der Zyklus des Hauptindikators sieht wie folgt aus:

Ich habe keine Regelmäßigkeit im Auftreten von "Zwillingen" festgestellt. Ich hoffe, dass die Entwickler das Problem bald beheben werden.

Indikator mit Tick-Volumen ist beigefügt (kompiliert auf MT5-1100).

Ich habe mich an servicedesk über CopyTicks() gewandt (es gab einen Fehler in dieser Funktion)

Hier ist die Antwort von SD:

Diese Funktionalität befindet sich noch in der Entwicklung. Viele Plattformkomponenten werden derzeit so verändert, dass sie einen vollwertigen Zugang zum Tickstream bieten. Wir werden noch einige Zeit warten müssen.

 
Mikalas:

Ich habe mich bei servicedesk über CopyTicks() informiert (es gab einen Fehler bei dieser Funktion)

Hier ist die Antwort von SD:

Diese Funktionalität befindet sich noch in der Entwicklung. Viele Plattformkomponenten werden derzeit so geändert, dass sie vollen Zugriff auf den Tickstream bieten. Wir werden noch einige Zeit warten müssen.

Sie haben Glück, ich habe immer noch keine Antwort von servicedesk zu dieser Funktion erhalten...
 
Mikalas:

Ich habe mich bei servicedesk über CopyTicks() informiert (es gab einen Fehler bei dieser Funktion)

Hier ist die Antwort von SD:

Diese Funktionalität befindet sich noch in der Entwicklung. Viele Plattformkomponenten werden derzeit so geändert, dass sie vollen Zugriff auf den Tickstream bieten. Wir werden noch einige Zeit warten müssen.

Ich verstehe. Es handelt sich also vorerst um ein halbfertiges Produkt. Wir werden noch etwas warten))

Eine weitere Sache, die ich nicht verstehe, ist, warum sie etwas kaputt gemacht haben, das bereits funktionierte - den erweiterten Zuhaltemodus.

 

Während sich die Entwickler den Kopf zerbrechen, werde ich eine Variante der MqlTick-Struktur vorschlagen.

struct MqlTick
{
  datetime   time;           // Время последнего обновления цен
  uint       time_count;     // микросекунды ( крайне желательно брать с биржи )
  double     bid;            // Текущая цена Bid
  double     ask;            // Текущая цена Ask
  double     last;           // Текущая цена последней сделки (Last)
  ulong      volume;         // Объем для текущей цены Last
  ulong      interest;       // Текущая величина ОИ, после исполнения последней сделки Last
  ulong      buy_orders;     // Текущее число ордеров покупателей, после исполнения последней сделки Last
  ulong      sell_orders;    // Текущее число ордеров продавцов, после исполнения последней сделки Last
  ulong      buy_orders_vol; // Текущий объем ордеров покупателей, после исполнения последней сделки Last
  ulong      sell_orders_vol;// Текущий объем ордеров продавцов, после исполнения последней сделки Last
  char       action;         // Действие ( 'B' - покупка, 'S' - продажа )
 };

Alles andere in der Funktion kann so belassen werden, wie es ist.

 
Dima_S:

Während sich die Entwickler den Kopf zerbrechen, werde ich eine Variante der MqlTick-Struktur vorschlagen.

Alles andere in der Funktion kann so belassen werden, wie es ist.

Super! ! Einverstanden!
 
Dima_S:

Während sich die Entwickler den Kopf zerbrechen, werde ich eine Variante der MqlTick-Struktur vorschlagen.

Alles andere in der Funktion kann so belassen werden, wie es ist.

Ich würde die Richtung der Transaktion hinzufügen. Wer war der Initiator (Verkäufer oder Käufer)
 
Prival-2:
Ich würde die Richtung der Transaktion hinzufügen. Wer war der Initiator (Verkäufer oder Käufer)
Ja, weggelassen - hinzugefügt.
 
Und vorzugsweise nicht den Zeitpunkt der letzten Preisaktualisierung. Genauer wäre wahrscheinlich der Zeitpunkt der Datenänderung + Hinzufügen, welche Lautstärke auf dem Bidet und welche auf dem Aska-Glas ist (wahrscheinlich besser alles auf einmal).
 
Ja. Und die Möglichkeit, den tiefsten Verlauf, den der Server für all diese Daten gesammelt hat, überhttps://www.mql5.com/ru/docs/series/copyticks abzurufen und Strategien zu testen, die diese Daten im Tester verwenden. Dann haben Scalper ein Paradies im MT5) Und wenn wir die Daten jedesBookEvents akkumulieren - dann wird die enorme Größe des Archivs, das nicht auf den Server passt, herauskommen)
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTicks - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Warum sollte man die ganze Geschichte des Erbsenkönigs auf dem Server aufbewahren? Sie können die Tiefe auf einen vernünftigen Betrag begrenzen, z. B. eine Woche. Und auf Anfrage (vom Dateiserver) kann eine tiefere Historie zur Verfügung gestellt werden. Wer die Geschichte des Glases für das Jahr 2010 haben möchte, kann sie herunterladen und dann bis zum Gehtnichtmehr testen lassen.

Gleichzeitig wird sie (die Geschichte) anderen über die Torrent-Technologie zugänglich gemacht. Es gibt viele Lösungen. Dies ist nur eine der Möglichkeiten.

Grund der Beschwerde: