Erros, bugs, perguntas - página 1165

 

Olá. Precisa de alguma ajuda. Alguém pode sugerir como reduzir o tamanho da letra no gráfico de teste de estratégia para que este não cubra o gráfico e caiba inteiramente no gráfico, como na figura abaixo (opção 2):

 
Akromix:

Olá. Precisa de alguma ajuda. Alguém pode sugerir como reduzir o tamanho da letra no gráfico de teste de estratégia para que este não cubra o gráfico e se ajuste a todo o gráfico, como na figura abaixo (opção 2):

Tente seleccionar o tamanho da fonte padrão do sistema nas definições do Windows, ou mesmo reduzi-lo.
 
marketeer:
Tente seleccionar o tamanho da fonte padrão do sistema nas definições do Windows, ou mesmo reduzi-lo.
Esta alteração apenas reduz a fonte com o nome da janela terminal, mas a fonte não é reduzida no gráfico do testador.
 
barabashkakvn:

Ao cometer alterações no armazenamento MQL5, ocorreu o erro 170004. Esta é a segunda vez que vejo isto.

Acho que preciso de me actualizar antes de me comprometer.
 
TheXpert:
Bem, aparentemente tem de se actualizar antes de se comprometer.
Isto é uma receita? Será que ajuda? Acabou de ser actualizado do armazenamento pela manhã, depois trabalhou durante meio dia e aqui está o erro#170004 ao comprometer-se.
 
barabashkakvn:
Isto é uma receita? Será que este tipo de coisa ajuda? Acabou de ser actualizado do repositório pela manhã, depois trabalhou durante meio dia e aqui a corrigir esse erro#170004.
Bem, se diz que o repositório não está actualizado, então é lógico tentar actualizá-lo.
 
TheXpert:
Bem, se diz que o repositório está desactualizado, então é lógico tentar actualizá-lo.
Parece que outro computador actualizou o meu repositório enquanto eu estava a trabalhar. É claro que tentei actualizar após a ocorrência do erro. Não ajudou.
 

Mais uma pergunta:

Procura de um GV existente do terminal pelo nome. Através dele, a identificação do gráfico em que a EA está a decorrer é passada para o indicador. O indicador pende sobre outro símbolo. Isto é, quero passar ao indicador a identificação do gráfico em que o Consultor Especialista está a correr. Procuro-o desta forma:

   for(int i=0; i<GlobalVariablesTotal(); i++) {
      string gv_name=GlobalVariableName(i);
      if(StringFind(gv_name,"Multick")<0) continue;
      if(StringFind(gv_name,"chart_id")>0) {
         Print("Нашли такую переменную: "+gv_name);
         string xxx=IntegerToString(long(GlobalVariableGet(gv_name)));
         Print("Значение в ней = "+xxx);
         }
      }
   //2014.07.05 01:54:06.111    ChartsAgent NZDUSD,H1: ID главного = 130392553686025168
   //                                                а истинный ID = 130392553686025170

Isto é o que o terminal me diz:


Tentei ler a variável. Coloquei-o directamente no fio e coloquei-o no diário, bem como em variáveis de diferentes tipos - tudo o mesmo. São duas coisas diferentes.

O que é que está errado?

 
artmedia70:

Mais como uma pergunta:

O que é que está errado?

Também gostaria de ver o código que escreve para a variável (especialmente quando e com que frequência acontece).
 
marketeer:
Também gostaria de ver o código que escreve para a variável (especialmente quando e com que frequência acontece).

Simples. No OnInit()

   symbol=Symbol();
   tf=Period();
   other.initNames(symbol,tf,Prefix,Magic);  // Создаём префикс и магик

// -------------------------------------------------------------

//----------------------------
   string gv_chart_id_name=Prefix+"_chart_id";
   long chart_id=get.GetChartID(symbol);
   if(chart_id>=0) GlobalVariableSet(gv_chart_id_name,chart_id); // chart_id==0 в тестере
   else graph.Message("Чё-та нету chart_id : Symbol()="+symbol+", chart_id="+IntegerToString(chart_id));
//----------------------------

// -------------------------------------------------------------

//+------------------------------------------------------------------+
   void COtherClass::initNames(string sy, int timeframe, string &prefix, int &mn) {
      string postf="_r", nm=WindowExpertName();
      if(IsDemo()) postf="_d";
      if(IsTesting()) postf="_t";
      if(IsVisualMode()) postf="_v";
      if(IsOptimization()) postf="_o";
      prefix=nm+"_"+sy+"-"+get.GetNameTF(timeframe)+postf;  
      mn=GetMagic(nm+sy,Period()); 
      }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   long CGetDataClass::GetChartID(string sy) {
      long id=-1, currChart,prevChart=ChartFirst();
      int i=0,limit=300;
      if(ChartSymbol(prevChart)==sy) id=prevChart;
      else {
         while(i<limit) {
            currChart=ChartNext(prevChart); 
            if(currChart<0) break;          
            if(ChartSymbol(currChart)==sy) {
               id=currChart;
               break;
               }
            prevChart=currChart;
            i++;
            }
         }
      return(id);
   }
//+------------------------------------------------------------------+

Algo parecido com isto ...