MQL4 - automated forex trading   /  

Форум

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

К списку тем  | 1 2 Авторизуйтесь или зарегистрируйтесь, чтобы создать новую тему

avatar
372
EVgEN_SA 20.05.2011 10:22 

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

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

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

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


Организуйте багтрекинг и техсаппорт для своей компании

В TeamWox имеются все для того чтобы организовать багтрекинг. Интегрировав модуль Сервисдеск с веб-сайтом, Вы сможете получать заявки своих клиентов напрямую в TeamWox. Более того, вся переписка с клиентами автоматически распознается и попадает в архив, где ее без труда можно найти в будущем.


avatar
598
rensbit 20.05.2011 10:31 

avatar
Модератор
7382
sergeev 20.05.2011 10:54 
и ObjectGet

avatar
372
EVgEN_SA 21.05.2011 23:45 
rensbit:

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

ObjectCreate()

ObjectSet()

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

http://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);
}


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

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


avatar
598
rensbit 23.05.2011 00:34 
EVgEN_SA:

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

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

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


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

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

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

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

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


avatar
2240
Roger 23.05.2011 09:42 
EVgEN_SA:

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

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

ObjectGet("Line_TP",OBJPROP_PRICE1);


avatar
598
rensbit 23.05.2011 09:57 

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);
}




avatar
372
EVgEN_SA 23.05.2011 10:34 

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


avatar
372
EVgEN_SA 25.05.2011 18:15 
rensbit:




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

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

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

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

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

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


avatar
372
EVgEN_SA 30.05.2011 14:23 

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

http://codebase.mql4.com/download/27297

на странице http://codebase.mql4.com/ru/7610

К списку тем   | 1 2  

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий