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
Raptor, se você não se importa... como você estava planejando verificar a conectividade via php?
O que eu tinha em mente era isto:
O EA enviará um pequeno arquivo via FTP a cada 2 minutos (pode ser 5 minutos, 30 minutos, qualquer que seja sua tolerância . . * ) para meu servidor Web hospedeiro, rodando nesse servidor Web será um trabalho Cron que procura o arquivo recebido via FTP e verifica se ele foi atualizado nos últimos 2 minutos * se ele não me enviou um e-mail de alerta.
Sempre fiz dessa forma porque é assim que eles fazem nos exemplos do livro MQL4, mas agora estou pensando que isso não parece correto, certamente se você abrir no preço de venda você quer ter lucro a esse preço + sua quantidade de TP, e você quer parar por esse preço - sua quantidade de SL ?
Se você quiser parar no preço -x. O que isso significa? Você quer parar quando a Licitação atingir o preço x (ou quando a Licitação atingir o preço).
Se você quiser um SL de 3 pips em uma compra e usar o Ask - 3*pips2dbl. O momento em que você abre você está agora a 1 pip de distância (assumindo um spread de 2 pip.) Novamente depende de sua definição
Se você quer dizer quando o Bid alcança o preço x, em uma compra seu SL seria preço x. Mas em um Sell você ainda quer parar no Pricex, mas o preço de ativação deve ser relativo ao ask. price-x+spread.
O que você faz quando o spread muda? Em uma Venda, isso significa que para fechar na mesma posição (uma Licitação) você deve modificar o TP/SL. Depende de sua definição.
O que eu faço é fazer TODOS os cálculos relativos ao Bid, e ajustar no final.
Minha abordagem é apenas relatar o erro e retornar.
Não discordando disso, eu disse "relatar o erro".
Não há nada que a EA possa fazer com isConnected()==falso, a não ser esperar.
Não há nada que a EA possa fazer com ERR_TRADE_TIMEOUT a não ser esperar e depois ver.
Retornar do início e esperar pelo próximo tick e depois recuperar é o mais fácil.
Não discordando disso, eu disse "informe o erro". Não há nada que a EA possa fazer com isConnected()==falso ou ERR_TRADE_TIMEOUT, mas espere pelo próximo tick e depois veja.
Raptor, se você não se importa... como você estava planejando verificar a conectividade via php?
Talvez algo como isto . . .
<?php $to = "recipient@example.com"; $subject = "EA is silent"; $body = "EA has stopped responding . . . "; $file = 'somefile.txt'; $filetime = filemtime($file); $timetwomins = time()-120; // two mins ago if ($filetime < $timetwomins) { mail($to, $subject, $body) } ?>
Acho que o que farei é ter um alerta por e-mail imediatamente antes do acionamento do pedido e depois outro que confirme que a parada foi alterada.
Portanto, se eu receber o primeiro e o e-mail de modificação correspondente não for enviado, então eu sei que há problemas.
Acho que o que farei é ter um alerta por e-mail imediatamente antes do acionamento do pedido e depois outro que confirme que a parada foi alterada.
Portanto, se eu receber o primeiro e o e-mail de modificação correspondente não for enviado, então eu sei que há problemas.
acho que enviar um e-mail após o acionamento do pedido & outro confirma que a parada foi alterada
Minha única preocupação em enviar o e-mail depois é o que se o pedido dispara e então sua conexão morre antes que o e-mail possa ser enviado...
A outra forma de receber o primeiro correio dizendo que algo está prestes a disparar, e depois o segundo confirmando a modificação da parada.
Talvez algo como isto . . .
Raptor, eu gosto desta idéia. Pensei sobre isso no passado, mas não tinha idéia de como fazer isso.
O que eu tenho agora é apenas a EA enviando um e-mail a cada hora confirmando que ela está funcionando. Eu precisaria apenas de alguma forma de verificar esse e-mail e se ele não chegar, então envie um aviso. A mesma idéia, uma abordagem diferente, suponho.