Скачать MetaTrader 5

Сброс переменных в новом цикле программы.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Senkin
66
Vladimir Senkin  
Новичок. Сбрасываются ли переменные, которые вычисляются в коде, когда программа доходит до конца кода и начинает новый цикл всей программы?
o_o
Модератор
23861
o_o  
senkinve:
Новичок. Сбрасываются ли переменные, которые вычисляются в коде, когда программа доходит до конца кода и начинает новый цикл всей программы?

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

Событие 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  
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
Модератор
23861
o_o  
senkinve:

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

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

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

где цикл?

Vladimir Senkin
66
Vladimir Senkin  
sergeev:

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

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

где цикл?



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

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

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

Vladimir Senkin
66
Vladimir Senkin  
barabashkakvn:

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

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


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