Bibliotheken: MultiTester - Seite 27

 
fxsaber:

Mit der MTTester-Bibliothek können Sie seit langem absolut alles tun, was ein Benutzer über die GUI tun kann.

Ich bin dabei, MTTester zu beherrschen .

Nur das Verbinden

#include <fxsaber\MultiTester\MTTester.mqh>

Ich verstehe nicht, wie man auf das Ende des Tests warten kann? Ich führe solche Zeilen aus

MTTESTER::Run( NULL,SimvolTorg[i]);
Sleep(10000);
MTTESTER::IsReady();

Als Ergebnis des Wartens auf das Ende der Prüfung nicht passieren. Muss ich dieses Problem selbst lösen? Oder gibt es bereits eine fertige Lösung?

 
pivomoe:

Das hat zur Folge, dass das Warten auf das Ende des Tests nicht stattfindet. Muss ich dieses Problem selbst lösen? Oder gibt es bereits eine fertige Lösung?

Es gab oben Beispiele. Ich selbst verwende nur vier Funktionen:

MTTESTER::IsReady - Тестер готов к запуску.
MTTESTER::ClickStart - Нажать на кнопку Старт/Стоп.
MTTESTER::GetSettings - получить полные текушие настройки тестера.
MTTESTER::SetSettings2 - задать любые настройки тестера.
 
while(1)
        {
         Sleep(1000);
         if( MTTESTER::IsReady() ) break;
        }
Ich danke Ihnen. Das hat geholfen.
 
pivomoe:
Ich danke Ihnen. Das hat geholfen.

Und vier weitere für den fortgeschrittenen Gebrauch.

MTTESTER::GetPassesDone - количество выполненных прогонов идущей оптимизации.
MTTESTER::GetLastOptCache - последний opt-файл.
MTTESTER::GetLastTstCache - последний tst-файл.
MTTESTER::CloseNotChart - закрывает график оптимизации.


Ich benutze nichts anderes.

 
Können Sie mir sagen, ob es eine Möglichkeit gibt, eine Funktion hinzuzufügen - im Falle der deaktivierten Optimierung beim Testen eines bereits optimierten EA in Form von automatischem Anklicken der Registerkarten im Tester "Chart" und "Backtest" mit Pausen von 15 Sekunden zwischen dem Wechsel des getesteten Paares und Zeitrahmens? Wenn es in einem optimierten Expert Advisor notwendig ist, viele Paare auf vielen Zeitrahmen zu testen, ist es nicht möglich, einen Multi-Tester zu verwenden, weil es notwendig ist, auf jedem Instrument in der Korrektheit der eingegebenen Indikatoren aus der Optimierung zu überprüfen. Oder ich kann irgendwo eine Pause einfügen, um Zeit zu haben, die Ergebnisse des letzten Tests zu überprüfen. Danke
 
Il'ya Matviyenko:
Können Sie mir sagen, ob es eine Möglichkeit gibt, eine Funktion hinzuzufügen - im Falle der deaktivierten Optimierung beim Testen eines bereits optimierten EA in Form von automatischem Anklicken der Registerkarten im Tester "Chart" und "Backtest" mit Pausen von 15 Sekunden zwischen dem Wechsel des getesteten Paares und Zeitrahmens? Wenn es in einem optimierten Expert Advisor notwendig ist, viele Paare auf vielen Zeitrahmen zu testen, ist es nicht möglich, einen Multi-Tester zu verwenden, weil es notwendig ist, auf jedem Instrument in der Korrektheit der eingegebenen Indikatoren aus der Optimierung zu überprüfen. Oder man kann irgendwo eine Pause einfügen, um Zeit zu haben, die Ergebnisse des letzten Tests zu betrachten. Danke

Ich habe noch nicht einmal versucht, zwischen den Registerkarten zu wechseln, da es für mich zu kompliziert ist. Vielleicht kann das jemand machen und hier mitteilen. Bis jetzt hatte ich kein Glück.

 
fxsaber:

Ich habe noch nicht einmal versucht, zwischen den Registerkarten zu wechseln, weil das für mich zu kompliziert ist. Vielleicht kann das jemand und teilt es hier. Bis jetzt hatte ich kein Glück.

Es gab (vielleicht gibt es immer noch) einen solchen Code

user32::SendMessageW(user32::GetDlgItem(Handle, 0x2712), WM_LBUTTONDOWN, 1, 0x17007C); // Auswahl der Registerkarte "Einstellungen"

Andere Tabs sollten ähnlich sein. Oder liege ich falsch?

 
traveller00:

Es gab (und gibt vielleicht immer noch) einen solchen Code

Ja, richtig! Ich vergaß.

 

Es stellte sich heraus, dass alles viel einfacher ist. In MultiTester.mqh genügt es, hinzuzufügen:

.....................

void OnTimer()
{
static const int Size = TesterSettings.GetSize();
static bool IsRun = false;
static int Pos = 0;
static datetime StartTime = 0;
static bool Init = false;
static int Versuche = 0;
static int Fehler = 0;
if(MessageBox("Fortsetzen?",MB_OK)==IDOK) {
if (!Size || IsStopped())
{
EventKillTimer();
ExpertRemove();

}

................

und Sie können die Zwischenergebnisse des Tests bewundern, so viel Sie wollen

 
Il'ya Matviyenko:

Es stellte sich heraus, dass alles viel einfacher ist. In MultiTester.mqh ist es genug, um hinzuzufügen:

und Sie können die Zwischenergebnisse der Tests bewundern, so viel Sie wollen

Das ist der Grund, warum alles Open Source ist.