Функция ChartScreenShot в тестере

 

Здравствуйте! Обнаружил, что функция ChartScreenShot в тестере не работает. Это так и должно быть, или я что-то не так делаю? Функция возвращает результат true, но файла нет.

Опять же, нигде не указано, что ChartScreenShot не должна работать в тестере. Аналогичная функция для МТ4 в тестере работает.

 
decanium:

Здравствуйте! Обнаружил, что функция ChartScreenShot в тестере не работает. Это так и должно быть, или я что-то не так делаю? Функция возвращает результат true, но файла нет.

Опять же, нигде не указано, что ChartScreenShot не должна работать в тестере. Аналогичная функция для МТ4 в тестере работает.

в папке тестера ищите?
 
sanyooooook:
в папке тестера ищите?
Везде искал. В папке тестера в том числе. Потом искал по всему диску по имени файла. Ничего не нашёл.
 
В тестере функция не работает, так как по факту чарта в тестере нет и он виртуальный.
 

Она к сожалению не работает и при отладке на исторических данных.

Т.е. чарт я вижу - он визуализирутся. ChartScreenShot возвращает true, но файла нет ни в какой из папок компьютера (в том числе в ...Agent-127.0.0.1..., куда складываются другие файлы при отладке на истории).

Печально, хочу перейти с МТ4 на МТ5, но и в нем нет возможности протестировать алгоритм на исторических данных со снятием скриншотов.

Может быть это все-таки баг? Подскажите пож, как можно разработчикам написать?

P.S. MT5 build 1525 

 

Чтож, раз поддержка не отвечает страждущим, пришлось использовать такую заплатку:

#import "shell32.dll"

int ShellExecuteW(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import 

...

ShellExecuteW(NULL,"open","MiniCap.exe","-noaero -nofocus -captureappbyname \"metatester64.exe\" -save \"c:\\temp\\"+SSfname+"\" -exit",NULL,0);


Может быть пригодится кому-нибудь.

 
Renat Fatkhullin :
В тестере функция не работает, так как по факту чарта в тестере нет и он виртуальный.

Тогда он должен возвращать не true, а ошибку (4014, я полагаю), вы добавитесь в документацию. Спасибо.

Планируется ли в будущем запуск ChartScreenShot с тестером стратегий MT5?

 

До сих пор не решился этот вопрос?

Действительно необходимо иногда применить функцию на визуальном тестировании. Невозможно порой поймать каждый момент, когда нужна текущая картинка. Да и крайне хлопотно это делать.

 
Snest #:

Она к сожалению не работает и при отладке на исторических данных.

Т.е. чарт я вижу - он визуализирутся. ChartScreenShot возвращает true, но файла нет ни в какой из папок компьютера (в том числе в ...Agent-127.0.0.1..., куда складываются другие файлы при отладке на истории).

Печально, хочу перейти с МТ4 на МТ5, но и в нем нет возможности протестировать алгоритм на исторических данных со снятием скриншотов.

Может быть это все-таки баг? Подскажите пож, как можно разработчикам написать?

P.S. MT5 build 1525 

Snest #:

Чтож, раз поддержка не отвечает страждущим, пришлось использовать такую заплатку:

#import "shell32.dll"

int ShellExecuteW(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import 

...

ShellExecuteW(NULL,"open","MiniCap.exe","-noaero -nofocus -captureappbyname \"metatester64.exe\" -save \"c:\\temp\\"+SSfname+"\" -exit",NULL,0);


Может быть пригодится кому-нибудь.

Спасибо БОЛЬШОЕ! Действительно работает.

#import "shell32.dll"

int ShellExecuteW(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import

                  string tm=TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES);

                  StringReplace(tm,".","_");

                  StringReplace(tm,":","_");

                  StringReplace(tm," ","__");

                  string screen_name=_Symbol+"_"+tm+"_.png";

                  string MiniCap_dir ="C:\\Program Files (x86)\\MiniCap\\";

                  string MiniCap_command="-capsound -captureappbyname "+"metatester64.exe"+" -save "+"c:\\temp\\"+screen_name+" -exit";

                  ShellExecuteW(NULL,"open","MiniCap.exe", MiniCap_command, MiniCap_dir,0);

 
Причина обращения: