Доброго времени суток. Помогите решить задачу. Нужно добавить несколько окон одного индикатора на график, в этом индикаторе есть ObjectCreate и вот тут возникает сложность, так как окон этого индикатора несколько и каждый со своими значениями, то индекс окна в ObjectCreate должен быть свой, создавать клоны индикатора с разными именами не хотелось бы. Если же установить, к примеру индекс окна равный 1 то все значки с других окон будут прорисовываться в окне с индексом 1, а не в своем.
Добрый день, уважаемые! Подскажите, где ошибка в моих рассуждениях, и, если её нет, то какие исправления нужно внести в код: При повторном включении компа после отключении электричества происходит последовательная загрузка всех строк кода и после закрывающей фигурной скобки ф-и OnTick() идет считывание расположенных за ней пользовательских функций, и, прочитывая код ф-и CloseAllBuy(), происходит ее исполнение, хоть она и не была вызвана из ф-и OnTick(). То есть, при загрузке эксперта происходит закрытие всех открытых позиций. Как этого избежать?
rapid_minus: Добрый день, уважаемые! Подскажите, где ошибка в моих рассуждениях, и, если её нет, то какие исправления нужно внести в код: При повторном включении компа после отключении электричества происходит последовательная загрузка всех строк кода и после закрывающей фигурной скобки ф-и OnTick() идет считывание расположенных за ней пользовательских функций, и, прочитывая код ф-и CloseAllBuy(), происходит ее исполнение, хоть она и не была вызвана из ф-и OnTick(). То есть, при загрузке эксперта происходит закрытие всех открытых позиций. Как этого избежать?
Попробуй воспользоватся глобальными переменными . Если хочешь чтобы советник запускался с того же состояния когда и был закрыт, то все флаги состоянию нужно хранить в глобальных переменных. Их значение не меняется и храниться уеву тучу дней. как то так....
Спасибо за быстрый ответ. Только из-за своей мкловской малограмотности я ничего не понял. Какими глобальными переменными нужно воспользоваться - на уровне эксперта или на уровне терминала? (Правда я и тут плаваю, увы).
nikelodeon: У меня есть такой оператор iOpen(NULL,PERIOD_D1,1) он показывает открытие дня, а как сделать открытие второго часа этого дня....????
iOpen() - это цена, все же правильней использовать iTime(), как выше уже подсказали. Ну и у разных западных компаний день может открыться в воскресенье вечером, за этим тоже как-то надо следить.
rapid_minus: Добрый день, уважаемые! Подскажите, где ошибка в моих рассуждениях, и, если её нет, то какие исправления нужно внести в код: При повторном включении компа после отключении электричества происходит последовательная загрузка всех строк кода и после закрывающей фигурной скобки ф-и OnTick() идет считывание расположенных за ней пользовательских функций, и, прочитывая код ф-и CloseAllBuy(), происходит ее исполнение, хоть она и не была вызвана из ф-и OnTick(). То есть, при загрузке эксперта происходит закрытие всех открытых позиций. Как этого избежать?
А как вы проверяли, что CloseAllBuy() ниоткуда не вызывается? А может закрытие ещё где-то прописано?
CloseAllBuy() вызывается в одном-единственном месте: в ф-и OnTick() по условию if(Bid>buycloseprice) CloseAllBuy(); И это условие при новом включении не наступило и в период отключения тоже не наступало, а ф-я CloseAllBuy() все равно сработала при повторном включении эксперта.
rapid_minus: CloseAllBuy() вызывается в одном-единственном месте: в ф-и OnTick() по условию if(Bid>buycloseprice) CloseAllBuy(); И это условие при новом включении не наступило и в период отключения тоже не наступало, а ф-я CloseAllBuy() все равно сработала при повторном включении эксперта.
Код будет? Кто такое buycloseprice, откуда пришло, чем инициализировано, где менялось, отсюда не видно же...
всем доброго здравия. Подскажите как взять открытие дня со смещением на час. То есть не первый час брать, а второй за день???
Примерно так
Но не мешало-бы поставить проверку на новый-ли день, иначе все тики с 1:00 до 2:00 будут соответствовать условию.
Добрый день, уважаемые! Подскажите, где ошибка в моих рассуждениях, и, если её нет, то какие исправления нужно внести в код: При повторном включении компа после отключении электричества происходит последовательная загрузка всех строк кода и после закрывающей фигурной скобки ф-и OnTick() идет считывание расположенных за ней пользовательских функций, и, прочитывая код ф-и CloseAllBuy(), происходит ее исполнение, хоть она и не была вызвана из ф-и OnTick(). То есть, при загрузке эксперта происходит закрытие всех открытых позиций. Как этого избежать?
Попробуй воспользоватся глобальными переменными . Если хочешь чтобы советник запускался с того же состояния когда и был закрыт, то все флаги состоянию нужно хранить в глобальных переменных. Их значение не меняется и храниться уеву тучу дней. как то так....
У меня есть такой оператор iOpen(NULL,PERIOD_D1,1) он показывает открытие дня, а как сделать открытие второго часа этого дня....????
iOpen() - это цена, все же правильней использовать iTime(), как выше уже подсказали. Ну и у разных западных компаний день может открыться в воскресенье вечером, за этим тоже как-то надо следить.
В общем, изучайте что такое iBarShift.
Добрый день, уважаемые! Подскажите, где ошибка в моих рассуждениях, и, если её нет, то какие исправления нужно внести в код: При повторном включении компа после отключении электричества происходит последовательная загрузка всех строк кода и после закрывающей фигурной скобки ф-и OnTick() идет считывание расположенных за ней пользовательских функций, и, прочитывая код ф-и CloseAllBuy(), происходит ее исполнение, хоть она и не была вызвана из ф-и OnTick(). То есть, при загрузке эксперта происходит закрытие всех открытых позиций. Как этого избежать?
А как вы проверяли, что CloseAllBuy() ниоткуда не вызывается? А может закрытие ещё где-то прописано?
Без кода никто не скажет, кроме автора.
CloseAllBuy() вызывается в одном-единственном месте: в ф-и OnTick() по условию if(Bid>buycloseprice) CloseAllBuy(); И это условие при новом включении не наступило и в период отключения тоже не наступало, а ф-я CloseAllBuy() все равно сработала при повторном включении эксперта.