Скачать MetaTrader 5

Как можно сохранить StrategyTester.htm программно?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Roman Starostin
1700
Roman Starostin 2016.10.16 16:58 

Здравствуйте. 
Подскажите, существует ли функция, с помощью которой в MQL после прогона любого сета можно было бы автоматически по завершению сохранять в директории ../files/ отчет о тестировании StrategyTester.htm?

Спасибо 

Alexey Volchanskiy
17131
Alexey Volchanskiy 2016.10.16 17:59  
Roman Starostin:

Здравствуйте. 
Подскажите, существует ли функция, с помощью которой в MQL после прогона любого сета можно было бы автоматически по завершению сохранять в директории ../files/ отчет о тестировании StrategyTester.htm?

Спасибо 

Нет, если только самому писать какие-то данные.
Youri Tarshecki
3651
Youri Tarshecki 2016.10.16 21:14  
Roman Starostin:

Здравствуйте. 
Подскажите, существует ли функция, с помощью которой в MQL после прогона любого сета можно было бы автоматически по завершению сохранять в директории ../files/ отчет о тестировании StrategyTester.htm?

Спасибо 

Сделайте сторонним кликером.

Roman Starostin
1700
Roman Starostin 2016.10.16 23:15  
Youri Tarshecki:

Сделайте сторонним кликером.

Не подходит (

Alexey Volchanskiy:
Нет, если только самому писать какие-то данные.

Знаю, что возможно через WinAPI сделать, но нужен номер именно команды - "сохранить отчет" 

На примере вкл/выкл автоторговли номер этой кнопки 33020:

#include <WinUser32.mqh>

#import "user32.dll"

int GetAncestor(int hwnd,int gaFlags);

#import



void ExpertEnabled()

{

int HandlWindow = WindowHandle(Symbol(), Period()); // Системный дескриптор окна.

int HandlMT4=GetAncestor(HandlWindow, 2); // Системный дескриптор окна МТ4.

SendMessageA(HandlMT4, WM_COMMAND, 33020, 0);

}
Alexey Volchanskiy
17131
Alexey Volchanskiy 2016.10.17 06:14  
Roman Starostin:

Не подходит (

Знаю, что возможно через WinAPI сделать, но нужен номер именно команды - "сохранить отчет" 

На примере вкл/выкл автоторговли номер этой кнопки 33020:

#include <WinUser32.mqh>

#import "user32.dll"

int GetAncestor(int hwnd,int gaFlags);

#import



void ExpertEnabled()

{

int HandlWindow = WindowHandle(Symbol(), Period()); // Системный дескриптор окна.

int HandlMT4=GetAncestor(HandlWindow, 2); // Системный дескриптор окна МТ4.

SendMessageA(HandlMT4, WM_COMMAND, 33020, 0);

}

Тогда надо использовать Spy++, это утилита от Майкрософт для трасировки оконных сообщений и много чего еще. Я вынул из состава Visual Studio 2015 Update 3, чтобы вам не искать. Zip с версиями 32-бит и 64-бит в аттаче. По идее, должен заработать отдельно без установки студии.

И инструкция из MSDN на русском https://msdn.microsoft.com/ru-ru/library/dd460725.aspx 

Лучше читать на английском, а то перевод бывает кривоват

Using Spy++
Using Spy++
  • msdn.microsoft.com
Чтобы прочитать статью на английском языке, установите флажок Английский. Вы также можете просматривать текст на английском языке во всплывающем окне, наводя указатель мыши на текст. Using Spy++ Spy++ (SPYXX.EXE) — это...
Файлы:
Alexey Volchanskiy
17131
Alexey Volchanskiy 2016.10.17 06:20  
Alexey Volchanskiy:

Тогда надо использовать Spy++, это утилита от Майкрософт для трасировки оконных сообщений и много чего еще. Я вынул из состава Visual Studio 2015 Update 3, чтобы вам не искать. Zip с версиями 32-бит и 64-бит в аттаче. По идее, должен заработать отдельно без установки студии.

И инструкция из MSDN на русском https://msdn.microsoft.com/ru-ru/library/dd460725.aspx 

Лучше читать на английском, а то перевод бывает кривоват

Вот порылся из интереса, еще пара ресурсов. Я давно пользовался, в принципе, там все просто.

http://forum.sources.ru/index.php?showtopic=72870 

 

Утилита Spy++ -&gt; Форум на Исходниках.Ру
  • Asqer2
  • forum.sources.ru
Обращение к знающим людям! Пожалуйста расскажите основы пользования утилитой Spy++. По доброму совету попытался ипользовать её для решения проблеммы из соседней темы, по работе с АктивИксным IE, и не понял как
Igor Konyashin
3121
Igor Konyashin 2016.10.17 06:20  
Alexey Volchanskiy:

Zip с версиями 32-бит и 64-бит в аттаче. По идее, должен заработать отдельно без установки студии.

Файлик SPYXXHK.DLL добавьте, плиз, в архив. Без него не запускается.

(и еще SPYXXHK_AMD64.DLL)

Alexey Volchanskiy
17131
Alexey Volchanskiy 2016.10.17 06:28  
Igor Konyashin:

Файлик SPYXXHK.DLL добавьте, плиз, в архив. Без него не запускается.

(и еще SPYXXHK_AMD64.DLL)

Добавил + еще два файла справки нашел в папке в формате .chm

Посмотрел на размер - сотни килобайт. Может MS не раздувать, когда хочет. Вообще, утилита древняя, но это последняя стабильная версия. 

Файлы:
SpyDLL_CHM.zip 282 kb
Igor Konyashin
3121
Igor Konyashin 2016.10.17 08:17  
Спасибо. Теперь всё работает.
Roman Starostin
1700
Roman Starostin 2016.10.18 22:42  
Alexey Volchanskiy:

Тогда надо использовать Spy++, это утилита от Майкрософт для трасировки оконных сообщений и много чего еще. Я вынул из состава Visual Studio 2015 Update 3, чтобы вам не искать. Zip с версиями 32-бит и 64-бит в аттаче. По идее, должен заработать отдельно без установки студии.

Пробовал и вашу версию, и другую из интернета. К сожалению они не выдают именно номер какой либо кнопки в терминале, чтобы была возможность добавить его в код.
Alexey Volchanskiy
17131
Alexey Volchanskiy 2016.10.19 08:10  
Roman Starostin:
Пробовал и вашу версию, и другую из интернета. К сожалению они не выдают именно номер какой либо кнопки в терминале, чтобы была возможность добавить его в код.

Вы так делали? Меню Spy-Processes

Потом ищем процесс TERMINAL, должен быть запущен только один МТ4 или МТ5

В процессе сверху будут два thread с крестиками, разворачиваем тот, где много пунктов и ищем свою кнопку 

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий