long getChartID(string symbol, ENUM_TIMEFRAMES period, bool openNew = true) { long id = ChartFirst(); if (ChartSymbol(id) == symbol && ChartPeriod(id) == period ) return id; while (id > 0) { id = ChartNext(id); if (id > 0 && ChartSymbol(id) == symbol && ChartPeriod(id) == period ) return id; } if (openNew) { id = ChartOpen(symbol, period); if (id <= 0) { id = -1; } } return id; }
Ещё на графике может быть объект "График", определить можно так:
bool isObject = (bool)ChartGetInteger(id, CHART_IS_OBJECT);
Большое спасибо за помощь)
long CurChart=ChartFirst(); for(int k=0;k<3;k++) { for(int i=0;i<3;i++) if (ChartSymbol(CurChart)==Mass_Valute[i]) { ObjectCreate(CurChart,"P1",OBJ_HLINE,0,iTime( Mass_Valute [i],ChartPeriod(CurChart),1), P1[i]); ObjectSetInteger(CurChart,"P1", OBJPROP_STYLE,STYLE_DASHDOT); ObjectSetInteger(CurChart,"P1", OBJPROP_COLOR,clrAqua); } CurChart=ChartNext(CurChart); if (CurChart<0) break; }
Так сойдёт?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Допустим string Mass_Valute[3]={"EURUSD","EURNZD","EURAUD"}; Графики открыты по тем же символам