Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Проблема очевидно в недокументированом :) обрезании имени объекта и в дальнейшем у объекта получается два имени - одно полное хранится в скрипте, второе - обрезанное в ядре. Код ниже:
void showMarketEnter(int orderType, int time, double price, double limitPrice) { int startTime = LocalTime(); Print("showMarketEnter orderType=" + orderType + " time=" + TimeToStr(time, TIME_DATE | TIME_SECONDS) + " price=" + price + " limitPrice=" + limitPrice); int code = 0; switch (orderType) { case OP_BUY: code = SYMBOL_ARROWUP; break; case OP_SELL: code = SYMBOL_ARROWDOWN; break; default: code = SYMBOL_CHECKSIGN; break; } string name = TimeToStr(LocalTime(), TIME_SECONDS); string arrowName = orderTypeStr(orderType) + "_" + name; arrowName = "0123456789012345678901234567890123456789012345678901234567890123"; int windowHandle = WindowHandle(Symbol(), Period()); Print("ObjectsTotal()=" + ObjectsTotal() + " windowHandle=" + windowHandle + " arrowName=" + arrowName + " code=" + code); if (!ObjectCreate(arrowName, OBJ_ARROW, 0, time, price)) { logLastError(); return (0); } bool res = ObjectSet(arrowName, OBJPROP_COLOR, Yellow); Print("set color=" + res); ObjectSet(arrowName, OBJPROP_FONTSIZE, 12); ObjectSet(arrowName, OBJPROP_ARROWCODE, code); ObjectSetText(arrowName, "description", 10, "Times New Roman", Yellow); Print("ObjectsTotal()=" + ObjectsTotal() + " time=" + (LocalTime() - startTime)); }Вывод: