Непонятка какая то.

 


if(AccountEquity()>NormalizeDouble(CheckStarBallanseSumma,Digits))

{

CheckStarBallanseSumma=AccountEquity();

}

Согласно условию переменная CheckStarBallanseSumma должна только увеличиваться но условие не срабатывает и переменная скачет куда хочет, и в + и в -.


Тогда как :

if(AccountProfit()>NormalizeDouble(CheckAccountProfit,Digits))
{

CheckAccountProfit=AccountProfit();

}

работает нормально.
Чо за геморой?

 

Зачем нормализация по Digits? А скачет потому как где-то нулится судя повсему, может объявлена локально, может еще чего... Всего кода-то не видать. Выведите ее на принт перед присвоением, проверьте.

 
Figar0 >>:

Зачем нормализация по Digits? А скачет потому как где-то нулится судя повсему, может объявлена локально, может еще чего... Всего кода-то не видать. Выведите ее на принт перед присвоением, проверьте.

Да, верно, запарился ужо :-))


А как задать координату для OBJ_LABEL?

 
bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0)

Создание объекта с указанным именем, тип и начальные координаты в указанном подокне графика. Число координат, связываемых с объектом, может быть от 1 до 3 в зависимости от типа.
Объекты с типом OBJ_LABEL игнорируют координаты. Используйте функцию ObjectSet() для установки свойств OBJPROP_XDISTANCE и OBJPROP_YDISTANCE.
Замечания: нумерация подокон графика (если на графике есть подокна с индикаторами) начинается с 1. Главное окно графика есть всегда и имеет индекс 0.
Координаты должны передаваться парами - время и цена. Для примера, объекту OBJ_VLINE требуется только время, но также нужно передать и цену (любое значение).

В справке все есть)

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