HistorySelect ist eine sehr teure Funktion. Aber HistorySelectByPosition ist noch teurer.
Wenn wir zum Beispiel das erste Geschäft der geschlossenen Position finden müssen, können wir dies auf zwei Arten tun
Führen Sie HistorySelectByPosition aus und suchen Sie dann das notwendige Geschäft aus der erhaltenen kleinen Liste. Aber diese Liste wird wie folgt gebildet Zunächst wird ALLE Geschichte gebildet (entspricht dem Aufruf des "unendlichen" HistorySelect). Dann gibt es eine FULL for-Schleife durch diese Liste und es werden nur die Geschäfte ausgewählt, die einen entsprechenden POSITION_IDENTIFIER haben.
Machen Sie HistorySelect (Sie können "unendlich", aber es ist besser, ein Intervall zu verwenden, wenn bekannt), dann in der for-Schleife machen Sie eine Pause, wenn Sie die entsprechende DEAL_ENTRY erreichen.
Der zweite Punkt könnte viel billiger sein. Aber sicher nicht teurer.
Der Aufruf von HistorySelect*-Funktionen im Prüfprogramm ist fast eine Verschwendung von Rechenressourcen. Daher sollten Sie immer versuchen, ihre Zahl zu minimieren. Insbesondere HistorySelectByPosition.
fxsaber: Für Hedge-Konten im TesterDas bedeutet, dass das Testergebnis sehr stark von der Art des Kontos abhängt.
Wie sich in einem der benachbarten Threads herausstellte, hängt das Testergebnis sogar davon ab, ob der Test an einem lokalen Agenten oder an einem Agenten in einem verteilten Netz durchgeführt wird.
Wie sich in einem der benachbarten Threads herausstellte, hängt das Ergebnis des Testers sogar davon ab, ob der Test auf dem lokalen Agenten oder auf einem der Agenten im verteilten Netz stattfindet.
fxsaber: Sie haben das BAG beschrieben, was nicht in den Kontext dieses Themas passt. Die unterschiedliche Ausführung von Begrenzern ist der offizielle Standpunkt.
Ich stimme zu und wollte nur darauf hinweisen, dass der Tester ein immer unberechenbareres Werkzeug wird.
Liebe Entwickler, wie wird man in dieser Situation die Warnungen los?
template <typename T>
T GetValue()
{
T Res; // possible use of uninitialized variable 'Res'return(Res);
}
voidOnStart()
{
MqlTick Tick = GetValue<MqlTick>();
int i = GetValue<int>();
}
Lifehack
template <typename T>
const T GetDefaultValue( void )
{
struct STRUCT_TYPE
{
const T Value;
};
const STRUCT_TYPE Res = {0};
return(Res.Value);
}
voidOnStart()
{
int i = GetDefaultValue<int>();
MqlTick Tick = GetDefaultValue<MqlTick>();
string Str = GetDefaultValue<string>();
}
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
HistorySelect ist eine sehr teure Funktion. Aber HistorySelectByPosition ist noch teurer.
Wenn wir zum Beispiel das erste Geschäft der geschlossenen Position finden müssen, können wir dies auf zwei Arten tun
Der zweite Punkt könnte viel billiger sein. Aber sicher nicht teurer.
Der Aufruf von HistorySelect*-Funktionen im Prüfprogramm ist fast eine Verschwendung von Rechenressourcen. Daher sollten Sie immer versuchen, ihre Zahl zu minimieren. Insbesondere HistorySelectByPosition.
Für Hedge-Konten im TesterDas bedeutet, dass das Testergebnis sehr stark von der Art des Kontos abhängt.
Wie sich in einem der benachbarten Threads herausstellte, hängt das Testergebnis sogar davon ab, ob der Test an einem lokalen Agenten oder an einem Agenten in einem verteilten Netz durchgeführt wird.
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
Wie sich in einem der benachbarten Threads herausstellte, hängt das Ergebnis des Testers sogar davon ab, ob der Test auf dem lokalen Agenten oder auf einem der Agenten im verteilten Netz stattfindet.
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
Sie haben das BAG beschrieben, was nicht in den Kontext dieses Themas passt. Die unterschiedliche Ausführung von Begrenzern ist der offizielle Standpunkt.
Ich stimme zu und wollte nur darauf hinweisen, dass der Tester ein immer unberechenbareres Werkzeug wird.
Ich stimme zu, ich wollte nur darauf hinweisen, dass der Tester ein immer unberechenbareres Werkzeug wird.
Dies bedeutet, dass das Ergebnis des Testers sehr stark von der Art des Kontos abhängt.
Ergebnis
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Wanzen, Wanzen, Fragen
fxsaber, 2017.04.10 16:53
Liebe Entwickler, wie wird man in dieser Situation die Warnungen los?Rudimentäre Funktionen (nicht erforderlich)