[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 298
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
bool isCloseLastPosByTake(string sy="", int op=-1, int mn=-1) {
data/hora t;
duplo ocp, otp;
int dg, i, j=-1, k=OrdersHistoryTotal();
se (sy=="0") sy=Símbolo();
para (i=0; i<k; i++) {
se (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy ||| sy==") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
se (op<0 || OrderType()==op) {
se (mn<0 || OrderMagicNumber()==mn) {
se (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
// !!!!!!!!?????? ALGUÉM PODE EXPLICAR O SIGNIFICADO DAS LINHAS DE CÓDIGO QUE COMEÇAM NESTE LUGAR?
se (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {// Se a próxima ordem do histórico comercial for selecionada
dg=MarketInfo(sy, MODE_DIGITS);// a variável dg aceitará o valor dos dígitos pelo par de moedas cujo nome está na variável sy
// Talvez eu tenha colocado os parênteses errado, mas na verdade deveria ser assim
se (dg==0){// se os dígitos forem zero, então
if(StringFind(OrderSymbol(), "JPY")<0){// se um substrato for encontrado no nome do símbolo do pedido então (só que não está escrito corretamente - a função pode validar > 1)
dg=4;// os dígitos tomam valor = 4
}
senão{/// senão
dg=2;// os dígitos tomam valor = 2
}
}
ocp=NormalizeDouble(OrderClosePrice(), dg);// normalize o preço de fechamento do pedido
otp=NormalizeDouble(OrderTakeProfit(), dg);// normalize o preço TakeProfit do pedido
if (ocp==otp) return(True);
}
retornar(Falso);// comando para retornar(falso) da sub-rotina
}
obrigado, o que são os dígitos?
Os dígitos de um instrumento comercial - quantos dígitos após o ponto decimal que ele possui.
Significado de um instrumento comercial - quantos dígitos após o ponto decimal que ele possui.
Ou seja, se eu souber que os dígitos são 4, o código pode ser abreviado assim?
int dg = 4;
............ código
se (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
ocp=NormalizeDouble(OrderClosePrice(), dg);// normalize o preço de fechamento do pedidootp=NormalizeDouble(OrderTakeProfit(), dg);// normalize o preço TakeProfit
if (ocp===otp) return(True);
}
retorno(Falso);
}
Você pode me dizer se existe um indicador que calcula o número total de ordens abertas para todos os pares envolvidos no processo de negociação?
Pergunta para o chefe da CodeBase. Enviei 3 publicações para lá (mais 3 em inglês). Uma delas foi enviada em 18 de julho e ainda não foi publicada. No início, quando eu enviei os códigos para lá, eles apareceram dentro de 3-4 dias. Agora não está claro se novos serão publicados ou não. Eu gostaria de saber se, por exemplo, o material é fraco e na opinião do supervisor eles não devem empurrá-los para dentro do CodeBase, eu receberei alguma mensagem de que eles não aparecerão e então, por exemplo, eles serão removidos da aplicação? Se eu soubesse que não seriam publicados, prepararia a publicação de forma diferente, mais extensiva. Há algum tempo médio de espera para publicação?