Pergunta de objectget e objectget valuebyshift - página 3

 
Rajakumar1:

Muito obrigado por sua ajuda. Alguma área onde procurar primeiro? O Meta editor mostra apenas avisos. Sem erros.


Bem, se o indicador estiver funcionando / desenhando as linhas de tendência como você espera, concentre-se na EA.

Se as declarações impressas não estiverem aparecendo, os objetos não existem. Você tem o indicador adicionado ao gráfico ao mesmo tempo em que executa o EA?

Se você não consegue ver as linhas no gráfico, o EA não vai funcionar.

 
honest_knave:


Bem, se o indicador estiver funcionando / desenhando as linhas de tendência como você espera, concentre-se na EA.

Se as declarações impressas não estiverem aparecendo, os objetos não existem. Você tem o indicador adicionado ao gráfico ao mesmo tempo em que executa o EA?

Se você não conseguir ver as linhas no gráfico, o EA não vai funcionar.

Obrigado. O indicador está funcionando bem. Estou me perguntando por que os objetos não são visíveis para a EA. A lista de objetos do gráfico mostra todas as linhas de tendência.
 
Rajakumar1:
Obrigado. O indicador está funcionando bem. Estou me perguntando por que os objetos não são visíveis para a EA. A lista de objetos do gráfico mostra todas as linhas de tendência.


Tente substituir tudo isso:

   int obj_total = ObjectsTotal();
   string name;
   for(int j = 0; j<obj_total; j++)
   {
   name = ObjectName(j);
   Print(j, "Object - ", name);
   
      if(ObjectType(name) == OBJ_TREND && name == "Trendline1-m30")
      {
       price1 = ObjectGetValueByShift(name, 0);
       Print("price1:  ", price1);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline2-m30")
      {
       price2 = ObjectGetValueByShift(name, 0);
       Print("price2:  ", price2);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline3-m30")
      {
       price3 = ObjectGetValueByShift(name, 0);
       Print("price3:  ", price3);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline4-m30")
      {
       price4 = ObjectGetValueByShift(name, 0);
       Print("price4:  ", price4);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline5-m30")
      {
       price5 = ObjectGetValueByShift(name, 0);
       Print("price5:  ", price5);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline6-m30")
      {
      price6 = ObjectGetValueByShift(name, 0);
      Print("price6:  ", price6);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline7-m30")
      {
       price7 = ObjectGetValueByShift(name, 0);
       Print("price7:  ", price7);
      }

      if(ObjectType(name) == OBJ_TREND && name == "Trendline8-m30")
      {
       price8 = ObjectGetValueByShift(name, 0);
       Print("price8:  ", price8);
      }
     }

Com isto:

   string name = "Trendline1-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price1 = ObjectGetValueByShift(name, 0);

   name = "Trendline2-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price2 = ObjectGetValueByShift(name, 0);

   name = "Trendline3-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price3 = ObjectGetValueByShift(name, 0);

   name = "Trendline4-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price4 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline5-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price5 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline6-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price6 = ObjectGetValueByShift(name, 0);   

   name = "Trendline7-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price7 = ObjectGetValueByShift(name, 0);
   
   name = "Trendline8-m30";
   if(ObjectFind(0,name)<0) Print("Error: cannot find ", name);
   else price8 = ObjectGetValueByShift(name, 0);
 
honest_knave:


Tente substituir tudo isso:

Com isto:

Obrigado. A função de impressão não é imprimir o preço. A lista de objetos do gráfico mostra todas as linhas de tendência e também estão no gráfico. Eu adicionei "Imprimir("preço1: ", preço1);" após a primeira linha de tendência.
 
Rajakumar1:
Obrigado. A função de impressão não é imprimir o preço. A lista de objetos do gráfico mostra todas as linhas de tendência e também estão no gráfico. Eu adicionei "Imprimir("preço1: ", preço1);" após a primeira linha de tendência.


Sim, o código que eu forneci só imprime se houver um problema.

Você vê alguma mensagem no Diário de Peritos?

por exemplo, "Erro: não consegue encontrar Trendline1-m30"?

 
Rajakumar1:
Muito obrigado. A função de impressão não é imprimir o preço. A lista de objetos do gráfico mostra todas as linhas de tendência e também estão no gráfico. Eu adicionei "Imprimir("preço1: ", preço1);" após a primeira linha de tendência.

Muito obrigado. Funciona agora. O problema é com o comércio de automóveis deficientes.

 
Rajakumar1:

Muito obrigado. Funciona agora. O problema é com o comércio de automóveis deficientes.


 
honest_knave:


Sim, o código que forneci só é impresso se houver algum problema.

Você vê alguma mensagem no Diário de Peritos?

por exemplo, "Erro: não consegue encontrar Trendline1-m30"?

Muito obrigado. Funciona agora. O problema é com o comércio de automóveis deficientes.
 
Rajakumar1: Funciona agora. O problema é com o comércio de automóveis deficientes.
  1. O problema sobre o qual você perguntou não tem nada a ver com o comércio automático desativado.
  2. Verifique seus códigos de retorno (OrderSend) e descubra por quê.O que são valores de retorno funcional ? Como eu os utilizo ? -Fórum MQL4 e Erros Comuns nos Programas MQL4 e Como Evitá-los - Artigos MQL4
 
Olá pessoal, eu gostaria de chamar o indicador por duplo iCustom(Symbol(), 0, jebatfx-breakout-trendline, Price_close, 0, 1);

Para obter a linha de tendência alta e a linha de tendência baixa na minha ea.

Quando o preço o quebra, é preciso uma troca.

Eu já recebi minha linha de tendência, mas não consigo obter a linha de tendência alta e a linha de tendência baixa.


Você acha que eu usaria ObjectGetValueByShift() para defini-la? Obrigado.
Razão: