[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 708

 

Qualquer discussão sobre corretores é proibida. Formular perguntas de tal forma que não envolvam VCs específicos. Por exemplo: "quais são as regras para escolher um corretor" e então vá e experimente se lhe convém ou não.

 

Você pode me dizer se é possível aparafusar um "suporte" de fundo sob o indicador?

Não consegui encontrá-lo na busca...

E mais uma coisa. Como eliminar corretamente todos os objetos criados pelo indicador? Basta listá-los?

 
Se o gráfico só contém objetos criados por este indicador, ObjectsDeleteAll() é suficiente, e se nem todos os objetos precisam ser apagados, ObjectDelete() no laço.
 
   for(int sd=100;sd>0;sd--)
   ObjectDelete("signal"+sd);
 for(int sd=0;sd<100;sd++)
 ObjectDelete("signal"+sd);
for(int sd=-1;sd<100;sd++)
ObjectDelete("signal"+sd);

Todos estes deixam "sinal00", "sinal01", "sinal02" etc., tudo acima de "sinal10" é morto... Onde eu sou estúpido?

 

Por que não simplesmente apagar todos os objetos com a máscara "sinal"? Ou há algum objeto com nomes semelhantes de outros acusadores?

Em geral, Print() é útil nestes casos para ver o que você está tentando apagar.

 
Mathemat:

Por que não simplesmente apagar todos os objetos com a máscara "sinal" (sem espaço)?

Em geral, Print() é útil nestes casos para ver o que você está tentando apagar.

Porque eu ainda não pensei nisso :)

Os objetos são criados "livros-texto".

   for(int x=0;x<9;x++)
      for(int y=0;y<3;y++)
      {
         ObjectCreate("signal"+x+y,OBJ_LABEL,0,0,0,0,0);
         ObjectSet("signal"+x+y,OBJPROP_XDISTANCE,x*40+12);
         ObjectSet("signal"+x+y,OBJPROP_YDISTANCE,y*20+20);
         ObjectSetText("signal"+x+y,CharToStr(254),20,"Wingdings",Gold);

      }

Então, apenas o conteúdo é alterado por carrapatos.

Vou tentar a impressão agora, ainda não está claro... O mt 01 não é um número?

 
Abzasc:

Todos estes deixam "sinal00", "sinal01", "sinal02" etc., tudo acima do "sinal10" é morto... Onde eu sou estúpido?



talvez o conselho fosse "fora da caixa", você tem que lutar pela singularidade... Mais uma vez, "out of the box"... Por exemplo, eu mesmo consigo a singularidade através de "data" + TF + "prefixo". talvez isto seja "muito pesado" em um caso particular, mas quando se "expande" ajuda muito.
 
Sim, estou surpreso de ver que a máscara de nome não pode ser inserida diretamente. Isto é inconveniente.
 
Abzasc:

Mais uma coisa. Como apagar corretamente todos os objetos criados pelo indicador? Basta listá-los?

void clear_object(string s) {
        for(int i=ObjectsTotal()-1; i>=0;i--) {
                string vName = ObjectName(i);
     if (StringFind(vName,s) !=-1) ObjectDelete(vName);
  }
}

apaga todos os objetos contendo cordas s - minha EA desenha setas chamadas "Seta" + tempo - apaga todas as setas clear_object("Seta");
 
DDFedor:

Talvez o conselho fosse "fora da caixa", devemos nos esforçar por ser únicos. Mais uma vez, "off-topic"... Eu mesmo, por exemplo, consigo atingir a singularidade através de "data" + TF + "prefixo". talvez esta seja uma opção "muito pesada" em um caso particular, mas quando se "expande", ajuda muito.


Sim, provavelmente é isso que vai acontecer. Aqui está uma idéia. O indicador cria uma tabela, e no meu caso o sinal já é um grupo único.