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
Obrigado onewewithzachy,
Primeiro, acho que você tem um pequeno erro:
for(int cnt = OrdersTotal() -1 ; cnt >= 0; cnt--)
Você tem que adicionar a correção verde e ousada.
Mas, eu não entendo como a seguinte linha pode nos ajudar?
#incluindo "...\iBibliotecas\iB.mq4".
Obrigado, Y.
Seu direito com a contagem, entretanto, se a escrevermos como eu escrevi, a OrderSelect() retornará falsa, e a for loop continuará para a próxima contagem.
Isso inclui a impressão do erro neste código ...
... para que saibamos porque sua EA não fecha nenhuma ordem:(.
Você também pode escrever assim ...
#include <stdlib.mqh>
Há um exemplo na pasta de scripts do MetaEditor intitulado trade.mq4.
Suponho que você saiba onde colocar o include, certo ?. Coloque-o em cima de sua EA (assim como a variável global ou como o trade.mq4).
O stdlib.mq4 está localizado em MetaEditor > Janela Navigator (Ctrl + D) > guia arquivos > pasta bibliotecas > stdlib.mq4.
Uau, espero que você não se importe que eu tenha ido lá, porque eu não sei se você já sabe ou não sabe :)
Seu direito com a contagem, entretanto, se a escrevermos como eu escrevi, a OrderSelect() retornará falsa, e a for loop continuará para a próxima contagem.
Isso inclui a impressão do erro neste código ...
... para que saibamos porque sua EA não fecha nenhuma ordem:(.
Você também pode escrever assim ...
Há um exemplo na pasta de scripts do MetaEditor intitulado trade.mq4.
Suponho que você saiba onde colocar o include, certo ?. Coloque-o em cima de sua EA (assim como a variável global ou como o trade.mq4).
O stdlib.mq4 está localizado em MetaEditor > Janela Navigator (Ctrl + D) > guia arquivos > pasta bibliotecas > stdlib.mq4.
Uau, espero que você não se importe que eu tenha ido lá, porque eu não sei se você já sabe ou não sabe :)
Obrigado onewewzachy,
Eu fiz como você sugeriu, e espero pelo estudo correto. Vou atualizar.
Obrigado com zachy,
Eu fiz como você sugeriu, e espero pela estualização correta. Vou atualizar.
Mmm...., eu não sou grande fã de testes de costas, no entanto, o RaptorUK sugere em outro tópico(clique aqui), que podemos depurar nosso código usando os testes de costas.
O EA é multipares, portanto, o backtesting é impossível.
De qualquer forma, eu posso obter a situação relevante muito rapidamente. E eu já tenho resultados. Eu vou atualizar...
Obrigado
A EA é multipares, portanto, é impossível retroceder.
Obrigado Raptor,
Eu noto que o ORDERSELECT é uma variável bool, e às vezes o MT4 não tem sucesso
para fazer isso. Por causa disso, o Zachy recomandou a fazê-lo:
for(int cnt=0; cnt<OrdersTotal(); cnt++)
{
if(OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES) == verdadeiro &&
OrderSymbol()==Pair &&
OrderType()==OP_BUY)
{
// código para fechar
}
}
Minha pergunta é: se o ORDERSELECT é falso, como posso fazer o "cnt" LOOP novamente, sem faltar...?
Espero que você me entenda.
Y.
Obrigado Raptor,
Eu noto que o ORDERSELECT é uma variável bool, e às vezes o MT4 não tem sucesso
para fazer isso. Por causa disso, o Zachy recomandou a fazê-lo:
for(int cnt=0; cnt<OrdersTotal(); cnt++ )
Minha pergunta é: se o ORDERSELECT é falso, como posso fazer o "cnt" LOOP novamente, sem faltar...?
Espero que você me entenda.
Y.
Se você estiver fechando ordens você DEVE contar para baixo ... NÃO para cima.
Desculpe Raptor, acabei de fazer uma Copy_paste a partir de um post anterior, mas a mudei dentro do meu código.
De qualquer forma, você tem alguma idéia sobre minha pergunta prévia?
Desculpe Raptor, acabei de fazer uma Copy_paste de um post anterior, mas a mudei dentro do meu código.
De qualquer forma, você tem alguma idéia sobre minha pergunta prévia?
Mostre seu código e eu posso dar uma opinião.
Rap, É 4016 linhas de código....
De qualquer forma, minha pergunta é uma pergunta técnica. Eu aprendi uma vez FORTRAN, nad lá você tinha números para as linhas de código desejadas, então você poderia fazer
"Vá para 120", e o código foi para essa linha novamente.
Aqui se Orderselect é FALSO como a EA pode voltar para a linha de código: for(int cnt=OrdersTotal(); cnt > 0; cnt-- )
???