[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 478

 

Olá.

Você pode me ajudar a colocar uma expressão dll -ku, como:

datetime FT = TimeCurrent();
int      reb=12;

Agradecemos antecipadamente.

 
nemo811:

Olá.

Você pode me ajudar a colocar uma expressão dll -ku, como:

Agradecemos antecipadamente.

Retirado, eu o tenho.
 

Olá!

Alguém teve um problema desse tipo na MQL5? Às vezes (em cerca de uma instância em cem) minha EA não pode apagar uma ordem pendente até que eu mesmo apague manualmente todas as ordens pendentes. Neste caso, nenhum erro é simplesmente apagado. Ou talvez outra pessoa os remova? Se alguém estiver disposto a ajudar, se necessário, eu lhe enviarei login e senha e número de conta com "pedidos capturados". Agradecemos antecipadamente.

nulo OnTick()
{
Pedido MqlTradeRequest;
Resultado MqlTradeResultado;
MqlTradeCheckResultado de verificaçãoResultado de verificação;
//------ eliminar pedido ------
request.action=TRADE_ACTION_REMOVE;
//request.order=OrderGetTicket(0);
request.order=8273050; // especificar explicitamente que não se apague tudo
if(OrderCheck(solicitação,checkResultado))
{
Alerta(pedido.ordem);
Alerta(solicitação.ação);
OrderSend(solicitação,resultado);
}
senão
{
Alert("Error: ",checkResult.retcode);
}
}

 
Andreyu:

Olá!

Alguém teve um problema desse tipo na MQL5? Às vezes (em cerca de um caso em cem) a EA não pode apagar uma ordem pendente até que eu mesmo apague manualmente todas as ordens pendentes. Neste caso, nenhum erro é simplesmente apagado. Ou talvez outra pessoa os remova? Se alguém estiver disposto a ajudar, se necessário, eu lhe enviarei login e senha e número de conta com "pedidos capturados". Obrigado de antemão.

Você tem o fórum errado.
 
Reshetov:
Seu principal problema é que o iBars não carrega preços, mas o número de barras conhecidas para um determinado período. E, como acabei de verificar, ele o faz muito corretamente tanto no testador como no gráfico.

não faz download, mas devolve os que já foram baixados.

Receio que você não tenha lido minha pergunta com atenção ou eu tenha entendido mal.

Você pode me dar o código que você usou para verificar sua declaração?

 
palladin:

De qualquer forma, eis a questão,

Tenho um indicador multiperíodo.

A fim de otimizar os cálculos, utilizo o seguinte laço



// TimeFrames[i] массив с периодами

for (i=0; i<NumTimeFrames; i++)

{
if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{

// тут вычисления индиктора

total_bars[i] = iBars(instrument, TimeFrames[i]);
}

}



O principal problema é que o iBars não carrega preços de períodos que não sejam os atuais...

todos os truques da MQL como IndicatorCounted e RefreshRates

somente trabalho para o período atual, ou seja, iBars tira do histórico e o histórico só é carregado alterando o período no gráfico. O que fazer? A MQL tem alguma ferramenta para carregamento de barras de outros períodos (diferente da atual) em segundo plano?


p.s. espero não estar divagando ((

Como você responde sem saber que os NumTimeFrames TimeFrames[i] estão vazios ou o quê?

Escreva mais completamente, como, ou melhor, o que ler se não houver nada. Dê o código completo, caso contrário, você provavelmente "roerá o granito da ciência",,,,)) se(true)continuar; caso contrário, retornará("Sleep("+7*1000*60*60+")"));

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TimeFrames[]={0,1,5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument="EURUSD";
for(i=0; i<NumTimeFrames; i++)
  {
   if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {
       total_bars[i]=iBars(instrument,TimeFrames[i]);
     }
  }
 
Oi, o problema é o seguinte exemplo às 00.00 GMT colocar as ordens pendentes e às 10.00 gmt, por exemplo, precisar remover essas ordens se elas não abriram. ou se uma abriu, deve ser deixada e o resto deve ser removido? a questão é como saber se a ordem acionou ou não?
 
Você pode me dizer se há alguma maneira de fazer as ordensHistoryTotal() igual a zero? É necessário reinstalar o MT4? Porque se eu apenas abrir um novo gráfico, isso não ajuda
 
CLAIN:
Você pode me dizer se há alguma maneira de fazer as ordensHistoryTotal() igual a zero? É necessário reinstalar o MT4? Porque se eu apenas abrir um novo gráfico, isso não ajuda

Para isso você tem que abrir uma nova conta
 
frixer:
Olá, o problema é o seguinte exemplo às 00.00 GMT, quando são feitas encomendas pendentes e às 10.00 gmt, por exemplo, estas encomendas devem ser removidas se não tiverem aberto. Ou se uma tiver aberto, deve ser deixada e o resto deve ser removido? A questão é como saber se a encomenda funcionou ou não?

Você faz um pedido pendente, lembre-se do bilhete. Se não houver nenhuma ordem pendente, mas houver uma ordem de mercado do tipo em que a ordem pendente é convertida e seus ingressos coincidem, então a ordem pendente foi acionada.

Por exemplo: você coloca uma posição BuyStop. A função retorna o bilhete da ordem definida - você o salva em uma variável ou em uma matriz.

Suponha que tenha bilhete 1.

Você verifica se há um pedido de BuyStop pendente. Se não for encontrado, então você verifica se existe uma posição de compra. Em caso afirmativo, compare o bilhete anotado com a posição Comprar. Se coincidirem, isso significa que a BuyStop pendente é transformada em BuyStop de mercado.