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
Olá Kronin,
Sua modificação está funcionando. Você limitou as ordens máximas, bur é isso possível para fechá-las todas, em vez disso ?
Eu tentei fazer isso com o seguinte código, mas parece não funcionar.
Melhores cumprimentos
Luis
Hmmm, não tenho certeza se entendi o que você quer dizer...
Você quer dizer, em vez de abrir a última ordem (ordem 7 se o MaxOrders estiver definido para 7) fechar todas as ordens?
Tenho certeza de que você não quer esperar até que o MaxOrders seja alcançado e depois fechar tudo imediatamente. A última ordem terminaria na maioria das vezes (ou o tempo todo) com uma perda.
Btw. Você já viu o PM sobre o controlador de propagação?
Hmmm, não tenho certeza se entendi o que você quer dizer...
Você quer dizer, em vez de abrir a última ordem (ordem 7 se o MaxOrders estiver definido para 7) fechar todas as ordens?
Tenho certeza de que você não quer esperar até que o MaxOrders seja alcançado e depois fechar tudo imediatamente. A última ordem terminaria na maioria das vezes (ou o tempo todo) com uma perda.
Btw. Você já viu o PM sobre o controlador de propagação?
Olá Kronin,
Obrigado por sua pronta resposta.
Digamos que após um ciclo de ping pong de n ordens (MaxOrders) todas as ordens abertas devem ser fechadas, eu sei que isso não poderia fazer sentido, mas mesmo assim.
Estou tentando incluir o código para Reentrada da ordem caso ela falhe e tenho dúvidas se isso faz sentido porque já existe o código de IsContextBusy () Sleep (10). Até onde entendo, o significado é "se o servidor está ocupado ou outra ea na plataforma está tentando se comunicar, então espere 10 milissegundos e tente novamente" . Portanto, suponho que a EA manterá este comportamento até que um ticket seja recebido, estou certo?
Em relação à questão PM, nesse caso é melhor não fazer uso do Teste no fim de semana ou fazer isso com a plataforma offline....
Eu inseri a linha 5, mas acho que isso não é necessário porque a linha 1 você já fez isso, estou certo?
Outra questão,
No seguinte trecho de código as linhas em Bold where is sym e mn não devem ser substituídas por Symbol() e MagicNumber?
Aqui, no seguinte código, inseri filtros conforme seu conselho;
(//Phil:
//Cheque a quantidade total de pedidos. Eu adicionaria um filtro de mercado, mágico e símbolo...//<----------- Não tenho certeza do que você quer dizer com filtro de mercado..... (Phil: ordens de mercado, sem ordens pendentes)
//.... mas agora sou preguiçoso..... é algo para você fazer.
Isso é correto?
Melhores cumprimentos
Luis
Não comento sobre o uso de funções. O RaptorUK já o fez alguns posts antes. Leia novamente e entenda porque você não precisa mudar nada no código dado. Melhor ainda, entenda porque você pode usá-lo como está em outros EAs.
OrdensTotal() devolve uma quantidade de ordens. Você provavelmente quer saber, as ordens pertencem ao seu EA ou à negociação manual ou as ordens são pendentes ou já estão no mercado. Eu criaria uma função (int) que devolve a quantidade de ordens que a EA criou.
if(OTLastTick >= 2 //<.....cPoderia comentar o significado desta linha ?
Se você tiver apenas uma ordem aberta (menos de 2), não faz sentido chamar CloseAllOnSL function..... a única ordem aberta obviamente não é interrompida.
Não comento sobre o uso de funções. O RaptorUK já o fez alguns posts antes. Leia novamente e entenda porque você não precisa mudar nada no código dado. Melhor ainda, entenda porque você pode usá-lo como está em outros EAs.
OrdensTotal() devolve uma quantidade de ordens. Você provavelmente quer saber, as ordens pertencem ao seu EA ou à negociação manual ou as ordens são pendentes ou já estão no mercado. Eu criaria uma função (int) que devolve a quantidade de ordens que a EA criou.
if(OTLastTick >= 2 //<------cPoderia comentar o significado desta linha ?
Se você tiver apenas um pedido aberto (menos de 2), não faz sentido chamar CloseAllOnSL function....., o único pedido aberto obviamente não é interrompido.
Olá Kronin,
Obrigado por sua resposta aos meus problemas.
Darei a maior atenção ao seu código, assim como ao conselho dado anteriormente pelo RaptorUK.
Melhores cumprimentos
Luis
Olá Kronin,
Um problema surgiu e tem a ver com o uso de dois EA's. Se eu colocar dois EA's em gráficos diferentes e com números mágicos diferentes, eles não funcionam ao mesmo tempo. Eu recebo um erro como motivo 5, mas ao dar uma olhada no fórum não consigo encontrar informações que me coloquem na direção certa para lidar com esse problema.
Você tem alguma informação complementar?
Cumprimentos
Luis
Olá Kronin,
Um problema surgiu e tem a ver com o uso de dois EA's. Se eu colocar dois EA's em gráficos diferentes e com números mágicos diferentes, eles não funcionam ao mesmo tempo. Eu recebo um erro como razão não válida 5
Olá RaptorUK,
Obrigado por sua pronta resposta.
No link fornecido eu encontrei,
Mas com essa informação não pode fazer nada (até onde eu sei). Não consigo entender quais parâmetros de entrada foram alterados. A ea é a mesma, basta alterar o número mágico para evitar conflitos entre as outras ea.
A propósito, quando você estiver aqui, poderia me dizer se no código a seguir é necessário introduzir um código para que as ordens sejam enviadas novamente enquanto o bilhete não tiver sido recebido o mesmo para fechar as ordens?
Com os melhores cumprimentos
Luis
Olá RaptorUK,
Obrigado por sua pronta resposta.
No link fornecido eu encontrei,
Mas com essa informação não pode fazer nada (até onde eu sei). Não consigo entender quais parâmetros de entrada foram alterados. A ea é a mesma, basta alterar o número mágico para evitar conflitos entre as outras ea.
Se você alterou o número mágico . .
... e for um externo, então você mudou um parâmetro, a EA reinicia e dá razão 5
Se você quiser executar sua EA em vários pares, sugiro que faça duas coisas: primeiro, coloque sua EA funcionando corretamente em um par, teste-a completamente para saber que está funcionando; depois, em segundo lugar, introduza um Mutex para que suas negociações sejam tratadas quando a outra EA não estiver tentando fazer a mesma coisa.
Se você mudou o Número Mágico . . .
. e ele for externo, então você mudou um parâmetro, a EA reinicia e dá razão 5
Se você quiser executar sua EA em vários pares, sugiro que faça duas coisas: primeiro, coloque sua EA funcionando corretamente em um par, teste-a completamente para saber que está funcionando; depois, em segundo lugar, introduza um Mutex para que suas negociações sejam tratadas quando a outra EA não estiver tentando fazer a mesma coisa.
Olá RaptorUk,
Obrigado por sua resposta sobre o erro, suponho que tenha mudado de nome e número mágico e colocado o segundo ea no gráfico sem fechar a plataforma.
Em relação à outra questão sobre ordens de reentrada que têm a ver com uma falha no fechamento da ordem que retornou um erro como timeout. é por isso que eu não sei se o código como está entrará novamente no fechamento da ordem ou no envio da ordem.
Melhores cumprimentos
Luis
Olá RaptorUk,
Obrigado por sua resposta sobre o erro, suponho que tenham mudado de nome e número mágico e colocado o segundo ea na tabela sem fechar a plataforma.
Em relação à outra questão sobre ordens de reentrada que têm a ver com uma falha no fechamento da ordem que retornou um erro como timeout. é por isso que eu não sei se o código como está irá reentrar o fechamento da ordem ou envio da ordem.
Melhores cumprimentos
Luis
Leia os códigos de erro de execução e faça com que seu código esteja de acordo com as informações ali fornecidas, por exemplo . .