Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 370

 
Vitalii Ananev:

Aqui está um pedaço de código onde esta função é utilizada. Neste exemplo, os símbolos definidos pelo utilizador estão incluídos na janela "Market Watch" (conjunto de Símbolos), se tal símbolo não existir, é exibida a mensagem correspondente. Não seja preguiçoso para ler a ajuda para esta função, ela está claramente escrita ali.

P.S.

Para que o Expert Advisor (indicador) funcione correctamente com quaisquer símbolos, estes devem ser activados na janela "Market Watch", esta função é apenas para este fim.

Aha, já o tenho. Vou corrigi-lo para o meu robô. Eu fá-lo-ei. Se tiver alguma pergunta, escrevo-a aqui. Obrigado do fundo do meu coração.
 
Roman Shiredchenko:
Aha, já percebi. para o robô - Vou corrigi-lo. Eu fá-lo-ei. Se eu tiver alguma dúvida, escrevo-a aqui. Obrigado do fundo do meu coração.

Tudo depende dos requisitos e necessidades do programa. Aqui está também uma peça de código no OnInit(), que prepara os símbolos e gráficos necessários, dependendo das configurações da 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);   // Подложка основного графика с советником (здесь шаблон не нужен)

Bem, aqui só se pode olhar para o princípio. Talvez ajude ;)

 
Artyom Trishkin:

Tudo depende dos requisitos e necessidades do programa. Aqui está também uma peça de código no OnInit(), que prepara os símbolos e gráficos necessários, dependendo das configurações da EA.

Bem, aqui só se pode olhar para o princípio. Talvez ajude ;)

Artem - numa mensagem privada. Veja. Plz.
 
Roman Shiredchenko:
Artem - Escrevi-lhe pessoalmente. Veja isto. Plz.
Irei, mas ainda não há mensagens novas na minha caixa de entrada
 
Roman Shiredchenko:
Artem - Escrevi-lhe pessoalmente. Veja isto. Plz.

Olhado de novo - nada...

Tenho de partir dentro de 15 minutos. Apresse-se ;)

 
Artyom Trishkin:

Olhado de novo - nada...

Tenho de partir dentro de 15 minutos. Apresse-se ;)

não posso escrever - como - não tenho essa opção...

ajuda....

 
Roman Shiredchenko:

Não posso escrever como - não tenho essa opção aí...

ajuda....

Clica no meu nome -- vai ao meu perfil -- há um botão "Escrever uma mensagem" no canto superior direito.

Embora ... Eu próprio já o escrevi -- responda-lhe.

 
Artyom Trishkin:

Clica no meu nome -- vai ao meu perfil -- há um botão no canto superior direito que diz "Escrever uma mensagem".

Embora... Eu próprio já o escrevi -- responda-lhe.

Conseguiu-o. OKAY. Conseguiu-o.
 
Roman Shiredchenko:

Não posso escrever como - não tenho essa opção aí...

ajuda....

 
Vitalie Postolache:

Oh meu... Já não era sem tempo.

Sim, bem... e eu fui suficientemente burro para lhe enviar uma mensagem numa mensagem privada.

Oh, bem... Já foi escrito, lido, e comido.