[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 94

 
ScioMe:
Obrigado, você pode fazer isto: Fechar[3]?
Sim, você pode.
 
artmedia70:

Caros membros do fórum, tenho um problema em testar um EA. A fim de restaurar seu trabalho, é necessário apagar os dados históricos na pasta do histórico no diretório do terminal e, em seguida, recarregar os dados históricos. Por favor, informe como entrar no diretório do terminal, não o encontrei no manual, tentei todos os ícones e não consegui encontrar uma maneira de entrar neste diretório. Agradecemos antecipadamente.


 
boris.45:

Boris, qual é o problema?
 
artmedia70:
Criar bandeiras, por exemplo

Para TP1 - bool TP1, para TP2 - bool TP2, etc...

Inicialmente seus valores são falsos.

Antes do próximo fechamento, você faz uma verificação:

se (!TP1) {código para fechamento parcial da primeira parte, após fechamento bem sucedido escreva TP1=verdadeiro}

se (!TP2) {código para fechar parcialmente a segunda parte, após um fechamento bem sucedido escreva TP2=verdadeiro}

... e assim por diante para todas as partes...

Desta forma, as bandeiras sinalizarão que cada parte foi fechada uma vez.


Respeito! Vou tentar implementar...

 
coronel:
Obrigado por sua atenção. Testado o EA durante uma quinzena, tudo estava indo bem. Então, de repente, o testador caiu. Durante a otimização, apareceu uma mesa "esperando para refrescar". Eu olho para o registro, mas há apenas duas linhas: a primeira me informa sobre o carregamento bem-sucedido da EA e a segunda me informa sobre a ausência de dados históricos. Obviamente, ocorreu algum tipo de falha. Tentei reiniciar os dados históricos usando a tecla F2, mas o reset falhou. Tentei recarregar a plataforma MT4, mas o funcionamento do equipamento de teste não foi restaurado. Entrei em contato com os programadores da Alpari para obter suporte técnico. Obtive a resposta: Apague todo o histórico da pasta de histórico, que está localizada no diretório do terminal, e após isso recarregue os dados históricos. Não consigo acessar o diretório de terminais, não sei como fazer isso. Não quero recorrer aos programadores da Alpari porque eles trabalham através de intermediários e este é um longo processo. Se você souber como entrar no diretório do terminal e apagar os dados históricos, por favor, ajude.
 
boris.45:
Obrigado por seu interesse. Eu estava testando o Expert Advisor por uma quinzena, tudo correu bem. Então, de repente, o testador caiu. Durante a otimização, uma mensagem de "esperar por atualizações" apareceu. Eu olho para o registro, e há apenas duas linhas: a primeira me informa sobre o carregamento bem-sucedido da EA e a segunda me informa sobre a ausência de dados históricos. Obviamente, ocorreu algum tipo de falha. Tentei reiniciar os dados históricos usando a tecla F2, mas o reset falhou. Tentei recarregar a plataforma MT4, mas o funcionamento do equipamento de teste não foi restaurado. Entrei em contato com os programadores da Alpari para obter suporte técnico. Obtive a resposta: Apague todo o histórico da pasta de histórico, que está localizada no diretório do terminal, e após isso recarregue os dados históricos. Não posso acessar o diretório de terminais, não sei como fazer isso. Não quero recorrer aos programadores da Alpari porque eles trabalham através de intermediários e este é um longo processo. Se você souber como entrar no diretório do terminal e apagar os dados históricos, por favor, ajude.

Clique com o botão direito do mouse sobre o ícone do terminal na área de trabalho. A partir do menu suspenso selecione "Propriedades". Na janela que se abre selecione "Local de armazenamento" - um explorador se abrirá, procure lá pela pasta do histórico - ela contém as pastas necessárias com dados históricos...


 
boris.45:
Obrigado por sua atenção. Testado o EA durante uma quinzena, tudo correu bem. Então, de repente, o testador caiu. Eu vi uma mensagem "aguarde por atualizações" durante o processo de otimização. Eu olho para o registro, mas há apenas duas linhas: a primeira me informa sobre o carregamento bem-sucedido da EA e a segunda me informa sobre a ausência de dados históricos. Obviamente, ocorreu algum tipo de falha. Tentei reiniciar os dados históricos usando a tecla F2, mas o reset falhou. Tentei recarregar a plataforma MT4, mas o funcionamento do equipamento de teste não foi restaurado. Entrei em contato com os programadores da Alpari para obter suporte técnico. Obtive a resposta: Apague todo o histórico da pasta de histórico, que está localizada no diretório do terminal, e após isso recarregue os dados históricos. Não consigo acessar o diretório de terminais, não sei como fazer isso. Não quero recorrer aos programadores da Alpari porque eles trabalham através de intermediários e este é um longo processo. Se você souber como entrar no diretório do terminal e apagar os dados históricos, por favor, ajude.

Você inicia o MT4 de alguma forma, então você encontrará o diretório.

Clique com o botão direito do mouse no ícone que lança o MT4 e a janela "Propriedades" será aberta.

Há um botão "Find object" (encontrar objeto). Aperte-o e você se encontrará no diretório que precisa.

No diretório está uma pasta histiry. Vá até lá e apague todas as pastas nela contidas.

Iniciar o MT4. Pressione F2 e recarregue o histórico das citações.

É isso aí.

 

Hoje esbocei um novo EA, estou escrevendo-o para mim mesmo, mas se tudo der certo, vou compartilhá-lo mais tarde.

Gostaria de sua opinião sobre o que mais deve ser acrescentado. Já recebi um pedido da Trader. Agora posso reorganizar paradas e Takei, mover linhas na tela, mostrar ordens abertas e estatísticas sobre minhas contas. Que outros pedidos haverá?

Ficou muito bom :)

 
coronel:

Obrigado por seu apoio!

 

Por favor, me diga como abrir um novo pedido se um Stop Loss ou TP for acionado. De preferência um código! Muito obrigado de antemão!


for(int i=1; i<=OrdersTotal(); i++) // ???? ???????? ?????

{

se(OrderSelect(i-1,SELECT_BY_POS)==verdadeiro)

{

duplo SL=OrderStopLoss();

double TP =OrderTakeProfit(); // TP ?????????? ???.

preço duplo =OrdemPreço Aberto();

{

if(SL >= Preço)

{

OrderSend(Symbol(), OP_BUY, lots,Ask,3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green);

}

}

Alerta(i);

}

}

Razão: