[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 648
Ainda não funciona... Você pode me dar mais alguns detalhes para os burros? Vamos ver... O que devo colocar em frente ao meu código? Que variáveis? Eu não posso chamar a função... Você escreveu várias maneiras de resolver este problema ou é apenas uma maneira? Sou um idiota por isto...
Esta variante não funcionará corretamente, porque NewBar só dá verdade no primeiro tique da barra. Para um trabalho correto é necessário colocar linhas FunNewBar(); se(!NewBar) retornar; dentro das condições de abertura comercial, e após a abertura bem sucedida.
alsu: Esta variante não funcionará corretamente, porque NewBar só dá verdade no primeiro tique da barra. Para funcionar corretamente, devemos colocar a FunNewBar(); if(!NewBar) return; linha dentro da condição de abertura comercial, e após a abertura bem sucedida
Embora, não será muito correto desta forma também. Em resumo, a variante do r772ra deve ser corrigida e, melhor, devemos usar uma abordagem fundamentalmente diferente, por exemplo, observar a hora da última ordem aberta na história e compará-la com a hora da barra atual - será muito mais confiável.
alsu: Embora não seja muito correto. Em resumo, a variante do r772ra deve ser corrigida, e melhor usar uma abordagem fundamentalmente diferente, por exemplo, para observar a hora de abertura da última ordem na história e compará-la com a hora da barra atual - será muito mais confiável
É mais ou menos assim.
int BarOfLastOrder(int magic)
{
int i,ot=OrdersTotal();
for(i=ot-1; i>=0; i--);
{
OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==magic) return(iBarShift(0,0,OrderOpenTime()));
}
return(-1);
}
int start()
{
........
int bar_of_last_order = BarOfLastOrder(magic); // указать магик, который использует советник
switch(bar_of_last_order)
{
case0:
//последний ордер открыт на текущем баре
...
break;
case -1:
//ордеров нет// здесь break не ставим, если ситуация "нет ордеров" и "последний ордер открыт не на текущем баре" нужно обрабатывать одинаково// в противном случае написать обработку и break;default:
//последний ордер открыт не на текущем баре
...
break;
}
.........
}
Muito obrigado a todos vocês por toda sua ajuda! Os códigos que ainda não usei - copiei-os para o bloco de notas! Eu os analisarei quando eu tiver tempo! Obrigado mais uma vez e mais uma e mais vezes Amigos!
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Você pode fazer isso.....
Esta variante não funcionará corretamente, porque NewBar só dá verdade no primeiro tique da barra. Para funcionar corretamente, devemos colocar a FunNewBar(); if(!NewBar) return; linha dentro da condição de abertura comercial, e após a abertura bem sucedida
Embora não seja muito correto. Em resumo, a variante do r772ra deve ser corrigida, e melhor usar uma abordagem fundamentalmente diferente, por exemplo, para observar a hora de abertura da última ordem na história e compará-la com a hora da barra atual - será muito mais confiável
É mais ou menos assim.
Obrigado! Vou tentar...
ajustou o código
Viva!!! Consegui passar
{
data/hora estática New_Time=0;
New_Bar=false;
if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
}
}
Muito obrigado!!!! Funcionará se eu colocar o sinal na primeira barra de menos a partir do aberto?