初学者的问题 MQL5 MT5 MetaTrader 5 - 页 370

 
Vitalii Ananev:

下面是一段使用该函数的代码。在这个例子中,用户定义的符号包括在 "市场观察 "窗口中(符号阵列),如果这种符号不存在,就会显示相应的信息。不要懒得去看这个函数的帮助,那里写得很清楚。

P.S.

为了使专家顾问(指标)能够在任何符号上正常工作,它们应该在 "市场观察 "窗口中被启用,这个功能只是为了这个目的。

啊哈,我知道了,我会为我的机器人纠正的。我一定会做到的。如果你有任何问题,我会把它们写在这里。我从心底里感谢你。
 
Roman Shiredchenko:
是的,知道了。对于机器人--我会修复它。我一定会做到的。如果我有任何问题,我将在这里写出来。我从心底里感谢你。

这完全取决于项目的要求和需要。这里还有一段OnInit()的代码,它根据EA的设置准备了所需的符号和图形。

   
   //--- подготавливаем рабочие графики
   // "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);   // Подложка основного графика с советником (здесь шаблон не нужен)

好吧,在这里你只能看看原则。也许会有帮助;)

 
Artyom Trishkin:

这完全取决于项目的要求和需要。这里还有一段OnInit()的代码,它根据EA的设置准备了所需的符号和图形。

好吧,在这里你只能看看原则。也许会有帮助;)

Artem - 在一个私人信息中。看。请注意。
 
Roman Shiredchenko:
Artem - 我已经亲自给你写了信。看看吧。请注意。
我会的,但我的收件箱里还没有新的信息。
 
Roman Shiredchenko:
Artem - 我已经亲自给你写了信。看看吧。请注意。

又看了看--什么都没有......。

我得在15分钟内离开。快点;)

 
Artyom Trishkin:

又看了看--什么都没有......。

我必须在15分钟内离开。快点;)

不能写--如何--我那里没有这个选项......

帮助....

 
Roman Shiredchenko:

我不能写如何--我那里没有这个选项......

帮助....

你点击我的名字--进入我的个人资料--在右上方有一个 "写留言 "按钮。

虽然......。我已经自己写了 -- 回答它。

 
Artyom Trishkin:

你点击我的名字--进入我的个人资料--在右上方有一个按钮,上面写着 "写留言"。

虽然...我已经自己写了 -- 回答它。

你得到了它。好吧。你得到了它。
 
Roman Shiredchenko:

我不能写如何--我那里没有这个选项......

帮助....

 
Vitalie Postolache:

哦,伙计...现在是该死的时候了。

是的,嗯...而我蠢到在私人信息中给他发了一条信息。

哦,好吧...它已经被写过、读过、吃过了。