Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 44

 
TheXpert:

Unrealistisch ohne Kontrolle durch den EA selbst.

Im Allgemeinen offenbar ja.

Wenn wir aber festlegen, dass die Neuberechnung nicht öfter als einmal in X ms durchgeführt werden soll, können wir das Problem einfach und direkt lösen.


TheXpert:

Und nicht nur das, Sie müssen es auch nicht.

Nun, eine einzelne Zeile inlude ist immer bequemer als Schamanismus in jedem Expert Advisor, die es verwendet.

 
Andrey Khatimlianskii:

Nun, ein einzeiliger Einschub ist immer bequemer, als sich in jedem EA, der ihn verwendet, zu blamieren.

können Sie wahrscheinlich im Stil von fxsaber mit Eingabefunktionen arbeiten, die durch Definitionen überschrieben werden

 
Sie können versuchen, die Ticks "direkt" zu lesen: z.B. vom Beginn des letzten Minutenbalkens bis zum aktuellen Moment. Überprüfen Sie ihre Anzahl, d.h. vergleichen Sie die Größe des resultierenden Arrays - wenn sie gleich bleibt, dann ist der Tick immer noch derselbe, bereits gezählt. ein neuer Tick kommt - das Array vergrößert sich; ein neuer Balken kommt - es verringert sich
 
Andrey Khatimlianskii:

Nein, es wird auf jeden Fall langsamer sein als der Bid/Ask/ms-Vergleich.

Was ist das Problem mit der Zuverlässigkeit? Das Einzige, was zählt, ist die Tatsache, dass sich etwas geändert hat.

Oder vielleicht Unveränderlichkeit, der Tick ist derselbe, weder Bid noch Ask haben sich geändert.

 
Andrey Khatimlianskii:

Im Allgemeinen wahrscheinlich ja.

Wenn wir aber festlegen, dass die Neuberechnung nicht öfter als einmal in X ms durchgeführt werden darf, können wir das Problem einfach und direkt lösen.


Nun, eine einzeilige Einfügung ist immer bequemer als Schamanismus in jedem Expert Advisor, der sie verwendet.

Der Schamanismus besteht darin, neben dem Zwischenspiel eine weitere Zeile am Anfang des Textes einzufügen

OnTick(){ Count_tick++;

Wenn defyne nicht hilft, hilft Ctrl-H :)

Sie müssen die Bibliotheksfunktion immer noch über ein Include aufrufen, d.h. sie irgendwie in Ihren Code einfügen

//include file
static int Count_tick=0;
void SameTick(int &tick, bool &same_tick) { if(tick<Count_tick){tick=Count_tick;return ;} else same_tick=true; return ;}
#define  SameTick() static int my_tick=0;bool same_tick=false;SameTick(my_tick, same_tick)

// EA file

func1(){SameTick();   if (same_tick)... }
func2(){SameTick();   if (same_tick) ...}...

s.w. Theoretisch kann es auf einem schnellen Markt mehrere Ticks in einer Millisekunde geben, von denen der erste und der letzte den gleichen Geld- und Briefkurs haben.

 
Igor Zakharov:
Sie können es "direkt" versuchen: Lesen Sie die Ticks, z.B. nach der Zeit vom Beginn des letzten Minutenbalkens bis zum aktuellen Moment. Überprüfen Sie ihre Anzahl, d.h. vergleichen Sie die Größe des erhaltenen Arrays - wenn sie gleich bleibt, dann ist der Tick immer noch derselbe, bereits berechnet. ein neuer Tick kommt - das Array wird größer; ein neuer Balken wird kleiner

Ja, natürlich! Es gibt eine Lautstärke (die tickt). Dies ist die eindeutige Ticknummer (innerhalb eines Balkens, aber das reicht aus)!

Ich werde prüfen, ob ein solcher Trick zur Beschleunigung führt.

 
TheXpert:

kann wahrscheinlich im Stil von fxsaber mit überschreibenden Eingabefunktionen über Defines gemacht werden

Aleksey Mavrin:

was ist der Schamanismus, abgesehen von der Einfügung einer weiteren Zeile am Anfang des Textes

Wenn "Definieren" nicht hilft, hilft "Strg-H" :)

Sie müssen die Bibliotheksfunktion immer noch über ein Include aufrufen, d.h. sie irgendwie in den Code einfügen

Es scheint so. Wenn das Volumen zu gering ist, werde ich alles, was ich brauche, abheften.


Vielen Dank an alle für die Teilnahme!

 
Aleksey Mavrin:

was ist der Schamanismus, abgesehen von der Einfügung einer weiteren Zeile am Anfang des Textes

Wenn "Definieren" nicht hilft, hilft "Strg-H" :)

Sie müssen die Bibliotheksfunktion immer noch von der Einfügung aus aufrufen, d.h. sie irgendwie in den Code einfügen

s.s. Theoretisch kann es auf einem schnellen Markt mehrere Ticks in einer Millisekunde geben, von denen der erste und der letzte den gleichen Geld- und Briefkurs haben.

Aleksey Mavrin:

und was ist der Schamanismus, außer der Einfügung einer weiteren Zeile am Anfang

Wenn "Definieren" nicht hilft, hilft "Strg-H" :)

Sie müssen die Bibliotheksfunktion immer noch über ein Include aufrufen, d.h. sie wie folgt in Ihren Code einfügen

s.w. Theoretisch kann es auf einem schnellen Markt mehrere Ticks in einer Millisekunde geben, von denen der erste und der letzte den gleichen Geld- und Briefkurs haben.

Static wird nur initialisiert, wenn es an das Diagramm angehängt wird, daher kommt es zu einem Berechnungsfehler.

static int Count_tick=0;
 
Алексей Тарабанов:

Static wird nur initialisiert, wenn es an das Diagramm angehängt wird, so dass es zu einem Berechnungsfehler kommen wird.

Ich verstehe nicht, was der Fehler sein wird. Sie wird auf globaler Ebene erklärt, das macht keinen Unterschied.

 
Andrey Khatimlianskii:

Ja, natürlich! Es gibt eine Lautstärke (die tickt). Dies ist die eindeutige Ticknummer (innerhalb eines Balkens, aber das reicht aus)!

Wenn ein neuer Tick eintrifft, während der Tick verarbeitet wird, wird er dann möglicherweise geändert?