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

 

Olá a todos.

Vocês podem me ajudar a fazer uma condição ao abrir um pedido, então ele abrirá somente se a hora atual (exata ao minuto) não for igual à hora de fechamento do pedido anterior.

Aqui está a construção:

int accTotal=OrdensHistóriaTotal();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==verdadeiro) {

datetime ctm=OrderCloseTime();

}

...

e, em seguida, condição para abrir um pedido

if(.....&&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Mas é claro, não funciona porque o TimeCurrent() retorna o tempo com precisão de um segundo, e eu preciso de até um minuto porque eu negocio em barras minúsculas e em flutuações bruscas de mercado mesmo durante um minuto o preço pode ir centenas de pontos e isto muitas vezes não está na minha direção. É por isso que preciso apenas de um pedido para abrir em um minuto.

 
ev85:

Olá a todos.

Vocês podem me ajudar a fazer uma condição ao abrir um pedido, então ele abrirá somente se a hora atual (exata de um minuto) não for igual à hora de fechamento do pedido anterior.


É claro que não funciona porque o TimeCurrent() retorna o tempo com precisão de um segundo, e eu preciso de até um minuto. Como eu negocio com indicadores de minutos e com fortes flutuações de mercado, mesmo em um minuto o preço pode ir centenas de pontos e nem sempre vai na minha direção. É por isso que preciso apenas de um pedido para abrir em um minuto.

TimeHour(),TimeMinute().
 
ev85:

Olá a todos.

Vocês podem me ajudar a fazer uma condição ao abrir um pedido, então ele abrirá somente se a hora atual (exata ao minuto) não for igual à hora de fechamento do último pedido.

Aqui está a construção:

int accTotal=OrdensHistóriaTotal();

if(OrderSelect(accTotal-1,SELECT_BY_POS,MODE_HISTORY)==verdadeiro) {

datetime ctm=OrderCloseTime();

}

...

e, em seguida, condição para abrir um pedido

if(.....&&&(TimeCurrent()!=ctm)){

ticket=OrderSend(.....);

}

Mas é claro, não funciona porque o TimeCurrent() retorna o tempo com precisão de um segundo, e eu preciso de até um minuto porque eu negocio em barras minúsculas e em flutuações bruscas de mercado mesmo durante um minuto o preço pode ir centenas de pontos e isto muitas vezes não está na minha direção. É por isso que preciso apenas de um pedido para abrir em um minuto.

   datetime t=0;
   int  ticket;

   for(int i=0; i<OrdersHistoryTotal(); i++) 
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) 
        {
         if(OrderSymbol()==Symbol()) 
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              {
               if(t<OrderCloseTime()) t=OrderCloseTime();
              }
           }
        }
     }
   if(TimeCurrent()-t>60)   //Ecли после закрытия последней поз > 60 секунд, то открываемся
       ticket=OrderSend(.....);
Algo como isto
 
Como determinar a tendência na MQL4 de forma inteligente?
 
Cei Como determinar a tendência na MQL4?

Há muitas maneiras - procurar indicadores de tendência no CodeBase. Diferenciar uma média móvel, tomar um coeficiente de regressão linear, ... mas para meu gosto é melhor pegar as reversões

Eu cliquei no topo desta página Base de Código. Introduzi um indicador de tendência na caixa de busca. Como disse Mayakovskiy, todos esses indicadores são bons, mas não há diferença. Aqui está um link para um deles. Fiz mais algumas pesquisas e li: Um bom Conselheiro Especializado ... deve dar uma recomendação -"Não entrar no mercado".

 
Cei:
Como determinar a tendência na MQL4?

Esperar por uma inversão, declarar - houve uma tendência lá ))))

Não há outra maneira. A tendência é definida no passado, como ondas, como fractais, como ziguezagues.

 

Amigos, há alguma função para proibir o comércio?

Preciso dele para um pequeno ciclo:

para (desde que; sem comércio; até que todas as ordens atuais sejam fechadas)

 
ev85:

Amigos, há alguma função para proibir o comércio?

Preciso dele para um pequeno ciclo:

para (desde que; sem comércio; até que todas as ordens atuais sejam fechadas)

OrdensTotal()
 
A tarefa é a seguinte.

Preciso executar o indicador em todos os 9 prazos para 100 símbolos do Market Watch e emitir o resultado como uma tabela.
Preciso manter 900 gráficos abertos ou não, para que o histórico seja atualizado e atualizado?
 
RickD:
A tarefa é a seguinte.

Preciso executar o indicador em todos os 9 prazos para 100 símbolos do Market Watch e emitir o resultado como uma tabela.
Para que a história seja batida e relevante, devo manter 900 gráficos abertos ou não?

Não, 100 gráficos é suficiente, mas, você tem que escrever o indicador corretamente.