Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2429

 
Aleksandr Slavskii #:

Упс. Забыл, что есть ещё и МТ4, про МТ4 ничего не скажу, не знаю.

Все равно спасибо. 

 
ANDREY #:

Все равно спасибо. Тогда у меня вопрос к остальным форумчанам. На каком графике в тестере  МТ4 отображаются графические объекты ?
Спасибо. 

На графике тестера
 
Artyom Trishkin #:
На графике тестера

Спасибо.

Как мне кажется в тестере все графики являются графиками тестера. Я решил начать с простого и отрисовать вертикальную линию  ObjectCreate(ChartID(),"label_object",OBJ_VLINE,Time[1],Low[1]);

ObjectSetInteger(ChartID(),"label_object",OBJPROP_COLOR,clrRed);

И вертикальная линия рисуется у меня на дополнительном графике, то есть при включении ВИЗУАЛИЗАЦИИ.

 
ANDREY #:

Спасибо.

Как мне кажется в тестере все графики являются графиками тестера. Я решил начать с простого и отрисовать вертикальную линию  ObjectCreate(ChartID(),"label_object",OBJ_VLINE,Time[1],Low[1]);

ObjectSetInteger(ChartID(),"label_object",OBJPROP_COLOR,clrRed);

И вертикальная линия рисуется у меня на дополнительном графике, то есть при включении ВИЗУАЛИЗАЦИИ.

Так и нужно в визуальном режиме объекты на графике тестера смотреть. На основном графике тестер не будет объекты строить.

 
Artyom Trishkin #:

Так и нужно в визуальном режиме объекты на графике тестера смотреть. На основном графике тестер не будет объекты строить.

Спасибо.
Вот мой код по которому я планировал рисовать вертикальную линию на каждой минутной  свече

int A1;
void OnTick()
{
if (Time[1]!=A1)
{
 A1=Time[1];
ObjectCreate(ChartID(),"label_object",OBJ_VLINE,Time[1],Low[1]);
ObjectSetInteger(ChartID(),"label_object",OBJPROP_COLOR,clrRed);
}
}

Но код сработал только один раз, отрисовал линию только на первой свече. Что я сделал не так?
Спасибо

 
ANDREY #:

Спасибо.
Вот мой код по которому я планировал рисовать вертикальную линию на каждой минутной  свече

Но код сработал только один раз, отрисовал линию только на первой свече. Что я сделал не так?
Спасибо

Имя объекта должно быть уникальным.

Попробуйте так

int A1;
void OnTick()
{
if (Time[1]!=A1)
{
 A1=Time[1];
string name = (string)Time[1];
ObjectCreate(ChartID(),name ,OBJ_VLINE,Time[1],Low[1]);
ObjectSetInteger(ChartID(),name ,OBJPROP_COLOR,clrRed);
}
}
 
Alexey Viktorov #:

Имя объекта должно быть уникальным.

Попробуйте так

Спасибо. Сделал в точности так как Вы сказали..... не рисует линии вообще, и ДАЖЕ НА ПЕРВОЙ СВЕЧЕ, как до изменения кода,  не рисует, 

int A1;
void OnTick()
{
if (Time[1]!=A1)
{
 A1=Time[1];
string name = (string)Time[1]; 
ObjectCreate(ChartID(),name,OBJ_VLINE,Time[1],Low[1]);
ObjectSetInteger(ChartID(),name,OBJPROP_COLOR,clrRed);
}
}
 
ANDREY #:

Спасибо. Сделал в точности так как Вы сказали..... не рисует линии вообще, и ДАЖЕ НА ПЕРВОЙ СВЕЧЕ, как до изменения кода,  не рисует, 

Разобрался. В ObjectCreate(0,name,OBJ_VLINE,0,Time[1],Low[1]); был пропущен четвертый параметр.

 

Теперь мне нужно научиться вставлять текст в объект OBJ_TEXT. Как я понял текст в этот объект вставляет функция ObjectSetText().

Вот мой код. При помощи него я хотел на каждой минутной свече выводить N бара. N бара я сохранил в А2 значение которой потом преобразовал в строку (Мо4)
Но компилятор выдает ошибку 
unknown symbol(неизвестный символ) в функции  ObjectSetText(). При этом неизвестный символ находится в столбце 52, а последний символ этой функции (;)находится в столбце 51 

Буду признателен, если подскажете где у меня ошибка.

int A1,A2;
string name,Mo4;
void OnTick()
{
if (Time[1]!=A1)
{
 A1=Time[1];
 A2=Bars;
 Mo4=IntegerToString(A2,2);
name = (string)Time[1]; 
ObjectCreate(0,name,OBJ_TEXT,0,Time[1],Low[1]);
ObjectSetInteger(0,name,OBJPROP_COLOR,clrRed);
ObjectSetText(name,Mo4,10,"Times New Roman",Green);
}
}