//--- подготавливаем рабочие графики// "EURUSD,GBPUSD,GBPCHF,CADCHF,AUDCAD,AUDUSD,AUDNZD,NZDUSD,CHFJPY,USDCAD,USDCHF,USDJPY" список//symbolsInMW=0, // Все символы selectedSymbol=false//symbolsInMW=1, // Только в обзоре рынка selectedSymbol=true//symbolsInMW=2, // Все открытые графики selectedSymbol=true//symbolsInMW=3, // Список торгуемых символов selectedSymbol=false//symbolsInMW=4, // Текущий график с советником selectedSymbol=true
selectedSymbol=(symbolsInMW==0 || symbolsInMW==3)?false:true;
totalSymbols=SymbolsTotal(selectedSymbol); // Достаточное количество символовif(symbolsInMW!=4) { // Если работаем в мультивалютном режимеfor(int i=0; i<totalSymbols; i++) { // цикл по списку символов (либо в обзоре рынка, либо по всем)string symbol_name=SymbolName(i,selectedSymbol); // наименование символа
chart_id=get.GetChartID(symbol_name); // найдём ID графика//--- график выбранного символа не открытif(symbolsInMW==3 && StringFind(ListOfSymbols,symbol_name)<0) continue; // если работаем со списком и символа в списке нет - идём дальшеif(chart_id<0 && symbolsInMW!=2) { // если графика нету и не выбрана работа только с открытыми графикамиif(symbolsInMW==0 && !SymbolInfoInteger(symbol_name,SYMBOL_SELECT)) // если работаем со всеми символами и символ не выбран ...,SymbolSelect(symbol_name,true); // ... выберем символ в обзоре рынка
chart_id=ChartOpen(symbol_name,PERIOD_H4); // откроем график символа
}
//--- график выбранного символа уже открытif(chart_id>=0) {
if(symbol_name!=symbol) { // если выбранный символ не символ текущего графика
graph.Message("Load template \"Agent.tpl\" on "+symbol_name);
ResetLastError();
if(ChartApplyTemplate(chart_id,"Agent.tpl")) { // если загрузили шаблон - закинем подложкуChartSetInteger(chart_id,CHART_BRING_TO_TOP,true); // График поверх других
SetCanvas(symbol_name,chart_width,0,0,0);
}
//--- иначе - сообщение с ошибкойelse graph.Message("Failed to load the template \"Agent.tpl\" on chart "+symbol_name+", error "+IntegerToString(GetLastError()));
}
}
}
}
SetCanvas(symbol,chart_width,0,0,0); // Подложка основного графика с советником (здесь шаблон не нужен)
下面是一段使用该函数的代码。在这个例子中,用户定义的符号包括在 "市场观察 "窗口中(符号阵列),如果这种符号不存在,就会显示相应的信息。不要懒得去看这个函数的帮助,那里写得很清楚。
P.S.
为了使专家顾问(指标)能够在任何符号上正常工作,它们应该在 "市场观察 "窗口中被启用,这个功能只是为了这个目的。
是的,知道了。对于机器人--我会修复它。我一定会做到的。如果我有任何问题,我将在这里写出来。我从心底里感谢你。
这完全取决于项目的要求和需要。这里还有一段OnInit()的代码,它根据EA的设置准备了所需的符号和图形。
好吧,在这里你只能看看原则。也许会有帮助;)
这完全取决于项目的要求和需要。这里还有一段OnInit()的代码,它根据EA的设置准备了所需的符号和图形。
好吧,在这里你只能看看原则。也许会有帮助;)
Artem - 我已经亲自给你写了信。看看吧。请注意。
Artem - 我已经亲自给你写了信。看看吧。请注意。
又看了看--什么都没有......。
我得在15分钟内离开。快点;)
又看了看--什么都没有......。
我必须在15分钟内离开。快点;)
不能写--如何--我那里没有这个选项......
帮助....
我不能写如何--我那里没有这个选项......
帮助....
你点击我的名字--进入我的个人资料--在右上方有一个 "写留言 "按钮。
虽然......。我已经自己写了 -- 回答它。
你点击我的名字--进入我的个人资料--在右上方有一个按钮,上面写着 "写留言"。
虽然...我已经自己写了 -- 回答它。
我不能写如何--我那里没有这个选项......
帮助....
哦,伙计...现在是该死的时候了。![](https://c.mql5.com/3/69/vzdoh2.gif)
是的,嗯...而我蠢到在私人信息中给他发了一条信息。
哦,好吧...它已经被写过、读过、吃过了。![](https://c.mql5.com/3/69/s6ow5p.gif)