вот набросал скрипт, вроде рисует:
int start(){ DrawLine("qwerty",Time[10],Yellow); return(0); } //+------------------------------------------------------------------+ void DrawLine(string name, datetime tim, color cl=Red){ if(ObjectFind(name)<0) ObjectCreate(name, OBJ_VLINE, 0, tim, Close[0], tim, Close[0]); ObjectSet(name, OBJPROP_BACK , false); ObjectSet(name, OBJPROP_COLOR, cl); ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(name, OBJPROP_WIDTH, 0); }
Иногда упираюсь лбом в непробиваемую стену на пустом месте.
Ну скажите, что я пишу неправильно?!
Интересно, а "Что Вы делали (что не работает)?" У меня в скрипте этот код работает. Если затеяли "игры" с WindowOnDropped(), то можно чуть усложнить код:
int start() { //---- string Name = "OptArea"; int li_Window = ObjectFind (Name), li_NewWindow = WindowOnDropped(); if (li_Window == -1) ObjectCreate (Name, OBJ_VLINE, li_NewWindow, 0, 0); else if (li_Window != li_NewWindow) { ObjectDelete (Name); ObjectCreate (Name, OBJ_VLINE, li_NewWindow, 0, 0); } ObjectSet (Name, OBJPROP_TIME1, Time[10]); ObjectSet (Name, OBJPROP_COLOR, Orange); int err = GetLastError(); if (err > 0) Print ("Error - ", err); //---- return (0); }
Интересно, а "Что Вы делали (что не работает)?" У меня в скрипте этот код работает. Если затеяли "игры" с WindowOnDropped(), то можно чуть усложнить код:
Спасибо!
Действительно, не в этом коде дело.
В другом месте скрипта подчистка объектов убирала линию.
Ваши рекомендации по WindowOnDropped учту, хорошо пишете!
Хотя пока не вполне ясно понял концепцию этой функции: Можно при её помощи нарисовать вертикальную линию
только в окне идикатора?
Интересно, а "Что Вы делали (что не работает)?" У меня в скрипте этот код работает. Если затеяли "игры" с WindowOnDropped(), то можно чуть усложнить код:
А на графике при визуальном тестировании скрипт не работает...
А на графике при визуальном тестировании скрипт не работает...
Скрипт в тестере работать не предназначен! Поэтому со временем работает, как на реале, а не с моделированным - посмотрите на объекты графика (линия создаётся в будущем).
Да, действительно, в тестере нумерация баров как в реале.
Как бы сделать чтобы он от номера моделированного для советника бара смещение отсчитывал, если его кинули на тестирование?
Да, действительно, в тестере нумерация баров как в реале.
Как бы сделать чтобы он от номера моделированного для советника бара смещение отсчитывал, если его кинули на тестирование?
...за извращениями не ко мне!
int tm1 = WindowTimeOnDropped(); ObjectCreate("asd",OBJ_VLINE,0,0,0); ObjectSet("asd",OBJPROP_TIME1,tm1); ObjectSet("asd",OBJPROP_COLOR,Red); ObjectSet("asd",OBJPROP_WIDTH,2);
Формализация задачи стояла несколько иначе: Time[Bar]...
P.S. Сделать можно многое, второй вопрос: "Зачем?"...
Формализация задачи стояла несколько иначе: Time[Bar]...
P.S. Сделать можно многое, второй вопрос: "Зачем?"...
"Надо!"
надо думать головой.
В советнике if(IsVisualMode()){GlobalVariableSet("whd"+WindowHandle(Symbol(),Period()),Close[0]);} в Скрипте int shift = (Period()*60)*3; int tm0 = GlobalVariableGet("whd"+WindowHandle(Symbol(),Period())); if(tm0>0){ tm1 = tm0 - shift; }else{ tm1 = Time[0] - shift; } ObjectCreate("asd",OBJ_VLINE,0,0,0); ObjectSet("asd",OBJPROP_TIME1,tm1); ObjectSet("asd",OBJPROP_COLOR,Red); ObjectSet("asd",OBJPROP_WIDTH,2);
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Иногда упираюсь лбом в непробиваемую стену на пустом месте.
Ну скажите, что я пишу неправильно?!