Nikolai Semko: Ja, ich habe diesen Link zu Ihrer Umsetzung bereits in Beitrag 22214 angegeben. Ich sage es noch einmal: Ich halte dies für die bisher sinnvollste Option. Und es scheint, dass es keine bessere Implementierung gibt, was die minimale CPU-Belastung und die Relevanz des Zeitpunkts eines neuen Ticks angeht.
Das Terminal (1874) zeigt die Balkenhistorie des benutzerdefinierten Symbols nicht mehr an (Chart oder Abfrage), wenn es zu einem anderen Handelsserver wechselt. Nach dem Neustart des Terminals wird der Verlauf angezeigt. Sobald Sie wieder zu einem anderen Server wechseln, wiederholt sich die Situation.
DieTick-Historie wird beim Wechsel des Handelsservers nicht beeinträchtigt. Dieser Fehler ist dort nicht vorhanden.
template <typename T>
class CLASS
{
public:
T Func() { return(0); }
};
class CLASS2 : public CLASS<int>
{
public:
CLASS2()
{
this.Func(); // ALT+G в ME не производит переход на int CLASS<int>:Func()
}
};
Sollte sich das Europäische Parlament so verhalten?
Fehler in FileLoad. Wenn zwei lokale Agenten mit FILE_COMMON-Flag versuchen, Daten über FileLoad zu lesen, schlägt einer der Agenten fehl.
Es ist möglich, entsprechende Flags in FileOpen zu setzen, aber nicht in FileLoad. Erlauben Sie daher bitte den Zugriff auf die Datei über FileLoad, wenn der andere FileLoad sie liest.
// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место. #property tester_file__FILE__
Ist es möglich, tester_file im RAM zu halten, um HDD/SSD-Missbrauch zu vermeiden? Es gibt Millionen von Durchgängen, und es ist schrecklich, die Datei so oft zu zählen.
An den "alten" Optimierungs-Caches hat sich nichts geändert.
Wenn Sie eine geänderte tester_file mit der gleichen Änderungszeit der Datei unterschieben, wird die Datei als unverändert betrachtet.
Gemeinsame Dateien können in keiner Weise kontrolliert werden (und wurden es auch nie), da nicht bekannt ist, welche davon Sie in Ihrem Expert Advisor verwenden
Wenn Sie eine geänderte tester_file mit der gleichen Änderungszeit der Datei unterschieben, wird angenommen, dass die Datei nicht geändert wurde.
Die aktualisierte Änderungszeit hat keinen Einfluss auf das Ergebnis. Expert Advisor
// Нужно компилировать (не запускать) советник, когда этот файл (с любым содержанием, хоть пустой) лежит в Песочнице.// Иначе Тестер не будет видеть эти данные, даже если соответствующий файл с ними положить после компиляции на место. #property tester_file__FILE__sinputint NumPass = 10;
#define TOSTRING(A) #A
void SetArray( int &Array[], constint Amount )
{
MathSrand((int)TimeLocal());
for (int i = ArrayResize(Array, Amount) - 1; i >= 0; i--)
Array[i] = MathRand() * Amount / SHORT_MAX + 1; // Случайное положительное число
}
voidOnTesterInit()
{
ParameterSetRange(TOSTRING(NumPass), true, 0, 0, 1, NumPass - 1); // Задали Оптимизатору количество проходов = NumPass int Array[];
SetArray(Array, NumPass);
FileSave(__FILE__, Array);
ArrayPrint(Array);
}
voidOnTesterDeinit()
{
ChartClose(); // Закрыли чарт Frame-выполнения советника
}
doubleOnTester()
{
int Array[];
return((FileLoad(__FILE__, Array) != -1) ? Array[NumPass]: 0);
}
Ergebnis von zwei aufeinanderfolgenden Läufen
Der rot markierte zweite Lauf entspricht genau den Werten des ersten Laufs, nicht des zweiten (zweite Zeile).
Das Protokoll bestätigt dies
Tester set"Custom max"as optimization criterion for mathematical calculations
Tester input parameter 'NumPass'set to: enable=true, value=0, start=0, step=1, stop=9
Tester cache file 'tester\cache\X2.30.480532BA71563CA64BC267378A0185DD.opt' contains 10 records
Tester Experts\fxsaber\X2.ex5 math calculations test means no history and no symbol info for EURGBP
Tester complete optimization started
Tester optimization already processed, total passes 10
Tester reading of 10 result records from cache...
Tester 1 blocks of results read from cache in0 ms
Statistics optimization done in0 minutes 00 seconds
Wenn ich den Cache zurücksetze (neu kompiliere), ist der erste Durchlauf in Ordnung, alle weiteren nicht.
Ja, ich habe diesen Link zu Ihrer Umsetzung bereits in Beitrag 22214 angegeben. Ich sage es noch einmal: Ich halte dies für die bisher sinnvollste Option. Und es scheint, dass es keine bessere Implementierung gibt, was die minimale CPU-Belastung und die Relevanz des Zeitpunkts eines neuen Ticks angeht.
Die Dienste werden normal funktionieren.
Bei den Diensten wird die normale Funktionalität gegeben sein.
hoffentlich...
Das Terminal (1874) zeigt die Balkenhistorie des benutzerdefinierten Symbols nicht mehr an (Chart oder Abfrage), wenn es zu einem anderen Handelsserver wechselt. Nach dem Neustart des Terminals wird der Verlauf angezeigt. Sobald Sie wieder zu einem anderen Server wechseln, wiederholt sich die Situation.
DieTick-Historie wird beim Wechsel des Handelsservers nicht beeinträchtigt. Dieser Fehler ist dort nicht vorhanden.
Sollte sich das Europäische Parlament so verhalten?
Fehler in FileLoad. Wenn zwei lokale Agenten mit FILE_COMMON-Flag versuchen, Daten über FileLoad zu lesen, schlägt einer der Agenten fehl.
Es ist möglich, entsprechende Flags in FileOpen zu setzen, aber nicht in FileLoad. Erlauben Sie daher bitte den Zugriff auf die Datei über FileLoad, wenn der andere FileLoad sie liest.
Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien
Nicht für MT-Entwickler! Wodurch ist INIT_PARAMETERS_INCORRECT zu ersetzen?
fxsaber, 2018.07.10 20:16
Antike Wanze.
Ist es möglich, tester_file im RAM zu halten, um HDD/SSD-Missbrauch zu vermeiden? Es gibt Millionen von Durchgängen, und es ist schrecklich, die Datei so oft zu zählen.
Eine solche "RAM-Disk" würde die unbefugte Weitergabe personenbezogener Daten an Dritte erheblich erschweren.
Die neuen Optimierungs-Caches berücksichtigen nicht die Änderungen an den Dateien tester_file und Common, bevor die Optimierung ausgeführt wird.
Hier ist ein Beispiel für einen solchen EA.
Die neuen Optimierungs-Caches berücksichtigen nicht die Änderungen an den Dateien tester_file und Common, bevor die Optimierung ausgeführt wird.
Hier ist ein Beispiel für einen solchen EA.
Sind die alten berücksichtigt worden oder nicht?
An den "alten" Optimierungs-Caches hat sich nichts geändert.
Wenn Sie eine geänderte tester_file mit der gleichen Änderungszeit der Datei unterschieben, wird die Datei als unverändert betrachtet.
Gemeinsame Dateien können in keiner Weise kontrolliert werden (und wurden es auch nie), da nicht bekannt ist, welche davon Sie in Ihrem Expert Advisor verwenden
Wenn Sie eine geänderte tester_file mit der gleichen Änderungszeit der Datei unterschieben, wird angenommen, dass die Datei nicht geändert wurde.
Die aktualisierte Änderungszeit hat keinen Einfluss auf das Ergebnis. Expert Advisor
Ergebnis von zwei aufeinanderfolgenden Läufen
Der rot markierte zweite Lauf entspricht genau den Werten des ersten Laufs, nicht des zweiten (zweite Zeile).
Das Protokoll bestätigt dies
Wenn ich den Cache zurücksetze (neu kompiliere), ist der erste Durchlauf in Ordnung, alle weiteren nicht.