Цена которая была пару секунд назад... (Вопрос чайника)

 

Здравствуйте,

Подскажите пожалуйста как получить цену которая была х секунд назад (например 1 секунду назад)???

 Здесь в коде пытался, сделать задержку на одну секунду, но цены не меняются...

double DelayASK=0;

double StartASK=0;

int start()

  {

   if(StartPrice()!=DelayPrice())

      Print("Не Равны! УРА StartPrice= ",StartPrice(),"DelayPrice= ",DelayPrice());

   else

      Print("Не сработало= ",StartPrice(),"DelayPrice= ",DelayPrice());         

return(0);

}

   double StartPrice()

      {

      StartASK=Ask;

      return(StartASK);      

      }

   double DelayPrice()

      {

      DelayASK=Ask;

      Sleep(1000);

      return(DelayASK);

      } 

 

Способов множество, в зависимости от того, что вам конкретно надо.

Вот один из вариантов:

int start()
{

double price_now,price_1_sec_ago;

while(!IsStopped())
{

RefreshRates();
price_1_sec_ago = Ask;


Sleep(1000);

RefreshRates();
price_now = Ask;

//теперь делаем что надо


}

}
 

Спасибо за ответ,

Скажите как сделать что бы печатало по 5 цифр после точки?

Print(" Current Ask= ", Ask);

Почему то печатает только 4 цифры...

 
pasha.ronin:

Спасибо за ответ,

Скажите как сделать что бы печатало по 5 цифр после точки?

Print(" Current Ask= ", Ask);

Почему то печатает только 4 цифры...

 

Блин, да читайте же вы документацию

Print(DoubleToStr(число,5));
 
ОК Спасибо!
 

//ВАШ КОД, НЕ РАБОТАЕТ! 

int start()

{

double price_now,price_1_sec_ago;

while(!IsStopped())

{

RefreshRates();

price_1_sec_ago = Ask;

Sleep(1000);

RefreshRates();

price_now = Ask;

Print(" ----> price_1_sec_ago=",DoubleToStr(price_1_sec_ago,5)," price_now=",DoubleToStr(price_now,5));

}

//Дает одну и туже цену!  :  ----> price_1_sec_ago=1.26831 price_now=1.26831


 
pasha.ronin:

//ВАШ КОД, НЕ РАБОТАЕТ! 

int start()

{

double price_now,price_1_sec_ago;

while(!IsStopped())

{

RefreshRates();

price_1_sec_ago = Ask;

Sleep(1000);

RefreshRates();

price_now = Ask;

Print(" ----> price_1_sec_ago=",DoubleToStr(price_1_sec_ago,5)," price_now=",DoubleToStr(price_now,5));

}

//Дает одну и туже цену!  :  ----> price_1_sec_ago=1.26831 price_now=1.26831


маркт закрыт
суббота однако
 
Единственный свободный день... 
 
Так ведь тестер не отдыхает никогда!
 
В тесетере Sleep() не работает. Как бы нет способа получить цену несколько сек. назад. Если надо, то делать собственными силами. Складывать все изменения цен в свой массив (два массива, один с ценой, другой со временем), потом искать в нем. 
 

double PreviousPrice[];

double NewPrice[]; 

double PriceTime[]; 

Подскажите как можно сохранять предыдущею цену и сравнивать ее с нынешней ценой с определенным интервалом времени?

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