WindowScreenShot

 

Рисует у меня советник динамическую картинку

И возникла у меня мысль сделать из этого мультик, чтобы лучше эту динамику было видно. То есть для начала попытаться с равным интервалом делать скриншоты, разумеется автоматически.

Увы, функцию WindowScreenShot для этой цели мне приспособить не удалось. Конкретно, сама интересующая меня диаграмма захватывается не всегда, а если и захватывается, то координаты и масштабы всё время прыгают.

Кто нибудь представляет, отчего такое безобразие? В том смысле что если понимать, то может и рецепт удастся найти?

Вот примеры скринов.

 

Похоже картинка к цене привязана. Может быть попробовать использвать OBJ_LABEL?

 
Integer:

Похоже картинка к цене привязана. Может быть попробовать использвать OBJ_LABEL?

А как тогда к цене привязаться? Похоже просто проблема с прорисовкой.

Попробуйте делать скрины там, где рисуется картинка и после того, как она отрисуется.

 
TheXpert:

А как тогда к цене привязаться?


Через коэффициент. Как понял, в мультик надо не весь график, только диаграмму.
 

Да, если захватывать непосредственно после прорисовки, захват идёт существенно стабильнее.

Рисуется вот этой командой в цикле по ix и iy.

ObjectCreate(OName,OBJ_ARROW,0,Time[0]+3*(ix+2)*Period()*60,WindowPriceMax()-(0.6*(WindowPriceMax()-WindowPriceMin())/YDim)*(YDim-iy-1));

Визуально это даёт диаграмму с почти стабильным положением и размером (по времени всё равно почему-то дёргается на шаг).

Но похоже для захвата используется свой масштаб. Тогда картинку можно корректно сделать или под визуальное восприятие, или под захват, и то и то одновременно не получится.

То есть нужно знать, как определяются положение и масштаб при захвате. А это область компетенции разработчиков

Уважаемые разработчики, может поделитесь информацией?

Ещё порция скринов:


P.S. Насчёт стабильности захвата поспешил, по мере пополнения набора картинок опять стали попадаться совсем пустые. Впрочем, весьма вероятно что диаграмма иногда просто не попадает в область захвата.

 
Integer:

Похоже картинка к цене привязана. Может быть попробовать использвать OBJ_LABEL?


В смысле подсунуть ей фонт Wingdings? Никогда не пробовал, по идее визуально картинка станет по настоящему стабильной. Но привязка по сути останется эквивалентной WindowPriceMax() - WindowPriceMin().

Надо будет попробовать.

P.S. Кстати, диаграмма никак к цене привязываться не должна, этой проблемы нет.

 
Candid:

В смысле подсунуть ей фонт Wingdings? Никогда не пробовал, по идее визуально картинка станет по настоящему стабильной. Но привязка по сути останется эквивалентной WindowPriceMax() - WindowPriceMin().

Надо будет попробовать.


Можно использовать фонт Wingdings (с объектами TEXT тоже можно его использовать), или точками рисовать.

 
Тогда да.
 

Предлагаю такой вариант: записать результаты расчётов на каждом шаге в файл, загрузить в mathcad и воспользоваться встроенными в него средствами записи анимации. Просто, быстро и удобно ;)

 
lea:

Предлагаю такой вариант: записать результаты расчётов на каждом шаге в файл, загрузить в mathcad и воспользоваться встроенными в него средствами записи анимации. Просто, быстро и удобно ;)


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

А с OBJ_LABEL работает :).