[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 274

 
AndCam:

А почему не сохраняется журнал событий и эксперта???

Открываю соответствующие папки в папке терминала, а там пусто....

В чем может быть проблема?


Так никто мне непоможет советом??
 
AndCam:

Так никто мне непоможет советом??
Логи полностью сохраняются после выгрузки терминала.
 
Zhunko:
Логи полностью сохраняются после выгрузки терминала.


Всмысле???

У меня вообще ни один файл несохраняется.

как выгрузить терминал, чтоб получить логи???

 
Перенесено.

geha 25.03.2011 13:24

Я новичек. Помогите плиз разобратся, что за ошибка и ак ее исправить? (Otd tisk EURUUSD30 1.41590/1.41610)

Europa 25.03.2011 13:47
 

Ув.профи, подскажите... В индикаторе использую помимо линии самого индикатора еще и горизонтальные линии. Требуется что-бы цвет горизонтальных линий задавался тем же параметром, что и установка линии индикатора. Однако попытка изменить ObjectSet (Sname, OBJPROP_COLOR, Silver); на ObjectSet (Sname, OBJPROP_COLOR, indicator_color1); ничего не дает. Что делаю не так? Спасибо...

 
kon12:

Ув.профи, подскажите... В индикаторе использую помимо линии самого индикатора еще и горизонтальные линии. Требуется что-бы цвет горизонтальных линий задавался тем же параметром, что и установка линии индикатора. Однако попытка изменить ObjectSet (Sname, OBJPROP_COLOR, Silver); на ObjectSet (Sname, OBJPROP_COLOR, indicator_color1); ничего не дает. Что делаю не так? Спасибо...


Цвет надо выносить во внешние переменные - через extern
 

Подскажите пожалуйста как найти разницу между ценами close соседних баров в пунктах (пятизнак).

Например Close[n-1]-Close[n]=0.0006 (т. е. 6 пунктов), по идее нужно просто домножить на 10000, но ведь есть пары (например eurjpy) там где тот же расчет будет давать Close[n-1]-Close[n]=0.11 (т. е. 11 пунктов), и нужно домножить всего на 100.

Неужели придется создавать отдельную функцию которая будет проверять число знаков после запятой и возвращать 100, 1000, 10000 в зависимости от результата проверки?

Может у кого есть уже готовая такая функция?

 
Sergey_Rogozin:

Нет смысла нормализовать double величины для их сравнения, поскольку два значения 1.778946 и 1.778949 после нормализации окажутся равными, а это уже неверно, т.к. первое значение меньше второго.

Нормализовать double надо только для отправки команды Дилеру, но не для "внутреннего потребления" - сравнения двух величин.

Я когда-то считал также, но столкнулся с проблемой сравнения double-величин в функции учёта ордеров, которая две недели не желала работать как ей положено и не видела ордеры по их параметрам. Я написал порядка 15 штук различных версий учётов ордеров, но ни одна из них не работала. И тут я решил нормализовать данные при их сравнении и сравнивать не сравнением, а вычитанием одного из другого и, при равности, считать сравнение == true. Всё заработало. Все 15 черновых версий учёта ордеров.
Теперь я всегда делаю такое сравнение и не имею проблем, связанных с непонятным поведением функций, которые должны работать, но не работают... И экономлю время на поиске нелепых ошибок...
 
Neofit:

Подскажите пожалуйста как найти разницу между ценами close соседних баров в пунктах (пятизнак).

Например Close[n-1]-Close[n]=0.0006 (т. е. 6 пунктов), по идее нужно просто домножить на 10000, но ведь есть пары (например eurjpy) там где тот же расчет будет давать Close[n-1]-Close[n]=0.11 (т. е. 11 пунктов), и нужно домножить всего на 100.

Неужели придется создавать отдельную функцию которая будет проверять число знаков после запятой и возвращать 100, 1000, 10000 в зависимости от результата проверки?

Может у кого есть уже готовая такая функция?

double pt=MarketInfo(Symbol(), MODE_POINT);

difference=(Close[n-1]-Close[n])/pt;

Вместо Symbol() подставляйте имя инструмента, напр. "EURUSD" или "EURJPY" если хотите из советника, работающего на одном инструменте, получить данные по другому инструменту. Либо, оставляйте Symbol() или NULL и советник всегда будет брать данные с того инструмента, на котором работает.

 
Neofit:

Подскажите пожалуйста как найти разницу между ценами close соседних баров в пунктах (пятизнак).

Например Close[n-1]-Close[n]=0.0006 (т. е. 6 пунктов), по идее нужно просто домножить на 10000, но ведь есть пары (например eurjpy) там где тот же расчет будет давать Close[n-1]-Close[n]=0.11 (т. е. 11 пунктов), и нужно домножить всего на 100.

Неужели придется создавать отдельную функцию которая будет проверять число знаков после запятой и возвращать 100, 1000, 10000 в зависимости от результата проверки?

Может у кого есть уже готовая такая функция?


(Close[n-1]-Close[n])/Point/10; получаете в стандартных пунктах, без /10 в пятизначных пунктах.