Столкнулся с такой проблемой:
У меня два окна валют Sber и Sber5 с тайфреймами 1мин и 5мин соответсвенно. В процедуре GetSingleTick()
//Изменяем одну координату обекта, т.е. скрываем в 0
if j = 1 then
begin
SetCurrencyAndTimeFrame('Sber1', 1);
if not(ObjectExist('r1')) then
ObjectSet('r1', 0);
end
else
begin
SetCurrencyAndTimeFrame('Sber5', 5);
if not(ObjectExist('r5')) then
ObjectSet('r5', 0);
end;
//Опредкляем вылюту и фрейм т.к. расчет J ведется по этим данным
SetCurrencyAndTimeFrame('Sber1', 1);
//Определяем значение J
j := GetJ();
//Рисуем объект в одном из окон или изменяем его положение
if j = 1 then
begin
SetCurrencyAndTimeFrame('Sber1', 1);
if not(ObjectExist('r1')) then
ObjectCreate('r1', obj_Ray, 0, t1, r1, t2, r2);
else
ObjectSet('r1', r1);
end
else
begin
SetCurrencyAndTimeFrame('Sber5', 5);
if not(ObjectExist('r5')) then
ObjectCreate('r5', obj_Ray, 0, t1, r1, t2, r2);
else
ObjectSet('r5', r1);
end;
В итоге у меня рисует либо втом либо в первом либо во втором окне, мало того, после того как начинает рисовать в окне Sber5 все расчеты J идут ошибочнами и в журнале стратегии отписывается Error Strategy: Chanel, такое ощущение что SetCurrencyAndTimeFrame('Sber1', 1); перед строкой j := GetJ(); не отрабатывется. Или это может быть связано с функцией ObjectCreate('r1', obj_Ray, 0, t1, r1, t2, r2); где 0 нужно изменить на значение окна?
Есть ли возможность в программе определять объект видимум или не видимым в одном из таймфреймов, как это делается в МТ4 - это облегчело бы множество задач...
Заранее благодарен!
Вероятноя ошибка в SetCurrencyAndTimeFrame()
-
- Сообщения: 36
- Зарегистрирован: Ср мар 18, 2009 9:03 am
-
- Сообщения: 36
- Зарегистрирован: Ср мар 18, 2009 9:03 am
Вопрос снят
Вопрос снят,
При использовании явного задания параметров все работает пока нормально, проблем только в том случае когда
SetCurrencyAndTimeFrame('Sber', 1); задается вот в таком виде SetCurrencyAndTimeFrame(Symbol, TimeFrame);, где
Symbol := 'Sber';
TimeFrame := 1;
такое ощущение что параметры Symbol и TimeFrame изменяются при вызове процедуры с такими параметрами
SetCurrencyAndTimeFrame('Sber5', 5);
При использовании явного задания параметров все работает пока нормально, проблем только в том случае когда
SetCurrencyAndTimeFrame('Sber', 1); задается вот в таком виде SetCurrencyAndTimeFrame(Symbol, TimeFrame);, где
Symbol := 'Sber';
TimeFrame := 1;
такое ощущение что параметры Symbol и TimeFrame изменяются при вызове процедуры с такими параметрами
SetCurrencyAndTimeFrame('Sber5', 5);