Редактироваание объекта на графике

 

Вот столкнулся с такой делемой как невозможность изменять свойство редактирования(выделения) объекта через скрипт, неужели это можно делать только в ручную?

Я вот задумался как можно принимать участие в работе автомата, событейной то модели нет, калбеков в смысле. Единственное к чему пришел это воздействие с помощью объектов размещенных на графике, получается самым удобным. Однако для того чтобы воздействовать, нужно включать галку редактирования в списке объектов и тогда положение объекта можно менять или уточнять мыфкой, правда когда объектов много, пока найдешь нужный объект запаришся, вот и встал передо мной этот вопрос:)

 
bool ObjectSet( string name, int prop_id, double value)
Изменение значения указанного свойства объекта. В случае успеха функция возвращает TRUE, иначе FALSE. Для получения информации об ошибке необходимо вызвать функцию GetLastError().
См. также ObjectGet().

int ObjectFind( string name)
и т.д. Почитайте встроенный help редактора.
 

мда... ну и формулировочка первого поста... Я понял так, что нужно просто выделить объект программным способом и хотел уже ответить, что это невозможно, а оно вон как оказалось. Ну и прозорливость у Вас, chv!!! Респект!

 
KimIV:

мда... ну и формулировочка первого поста... Я понял так, что нужно просто выделить объект программным способом и хотел уже ответить, что это невозможно, а оно вон как оказалось. Ну и прозорливость у Вас, chv!!! Респект!


Видимо сказывается опыт общения с клиентами :-)
 
xeon:
KimIV:

мда... ну и формулировочка первого поста... Я понял так, что нужно просто выделить объект программным способом и хотел уже ответить, что это невозможно, а оно вон как оказалось. Ну и прозорливость у Вас, chv!!! Респект!


Видимо сказывается опыт общения с клиентами :-)

ага, мозги уже ваще зашорились... :-))
 
chv:
bool ObjectSet( string name, int prop_id, double value)
Изменение значения указанного свойства объекта. В случае успеха функция возвращает TRUE, иначе FALSE. Для получения информации об ошибке необходимо вызвать функцию GetLastError().
См. также ObjectGet().

int ObjectFind( string name)
и т.д. Почитайте встроенный help редактора.

Я наизусть знаю хелп:)

Что-то я не нашел такого свойства:) То ли вы не поняли вопроса или его уровень, толи я вопрос не правельно поставил:)

Повторюсь:) Свойство, которое отвечает, за редактирование пользователем. То есть мы создали объект разместили его на графике, а затем хотим изменить расположение мышкой:) В реале мы открываем для этого список объектов графика и затем выставляем на нужных объектах галки, выделяя их, затем уже можем их таскать по графику мышой. Таким образом, можем не только размещать объекты, но и работать с ними в качестве прямого взаимодействия с пользователем. Что надо сделать чтобы не открывать окно списка объектов, а делать это из скрипта?

Так вот, какое именно свойство за это отвечает? Или есть для этого специальные функции? Или для этого ничего не предусмотрено? Если не предусмотрено, то мои пожелания разработчикам добавить эту возможность, не только в пользовательский интерфейс! Впрочем ладно, я уже получил ответ на свой вопрос, это действительно невозможно, судя по тому что говорят остальные:)

P.S.: Я конечно понимаю, что разработчиков сложно понять, но не до такой же степени, чтоб мозги закипали:))))))) Разработчик всегда проверяет, все возможное и не возможное:) Например у микрософта, как правило, все невозможное возможно:) Оттуда и такой ход мышления:)

Хорошо, тогда другой вопрос, никто не знает адресное пространство объектов, структуры их размещения в памяти? Где можно было бы изменить это свойство? Я бы не поленился написать для этого либу на другом языке.
 
Пишите протстыми рубленными фразами, так как сложно понять, и расшифровывать микст нет никакого желания. Если Вам необходимо менять точки привязки объекта - то для этого Вам уже подсказали функцию ObjectSet(). Если требуется другое - сделайте еще одну попытку объяснить, второй раз никто за Вас домысливать не будет.
 

xnsnet, я опять ничего не понял, но осмелюсь предложить Вам поюзать мой скриптик. Положите его в папку ...\experts\scripts\ и позапускайте с разными параметрами.

#property show_inputs
 
extern double Price = 1.33;
extern color  Color = Blue;
 
void start() {
  if (ObjectFind("HLine")<0) ObjectCreate("HLine", OBJ_HLINE, 0, 0,0);
  ObjectSet("HLine", OBJPROP_PRICE1, Price);
  ObjectSet("HLine", OBJPROP_COLOR , Color);
}
 
На скорую руку выложил два скрипта здесь.
 
xnsnet:
На скорую руку выложил два скрипта здесь.
Первый дублирует линию открытия позиции, второй ничего не делает. .. В чём идея-то?
 
Вы случайно не вот это собираетесь разрабатывать?
'Графический эксперт AutoGraf'

***********************

Графический эксперт AutoGraf [ en ]

Кто из трейдеров не мечтал о том, чтобы просто взять ордер мышкой и переставить его на другое место или изменить тем же способом его характеристики - положение StopLoss и TakeProfit. Удобный интерфейс очень важен для пользователя, особенно в случае, если трейдер ведёт внутридневную торговлю.
***********************

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