Выполнимо (но не с помощью каких-либо служб форматирования строк пользовательских индикаторов)
Учитывая сказанное выше,
размещение и форматирование прямоугольника должны быть запрограммированы явным образом, лучше всего с использованием принципиальной, многократно используемой идеи шаблона функции обработки объектов графического интерфейса, например:
void UpdateRECTANGLE( int const anObjIdNUM,
datetime const fromTIME,
datetime const toTIME,
double const fromPRICE,
double const toPRICE,
color const aCOLOR = clrDarkBlue,
int const aLineTHICKNESS = 2,
int const aLineTYPE = STYLE_SOLID,
){
#define aMainWINDOW 0
string anInterimObjNAME = StringFormat( "GUI_RECTANGLE[%6d]", anObjIdNUM );
if ( ObjectFind( anInterimObjNAME ) == aMainWINDOW )
ObjectDelete( anInterimObjNAME );
else: ObjectCreate( ChartID(), anInterimObjNAME, OBJ_RECTANGLE, 0, fromTIME, fromPRICE,
toTIME, toPRICE
);
ObjectSet( anInterimObjNAME, OBJPROP_COLOR, aCOLOR );
ObjectSet( anInterimObjNAME, OBJPROP_BACK, True );
ObjectSet( anInterimObjNAME, OBJPROP_WIDTH, aLineTHICKNESS );
ObjectSet( anInterimObjNAME, OBJPROP_STYLE, aLineTYPE );
ObjectSet( anInterimObjNAME, OBJPROP_SELECTABLE, GUI_SELECTABLE ); // ----------------------------------------- AVOIDS GUI interactions
ObjectSet( anInterimObjNAME, OBJPROP_SELECTED, False );
return;
}
Эпилог:
вы также можете знать, что пользовательский индикатор — это немного рискованный фрагмент кода для размещения какой-либо тяжелой обработки, запутанного пересчета временных рядов, обработки транзакций с внешним кодом AI / ML. в, потому что, все, да все, графики терминала MetaTrader все делят, да, действительно, все SHARE единым потоком (и можно представить, какая блокировка/долгое зависание обработки может привести ко всем зависимым процессам, если все (опять же, YES, ALL) должны ждать, пока один общий блокирующий поток не получит достаточно тактов ЦП, чтобы завершить обработку всей очереди запросов всех другие эксперты графиков и зависимые от них вызовы пользовательских индикаторов разместили перед нашим запросом вызова.
Не звучит рискованно для ваших ушей? Поверьте мне, это... strong> Много!
person
user3666197
schedule
08.02.2017