Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нашел прибыльную стратегию? Заведи торговый сигнал и заработай на этом!
Zertain
7
Zertain 2013.03.19 12:15 

Вообщем просто в ауте, не работает простейшее, не могу понять почему ...

int x=0;

double bidold; 

int start()

{

 bidold=Bid;

Alert (bidold); 

 while (x==0)

{

 if (bidold!=Bid) {Alert ("Изменение цены   !");  bidold=Bid;}  // Сообщение не появляется 

}

 } 

 

Что происходит, программа сама по себе работает, но вызова сообщение о изменении цены не происходит. 

 

khorosh
8043
khorosh 2013.03.19 12:33  
zertain:

Вообщем просто в ауте, не работает простейшее, не могу понять почему ...

int x=0;

double bidold; 

int start()

{

 bidold=Bid;

Alert (bidold); 

 while (x==0)

{

 if (bidold!=Bid) {Alert ("Изменение цены   !");  bidold=Bid;}  // Сообщение не появляется 

}

 } 

 

Что происходит, программа сама по себе работает, но вызова сообщение о изменении цены не происходит. 

 

У вас bidold всегда = Bid, поэтому условие if (bidold!=Bid) запрещает сообщение.
keekkenen
1128
keekkenen 2013.03.19 16:48  
khorosh:
У вас bidold всегда = Bid, поэтому условие if (bidold!=Bid) запрещает сообщение.


Bid не будет изменяться, если не делать RefreshRates(), такова специфика, вместо Bid лучше использовать MarketInfo(Symbol(), MODE_BID), кроме того чтобы терминал не подвисал следует в цикле делать Sleep().. в общем изучайте матчасть..
Viktor
228
Viktor 2013.03.19 20:14  
// просто поменяйте "точку зрения" на противоположную

double bidold;
int start()
{
        if (bidold == Bid) return (0);

        bidold = Bid;
        Alert("Изменение цены   !", bidold);
        
        return (0);
}
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий