Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй статью и ее прочитают тысячи человек по всему миру!
Vladimir Senkin
66
Vladimir Senkin 2014.08.14 06:24 
Новичок. Сбрасываются ли переменные, которые вычисляются в коде, когда программа доходит до конца кода и начинает новый цикл всей программы?
o_O
Модератор
23304
o_O 2014.08.14 06:34  
senkinve:
Новичок. Сбрасываются ли переменные, которые вычисляются в коде, когда программа доходит до конца кода и начинает новый цикл всей программы?

код покажите
Карпутов Владимир
203
Карпутов Владимир 2014.08.14 06:51  

Событие OnCalculate - каждый раз вызывается, когда приходят новые цены. Можно сказать, что это главный цикл программы.

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   ...
   double prev=0.0;   // каждый раз при заходе сюда переменная будет обнуляться
   ...
  }
Vladimir Senkin
66
Vladimir Senkin 2014.08.14 08:52  
sergeev:

код покажите


if ((Lot*MarketInfo(NULL,MODE_BID) > RealPriceBIDLot) || (Lot*MarketInfo(NULL,MODE_BID) < RealPriceBIDLot))
{  RealPriceBIDLot = Lot*MarketInfo(NULL,MODE_BID);
   RealPriceASKLot = Lot*MarketInfo(NULL,MODE_ASK);

...} 

Если я загоню вот такой код, переменные RealPriceBIDLot и RealPriceASKLot на следующей прогонке программы останутся или нет? Это нужно чтобы производить расчеты только при изменении бара.

o_O
Модератор
23304
o_O 2014.08.14 09:35  
senkinve:

Если я загоню вот такой код, переменные RealPriceBIDLot и RealPriceASKLot на следующей прогонке программы останутся или нет? Это нужно чтобы производить расчеты только при изменении бара.

огрызок кода это не код.

где объявлены переменные?

где цикл?

Vladimir Senkin
66
Vladimir Senkin 2014.08.14 10:25  
sergeev:

огрызок кода это не код.

где объявлены переменные?

где цикл?



По-моему этого "огрызка" должно хватить, тк весь код очень большой. Переменные глобальные, объявлены вначале кода. Интересует, когда программа дойдет до конца кода, переменные, которые вычислялись по ходу ее выполнения, при следующем прогоне кода останутся или нет?
Карпутов Владимир
203
Карпутов Владимир 2014.08.14 10:33  

Область видимости и время жизни переменных

Переменная объявленая в  области глобальных переменных "живет" пока работает программа. А вот её значение будет таким, каким Вы этой переменной присвоите в любом месте программы.

Vladimir Senkin
66
Vladimir Senkin 2014.08.14 10:49  
barabashkakvn:

Область видимости и время жизни переменных

Переменная объявленая в  области глобальных переменных "живет" пока работает программа. А вот её значение будет таким, каким Вы этой переменной присвоите в любом месте программы.


Спасибо большое. Именно это и хотел узнать.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий