[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 336

 
Elenn:
.... A questão é como organizar arrays? Se declararmos todos os arrays em nível global, será necessário muito espaço na memória. Além disso, este EA será instalado em cada um dos 12 pares, portanto será um desperdício muito improdutivo de memória. Se ao menos fosse possível apagar as matrizes depois que elas não são mais necessárias, mas como fazê-lo, especialmente a partir do nível global?


Se você tiver o código fonte, você pode fundir as três funções em uma só, e declarar arrays nele.

Depois de sair desta função, a memória será liberada automaticamente.

 

Não consigo entender porque o código não funciona corretamente no 4.

A tarefa é fechar todas as posições em uma determinada hora do dia e apagar os pedidos pendentes feitos pela EA. O problema é que a cada segundo pedido não é tocado. Não há um padrão. Eu não consigo entender o que está errado. Por favor, diga-me, o que estou fazendo de errado? Obrigado antecipadamente pela resposta!

   if (!ClosedByTime)
      if (CurrentHour==CloseTradesTime-1 && TimeMinute(TimeCurrent())>55)
            {
            ClosedByTime=true;
            for (n=0;n<=OrdersTotal()-1;n++)
               {
               OrderSelect(n,SELECT_BY_POS);
               if (OrderMagicNumber()==Magic)
                  { 
                  if (OrderType()==0 || OrderType()==1){
                     if (OrderType()==0)
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),1);
                        Alert("BUY position has been closed due to tradetime timeout!");
                        }
                       else
                        {
                        OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),1);
                        Alert("SELL position has been closed due to tradetime timeout!");
                        }}
                     else {OrderDelete(OrderTicket());Alert("Pending order (type "+OrderType()+") has been canceled due to tradetime timeout!");}
                  }
               
               }
            }

P.S. Por favor, não responda com um "você é um mentiroso de merda..." :)

 
for(n=OrdersTotal()-1;n>=0;n--)
 

Olá a todos, como posso gerenciar as propriedades da janela a partir de um indicador, estou interessado em parâmetros marcados com setas, que funções usar para isso?

 
sanches83:

Desculpe ser tão insistente, só queria saber se realmente não é real ou se é apenas um tópico perdido.
Eu não o usei, mas há um arquivo "DDE-Sample.xls" incluído com o terminal, você só precisa habilitar o servidor no terminal. Experimente, talvez funcione. Ou talvez a tarefa seja formulada de forma diferente. Ou talvez a tarefa seja formulada de maneira diferente? Através de API? Experiência com DDE.
 
FAQ:

Ahhhhhhhhhhhhh vou cair da minha cadeira agora... Eu não deveria ter sido tão estúpido). Você deve trabalhar menos à noite...

Obrigado.

 
Se seu Expert Advisor é muito intensivo em código... A velocidade de processamento do código - a velocidade de tomada de decisões depende do desempenho do computador ou mesmo apesar de um computador muito potente, a velocidade de processamento será limitada pelo "limite de velocidade da linguagem MKL4" (não sei como dizê-lo corretamente)
 

Aqui está o código

int handle=FileOpen("1all.txt",FILE_WRITE|FILE_CSV,"\t");
  if(handle<0) {Print("FAQ"); return(0);}

  FileWrite(handle,"OrderTicket","OrderOpenPrice","OrderOpenTime","OrderSymbol","OrderLots");
  int total=OrdersHistoryTotal();

  for(int pos=0;pos<total;pos++)
    {
     if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==false) continue;
     FileWrite(handle,OrderTicket(),OrderOpenPrice(),OrderOpenTime(),OrderSymbol(),OrderLots());
    }
  FileClose(handle);
  Print("done");

Não dá um erro. Parece escrever tudo, mas não sei onde economiza. Procurei o arquivo 1all.txt em meu computador, mas não consegui encontrá-lo. Para onde vai?

 
Shniperson:
Se seu Expert Advisor é muito intensivo em código... A velocidade de processamento do código - a velocidade de tomada de decisões depende do desempenho do computador ou mesmo apesar de um computador muito potente, a velocidade de processamento será limitada pelo "limite de velocidade da linguagem MKL4" (não sei como dizê-lo corretamente)

Não há problemas particulares para o código ideal. Uma curva pode ter 10 linhas de comprimento e pendurar o sistema.
 
Alp:

Aqui está o código

Não dá um erro. Parece escrever tudo, mas não sei onde economiza. Procurei o arquivo 1all.txt em meu computador, mas não consegui encontrá-lo. Para onde vai?


Qual sistema operacional? Em que unidade está o terminal?

Por padrão.

\arquivos de especialistas

\arquivos de teste