Скачать MetaTrader 5

ScreenShot() из индикатора

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Продавай время процессора и заработай!
Forex Trader
114257
Forex Trader 2006.03.10 14:16 
На компе WinXP Sp1, MT4 Build 191 имею такую ситуацию. Из индикатора, отображающимся в отдельном окне (пусть "окно 1") с каждой новой свечей сохранятся изображение (функцией ScreenShot()). Процедура написана ниже, в start() просто добавлен ее вызов. Ниже еще есть окно ("окно 2"), в нем отображается еще один индюк (какой смысла не имеет). Так вот, в сохраненном изображении "окно 2" отображается пустым, т.е. вообще без графика, названия индюка и его текущих значений.

Это баг или фича?

datetime LastBar=0;
void PrintGif()
{
	if(LastBar==Time[0]) return;
Print("PrintGif start Last="+TimeToStr(LastBar));
	if(LastBar!=Time[1])
	{
		LastBar = Time[0];
		return;
	}
	
	
	string file=StringConcatenate(Symbol(),"-",Period(),".gif");
	
	bool p=ScreenShot(file,200,400,-1,1);
	LastBar = Time[0];
	
	if(p)
		Print("PrintGif Yes");
	else
		Print("PrintGif No: ",GetLastError());
}
Forex Trader
114257
Forex Trader 2006.03.10 15:03  
Индикаторы считаются в интерфейсном потоке по очереди, друг за другом.
На тот момент, когда Вы считаете первый индикатор (и вызываете ScreenShot), второй индикатор ещё не посчитан.
Forex Trader
114257
Forex Trader 2006.03.10 16:03  
Индикаторы считаются в интерфейсном потоке по очереди, друг за другом.
На тот момент, когда Вы считаете первый индикатор (и вызываете ScreenShot), второй индикатор ещё не посчитан.


А индикаторы в окне цен считаются "до" или "после" тех, что в отдельном окне?
А советник?
Forex Trader
114257
Forex Trader 2006.03.10 16:17  
До.
Откройте окно "список индикаторов" (Ctrl + I). Список индикаторов сверху вниз показывает порядок их расчёта.
Forex Trader
114257
Forex Trader 2006.03.10 16:18  
Советник - после.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий