Obrigado, o link ali, indica uma solução de software para o problema e eu não sei o que fazer. O que isso tem a ver e como eu resolvo esse problema? Por que a EA trabalhou bem durante um mês, e agora está com problemas? Se o erro estava no código? Acontece que esta linha não é para novatos se ela me sobrecarrega com respostas a perguntas. Eu estou frustrado.
Tempo de fechamento da penúltima barra = Tempo[1], se eu entendi corretamente.
Como posso saber se são 9:00 da manhã do dia atual (no H1, por exemplo) ?
int h=TimeHour(Time[0]);
if(h==9)-->...
NOTA:
data/hora[] hora
Tempo do conjunto contendo o tempo de abertura de cada barra do gráfico atual. Os dados do tipo data/hora representam a hora em segundos a partir de 00:00 de 1º de janeiro de 1970.
Eu estive em algum lugar - não consigo encontrá-lo, você poderia me dizer onde procurar códigos devolvidos por comando return() ao terminal a partir de funções: int(), deint(); start()? O que todas elas significam? A propósito, seria bom destacar esta questão no "Forum Navigator" (tenho me deparado repetidamente com perguntas de usuários sobre estes códigos de retorno)
drknn: Não consigo encontrá-lo em algum lugar, você poderia me dizer onde encontrar códigos devolvidos pelo comando return() ao terminal de: funções int(), deint(); start()? E o que todos eles significam. A propósito, seria bom destacar esta questão no "Forum Navigator" (tenho me deparado repetidamente com perguntas de usuários sobre estes códigos de retorno).
O que você especificar retornará, dependendo do tipo de função do sistema que você especificar. A chamada ao sistema retornará zero.
Explique pelo menos o significado aproximado deste trecho de código:
Este é um contador de pedidos. Bem, pode ser, por exemplo, que você queira saber no código se há ordens de compra em um determinado par de moedas e com um certo número magnético, por exemplo. Se houver, por exemplo, outra ordem de compra não pode ser aberta. Portanto, o contador de pedidos é necessário para tomar uma decisão.
Zhunko: Ele retornará o que você indicar, dependendo do tipo de função do sistema que você especificou. A chamada ao sistema retornará zero.
Ok. Int start() é declarado. Eu sempre retornei zero. Vi tanto o retorno(-1) como até mesmo o retorno(-2) no código. Qual é a maneira correta de escolher este código?
P.S.
E outra pergunta natural, é possível declarar o início() de um EA/indicador/script não do tipo int() mas de qualquer outro e depois o que retornar ao terminal? Em outras palavras, o que o terminal faz com o valor retornado por retorno()?
yosuf: Obrigado, lá no link, há uma solução de software para o problema, e não sei o que fazer. O que isso tem a ver e como eu resolvo esse problema? Por que a EA trabalhou bem durante um mês, e agora está com problemas? Se o erro estava no código? Acontece que esta linha não é para novatos se ela me sobrecarrega com respostas a perguntas. Eu estou frustrado.
Escrevi tal coisa no meu EA logo após o início:
//--- Section A: start - checking.if (!IsExpertEnabled())
{Comment("Expert is NOT working. Check the reason."); return(0);}
if (!IsConnected())
{Comment("No connection!"); return(0);}
if (IsTradeContextBusy())
{Comment("Trade flow is busy. Wait..."); Sleep(5*1000); return(0);}
if (AccountFreeMargin()<1000*Lot_super)
{Comment("No money to trade. Free Margin = ",AccountFreeMargin()); Sleep(20*1000); return(0);}
//--- Section A: end - checking.
Experimente, talvez algumas delas sejam úteis para você também.
Boa tarde.
Não consigo encontrar como pedir um indicador ou consultor em Job(https://www.mql5.com/ru/job), eu financiei minha conta.
Por favor, envie-me o link.
https://www.mql5.com/ru/forum/100321
PS. Yusuf, a busca no fórum funciona.
Tempo de fechamento da penúltima barra = Tempo[1], se eu entendi corretamente.
Como sei que são 9:00 da manhã no dia atual (no H1, por exemplo) ?
Explique pelo menos o significado aproximado deste trecho de código:
int CalculateCurrentOrders(símbolo de corda)
{
int compra=0,vende=0;
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) compra++;
if(OrderType()==OP_SELL) vende++;
}
}
//---- volume de pedidos de devolução
if(compra>0) return(compra);
senão devolve(-sells);
}
Tempo de fechamento da penúltima barra = Tempo[1], se eu entendi corretamente.
Como posso saber se são 9:00 da manhã do dia atual (no H1, por exemplo) ?
Não consigo encontrá-lo em algum lugar, você poderia me dizer onde encontrar códigos devolvidos pelo comando return() ao terminal de: funções int(), deint(); start()? E o que todos eles significam. A propósito, seria bom destacar esta questão no "Forum Navigator" (tenho me deparado repetidamente com perguntas de usuários sobre estes códigos de retorno).
Explique pelo menos o significado aproximado deste trecho de código:
Ele retornará o que você indicar, dependendo do tipo de função do sistema que você especificou. A chamada ao sistema retornará zero.
Ok. Int start() é declarado. Eu sempre retornei zero. Vi tanto o retorno(-1) como até mesmo o retorno(-2) no código. Qual é a maneira correta de escolher este código?
P.S.
E outra pergunta natural, é possível declarar o início() de um EA/indicador/script não do tipo int() mas de qualquer outro e depois o que retornar ao terminal? Em outras palavras, o que o terminal faz com o valor retornado por retorno()?
Obrigado, lá no link, há uma solução de software para o problema, e não sei o que fazer. O que isso tem a ver e como eu resolvo esse problema? Por que a EA trabalhou bem durante um mês, e agora está com problemas? Se o erro estava no código? Acontece que esta linha não é para novatos se ela me sobrecarrega com respostas a perguntas. Eu estou frustrado.
Escrevi tal coisa no meu EA logo após o início:
Experimente, talvez algumas delas sejam úteis para você também.