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 97
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
Tipo, hora int ou data
Uma vez eu fiz uma função que emite mensagens para uma janela indicadora vazia. Você pode ajustar as cores das linhas apresentadas. Já está depurado. Se você precisar, eu posso compartilhá-lo.
Terei o maior prazer em ver seu código, Artem. Para testes de impressão, não é a opção mais conveniente...
r772ra:
O que é isso?
Tipo, hora int ou data
Eu reescrevi toda a bagunça e ela saiu assim:
Por alguma razão, mesmo quando as ordens são fechadas e o último tempo de fechamento da ordem não deve ser zero.
Nós o temos no comentário o tempo todo:
Время закрытия последнего открытого ордера = 0
É por isso que meu código não funciona mais, porque esta função não funciona.
Então eu reescrevi toda a bagunça e ela saiu assim:
Por alguma razão, mesmo quando as ordens são fechadas e o último tempo de fechamento da ordem deve ser correspondentemente não zero.
Eu pude obtê-lo em meu comentário o tempo todo:
É por isso que nada funciona de acordo com meu código, porque esta função não me deixa entrar.
Esta EA considera as ordens pendentes em seu código. Bem, ele examinará as ordens abertas em conformidade. Naturalmente, ele retornará a tempo zero de fechamento.
Se você quiser ver as ordens fechadas, você tem que visualizá-las na lista de ordens fechadas:
и
Mas... precisamos fazer duas funções - uma é procurar ordens abertas e a outra é procurar ordens fechadas.
Ele também leva em conta suas ordens pendentes. E, de acordo com isso, ele procura através das ordens abertas. Naturalmente, ele retornará a tempo zero de fechamento.
Para visualizar as ordens fechadas, é necessário visualizá-las na lista das fechadas:
и
Mas... temos que fazer duas funções - uma está procurando por pedidos abertos e a outra está procurando por pedidos fechados.
Obrigado, Artyom. Exatamente... O que se segue é uma questão de otimização do código. Há perguntas sobre a estrutura do código, mas ele terá que ser escrito em uma cabeça nova.
Terei o maior prazer em ver seu código, Artem. Para testar a impressão, não é a variante mais conveniente.
Aqui está um EA para testar a função. Ela contém a função em si e sua chamada. Antes de ligar, você tem que preparar uma mensagem, que pode ser de até quatro linhas. O comprimento de cada linha, se bem me lembro, não deve exceder 64 caracteres. É por isso que dividi uma mensagem em várias linhas. Cada linha de uma mensagem pode ser emitida em uma cor diferente. É um pouco claro no código - primeiro preparamos linhas de mensagem, depois chamamos a função. Não comentei muito lá - escrevi-o de uma só vez há muito tempo. Agora eu já esqueci para o que existe. Se eu tiver alguma dúvida, vou me lembrar, mas agora só me lembro das coisas necessárias.
E um peru:
É assim que é... Espero que você descubra.
É claro que você pode fazer um subpavimento em vez de enviá-lo para o gráfico principal, mas eu sou preguiçoso demais para fazê-lo... :)
Aqui está um EA para testar a função. Ela contém a função em si e sua chamada. Antes de ligar, você tem que preparar uma mensagem, que pode ser de até quatro linhas. O comprimento de cada linha, se bem me lembro, não deve exceder 64 caracteres. É por isso que dividi uma mensagem em várias linhas. Cada linha de uma mensagem pode ser emitida em uma cor diferente. É um pouco claro no código - primeiro preparamos linhas de mensagem, depois chamamos a função. Não comentei muito lá - escrevi-o de uma só vez há muito tempo. Agora eu já esqueci para o que existe. Se eu tiver alguma dúvida, vou me lembrar, mas agora só me lembro das coisas necessárias.
E um peru:
É assim que é... Espero que você descubra.
É claro que você pode fazer um subpavimento ao invés de produzi-lo no gráfico principal, mas sou preguiçoso demais para fazê-lo... :)
Boa gente! Eu escrevi um EA, tudo parece estar funcionando bem na vida real. Mas eu o verifico no testador - há falhas. A essência é a seguinte. O Consultor Especialista deve abrir ordens por linhas horizontais desenhadas na tabela. No testador, ele as abre em vários níveis o tempo todo, como se muitas linhas tivessem sido estabelecidas, embora não haja nenhuma! Você pode explicar o que está errado?
Uma parte do código responsável pelas linhas:
int New_gorizont()
{
int tip_o_buy;
int tip_o_sell;
int obj_total=ObjectsTotal();
// se não houver novas linhas, sair
if(obj_total==0)
retornar;
// if(obj_total=ObjectsTotal(), retornar; // se houver algum...
if(obj_total!=0)
string name=ObjectName(0);
double pr=NormalizeDouble(ObjectGet(name,1),Digits);
ObjectDelete(nome); // apagar e definir novamente
if(pr>Bid+(Stop_level+1)*Ponto) // determinar o tipo de pedido
{
tip_o_sell=OP_SELLLIMIT;
tip_o_buy=OP_BUYSTOP;
}
if(pr<Bid-(Stop_level+1)*Ponto)
{
tip_o_sell=OP_SELLSTOP;
tip_o_buy=OP_BUYLIMIT;
}
// estabelecer ordens
OrderSend(Symb,tip_o_sell,Value,pr,3,pr+StopLoss*Point,pr-TakeProfit*Point, "Order set");
Prov_oshibok();
................................
}
Em outras palavras, obj_total==0 e isso é tudo o que existe. Mas, por alguma razão, tudo se define e se coloca ao infinito.
Boa gente! Eu escrevi um EA, tudo parece estar funcionando bem na vida real, tudo é normal. Mas eu o verifico no testador e ele apresenta falhas.
Não acredito, este EA não pode funcionar nem no site real nem no testador.