Все проследил , работаю в термнале альпари, у них недавно были изменены торговые условия теперь 9000 рур не достаточно для открытия ордера лотом 0,05
скорее всего то что лоты теперь стали минимальны 0,1 хотя почему то переодично открываются ордера лотами меньше 0,01 вобщем на серверах альпари бардак, сорвались тесты..
А при чём тут торговые условия?
Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...
Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...
Вы о чем ???
Возвращаемое значение
Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации обошибкенеобходимо вызвать функциюGetLastError().
нет ошибок в iTime , открыл новый демо счет все заработало, на старом демо не работает ....
Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации обошибкенеобходимо вызвать функциюGetLastError().
нет ошибок в iTime , открыл новый демо счет все заработало, на старом демо не работает ....
Вот и предположим, что каждый раз при вызове iTime() возникает ошибка. Тогда получается следующее (описал всё в комментариях):
void newbar(int &bu,int &su)
{
staticdatetime time=0;
datetime curtim=iTime(_Symbol,TimeFreme,0); // Здесь curtim каждый раз при вызове функции newbar получает значение 0 из-за ошибки при вызове iTime()
RefreshRates();
if(time==0) // Изначально time равно 0, исполняется код внутри if()
{
time=curtim; // time получает значение curtim, то есть 0, то есть, значение time не меняется здесь!!!
return; // Выходим из этой функции (из функции newbar). Код ниже НЕ получит управления в этот раз. В следующий раз всё повторится точно так же, поскольку значение time осталось равным 0, правда, при условии, что iTime() каждый раз возвращает 0 из-за некоторой ошибки
}
if(time!=curtim) // До тех пор, пока с самого начала iTime() постоянно возвращает 0, этот код не имеет ни малейшего шанса на выполнение
{zz++;
time=curtim;
bu=1;
su=1;
tt++;
}
if(NewBar==Off){bu=1; su=1;}
Я об этом. И о том, что следует проверять возвращаемые значения, если функция может вернуть признак ошибки.
Что именно за ошибка - в документации написано, как узнать...
Это - константа, макрос, дефайн если хотите, которая является синонимом другой константы, константы цвета, задающейся в объявлении
Хочу дефайн.
И хотелось бы понимать, когда он срабатывает. Мое пожелание - при каждой инициализации, то бишь: при запуске приложения; при изменении параметров; при изменении окружения.
к отключению работы по новому бару
Все проследил , работаю в термнале альпари, у них недавно были изменены торговые условия теперь 9000 рур не достаточно для открытия ордера лотом 0,05
скорее всего то что лоты теперь стали минимальны 0,1 хотя почему то переодично открываются ордера лотами меньше 0,01 вобщем на серверах альпари бардак, сорвались тесты..
А при чём тут торговые условия?
Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...
А при чём тут торговые условия?
Если iTime() возвращает 0, что она делает в случае ошибки, то у вас в первом if'е каждый раз выполняется return, потому что значение time всё время остаётся 0, и до второго if'а дело не доходит...
Вы о чем ???
Возвращаемое значение
Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
нет ошибок в iTime , открыл новый демо счет все заработало, на старом демо не работает ....
Нет. Это вряд ли.
x=0; уже означает использование переменной.
ObjectGetValueByTime
не рабочая
к тому же если отбросить 3 параметер по умолчнию - компилятор ругается
Вы о чем ???
Возвращаемое значение
Значение времени открытия бара (указанного параметром shift) соответствующего графика или 0 в случае ошибки. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError().
нет ошибок в iTime , открыл новый демо счет все заработало, на старом демо не работает ....
Вот и предположим, что каждый раз при вызове iTime() возникает ошибка. Тогда получается следующее (описал всё в комментариях):
Я об этом. И о том, что следует проверять возвращаемые значения, если функция может вернуть признак ошибки.
Что именно за ошибка - в документации написано, как узнать...
Ну пожалуйста!
indicator_color1
Зачем нужна функция определения значения константы?
indicator_color1 - это не переменная.
Это - константа, макрос, дефайн если хотите, которая является синонимом другой константы, константы цвета, задающейся в объявлении
Хочу дефайн.
И хотелось бы понимать, когда он срабатывает. Мое пожелание - при каждой инициализации, то бишь: при запуске приложения; при изменении параметров; при изменении окружения.
ЗЫ Совсем не хочу алиас.
функция
ObjectGetValueByTime
не рабочая
к тому же если отбросить 3 параметер по умолчнию - компилятор ругается
Пожалуйста, создайте заявку в сервисдеске и приложите неработающий код.