Вопрос по API
Добавлено: Пт окт 27, 2017 3:00 pm
Здравствуйте!
Хочу написать свой индикатор и возникла такая ситуация:
Мне нужно, чтобы все прямоугольники расширялись для моей стратегии.
Но в вашем API есть недокументированная функция EXPORT void __stdcall OnPaint(int handle),
с помощью которой я хотел бы видеть обновление прямоугольников и, возможно, других вспомогательных объектов при их перемещении, изменении размеров. Для этого я сделал следующее:
При изменении размеров все нормально, но при перемещении прямоугольника обе цены (OBJPROP_PRICE1, OBJPROP_PRICE2) становятся равными 0.
Правильно ли использовать функции ObjectSet, ObjectGet и другие Object... в функции OnPaint()?
Видел что-то подобное в индикаторе TimeBox_FST для объекта obj_Text, но там объекты постоянно пересоздаются.
Хочу написать свой индикатор и возникла такая ситуация:
Код: Выделить всё
EXPORT void __stdcall Calculate(int index) {
if (!ObjectExists(objName)) {
auto ok = ObjectCreate(objName, obj_Rectangle, 0, Time(10), Close(10), Time(0), Close(0));
}
else {
lastTime = Time(0);
ObjectSet(objName, OBJPROP_TIME2, lastTime);
}
Но в вашем API есть недокументированная функция EXPORT void __stdcall OnPaint(int handle),
с помощью которой я хотел бы видеть обновление прямоугольников и, возможно, других вспомогательных объектов при их перемещении, изменении размеров. Для этого я сделал следующее:
Код: Выделить всё
EXPORT void __stdcall OnPaint(int handle) {
if (ObjectExists(objName)) {
ObjectSet(objName, OBJPROP_TIME2, lastTime);
или даже
ObjectGet(objName, OBJPROP_TIME2);
}
}
Правильно ли использовать функции ObjectSet, ObjectGet и другие Object... в функции OnPaint()?
Видел что-то подобное в индикаторе TimeBox_FST для объекта obj_Text, но там объекты постоянно пересоздаются.