Помогите написать индюк

 

Пожалуйста, помогите мне понять, как рисовать правильно линии с помощью индикатора.

Проблема стала следующей. Мне надо чтобы данный индикатор позволял перемещать линию и в окне показывал значения, где находиться данная линия.

Мне надо понять, как будет устроен данный код.

Везде рыл, но такого не нашёл - даже приблизительно.

 
 
и ObjectGet
 
rensbit:

https://docs.mql4.com/ru/objects

ObjectCreate()

ObjectSet()

------------------------------------------------

https://book.mql4.com/ru/functions/objects

Спасибо за подсказку всё нашёл и получилось.

А может подскажете как сделать чтобы при перемещении линии (Line_TP ) менялось значение (tp_L)

Код который я пишу ниже

----------------------------------------------------------------------------------------------------------------------

#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_chart_window
int init()
{

return(0);
}

int deinit()
{

return(0);
}

int start()
{
int counted_bars=IndicatorCounted();

double Line_TP=Ask-(50*Point);

//---- горизонтальная линия
ObjectCreate("Line_TP",OBJ_HLINE,0,Time[0],Line_TP,Time[0],Line_TP);
ObjectSet("Line_TP",OBJPROP_COLOR,Magenta);
ObjectSet("Line_TP",OBJPROP_WIDTH,2);
ObjectSet("Line_TP",OBJPROP_STYLE,STYLE_SOLID);

string tp_L= DoubleToStr(Line_TP, Digits );

ObjectCreate("Profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Profit", tp_L+" линия установленна ", 10, "Arial Bold", Red);
ObjectSet("Profit", OBJPROP_CORNER, 2);
ObjectSet("Profit", OBJPROP_XDISTANCE, 2);
ObjectSet("Profit", OBJPROP_YDISTANCE, 460);

return(0);
}


-----------------------------------------------------------------------------------------------------------------------

Буду очень благодарен

 
EVgEN_SA:

Спасибо за подсказку всё нашёл и получилось.

А может подскажете как сделать чтобы при перемещении линии (Line_TP ) менялось значение (tp_L)

Код который я пишу ниже


Используй функцию ObjectGet(). Она возвращает значение указываемого свойства объекта.
 
rensbit:
Используй функцию ObjectGet(). Она возвращает значение указываемого свойства объекта.

Спасибо за совет, но без примера мне тяжело доходить самому. Я не великий программист.

Хотя если долго мучится что-нибудь получится.

Я пробовал с этой функцией, пока безрезультатно.

 
EVgEN_SA:

Я пробовал с этой функцией, пока безрезультатно.

И так пробовали?

ObjectGet("Line_TP",OBJPROP_PRICE1);
 

EVgEN_SA:

А может подскажете как сделать чтобы при перемещении линии (Line_TP ) менялось значение (tp_L)

#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_chart_window

double Line_TP = 0.0;
int init()
{

Line_TP = Ask-(50*Point);
ObjectCreate("Line_TP",OBJ_HLINE,0,0,0);
ObjectSet("Line_TP",OBJPROP_PRICE1,Line_TP);
ObjectSet("Line_TP",OBJPROP_COLOR,Magenta);
ObjectSet("Line_TP",OBJPROP_WIDTH,2);
ObjectSet("Line_TP",OBJPROP_STYLE,STYLE_SOLID);

ObjectCreate("Profit", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Profit", DoubleToStr(Line_TP,5), 10, "Arial Bold", Red);
ObjectSet("Profit", OBJPROP_CORNER, 2);
ObjectSet("Profit", OBJPROP_XDISTANCE, 2);
ObjectSet("Profit", OBJPROP_YDISTANCE, 460);

return(0);
}

int deinit()
{
ObjectDelete("Line_TP");
ObjectDelete("Profit");
return(0);
}

int start()
{

// double Line_TP=Ask-(50*Point);
Line_TP = ObjectGet("Line_TP",OBJPROP_PRICE1);
ObjectSet("Line_TP",OBJPROP_PRICE1,Line_TP);
ObjectSetText("Profit", DoubleToStr(ObjectGet("Line_TP",OBJPROP_PRICE1),5), 10, "Arial Bold", Red);

return(0);
}
 

Спасибо огромное я до этого не дошёл.

 
rensbit:




Не плохой индюк, кстати, начал получаться, по крайней мере, для меня.

Скоро я его выложу на сайте. Просто он ещё сырой и не готовый, но мне уже упростил жизнь.

Просто подобных индикаторов я больше нигде не встречал.

Надеюсь, что его оценят.

Дополнительно полый его код опубликую здесь может кто ещё и поможет довести его до финального конца.

Тебе ещё раз спасибо.

 

а вот и сам индюк (Zamer_ price_v1) который я уже выложил.

https://www.mql5.com/en/code

на странице https://www.mql5.com/ru/code/10319

Причина обращения: