Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 116
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. A pausa parece ter ajudado. Vamos ver o que acontece a seguir.
Não, isso não tem ajudado muito. Só funciona se um tipo de posição for aberto. Se, por exemplo, uma posição de Venda é aberta e ainda não está fechada, e simultaneamente uma posição de Compra é aberta e fechada, a posição de Venda não pode ver condições para seu próprio fechamento até que outra posição de Venda abra e feche (de acordo com suas próprias condições). E se a BAY abre e fecha novamente, ela novamente perde suas condições de fechamento. Tentei determinar a presença deposições em aberto após o fechamento da BAY usando a função ExistPositions() da I.Kim, mas não entendo onde inseri-la e onde colocar a impressão para controlar a execução. Qualquer pista.
Não, isso não tem ajudado muito. Só funciona se o mesmo tipo de posição for aberto. Se, por exemplo, primeiro uma posição de Venda é aberta e ainda não fechada, e ao mesmo tempo uma posição de Compra é aberta e fechada, então a posição de Venda não vê suas condições de fechamento até que outra posição de Venda abra e feche (de acordo com suas condições). E se a BAY abre e fecha novamente, ela novamente perde suas condições de fechamento. Tentei determinar a presença deposições em aberto após o fechamento da BAY usando a função ExistPositions() da I.Kim, mas não entendo onde inseri-la e onde colocar a impressão para controlar a execução. Você pode me dar uma dica?
Ninguém conhece a solução? Eu não tenho.
Entrei no fórum - vejo que você está falando sozinho... Onde está o início de sua conversa e do que se trata - difícil de entender. Para depurar um programa, é muito mais conveniente usar Alerta ao invés de Imprimir - ele aparece na tela de uma só vez. Estes Alertas são colocados antes de se verificar a condição. Outro método de depuração com um lápis - passar pelo programa como ele deve ser executado, e anotar os valores das variáveis. Quando mudar - riscar o valor antigo e escrever o novo. Era assim que era feito antes. Agora o MetaEditor tem um depurador, onde você pode rastrear os valores das variáveis. As construções mais simples devem ser verificadas separadamente, escrevendo um roteiro
Ninguém conhece a solução? Eu não tenho.
Tente desta forma:
tente desta forma:
Obrigado, experimentei - não fecha nenhuma posição mesmo após algum ajuste para que o compilador não jure.
Entrei no fórum - vejo você falando sozinho... É difícil entender onde você começou e do que você está falando. Para a depuração do programa é mais conveniente usar Alerta ao invés de Imprimir - ele aparece na tela de uma só vez. Estes Alertas são colocados antes de se verificar a condição. Outro método de depuração com um lápis - passar pelo programa como ele deve ser executado, e anotar os valores das variáveis. Quando mudar - riscar o valor antigo e escrever o novo. Era assim que era feito antes. Agora o MetaEditor tem um depurador, onde você pode monitorar os valores das variáveis. As construções mais simples têm de ser verificadas separadamente, escrevendo um roteiro
Obrigado pelas recomendações, mas pela minha situação elas não são muito corretas. Apenas para esclarecer, abaixo está o código de uma função de fechamento personalizada
Não funciona corretamente - ofechamento das posiçõesacontece sob condições da primeira posição aberta. Ou seja, se primeiro uma posição de Compra ou Venda foi aberta com a Condição 1 e depois uma segunda posição foi aberta com a Condição 2, a condição de fechamento é ignorada e a segunda posição também é fechada com a Condição 1 apesar de um número mágico diferente.
Apliquei uma pausa após o fechamento do pedido, mas a solução foi meio acirrada:somente se uma posição do mesmo tipo for aberta. Se, por exemplo, uma posição BAY tiver sido aberta primeiro e ainda não tiver sido fechada, enquanto uma posição BAY estiver sendo aberta e fechada, a posição BAY não vê nenhuma condição para ser fechada enquanto outra posição BAY abrir e fechar (de acordo com suas condições). E se a BAY abre e fecha novamente, ela novamente perde suas condições de fechamento. Então, o que fazer?
de onde o iCustom obtém seus dados?
dos amortecedores do indicador personalizado, prática, por exemplo, no MA
Apliquei uma pausa após fechar um pedido, mas a solução é a meio caminho:somente se uma posição do mesmo tipo for aberta. Se, por exemplo, uma posição BAY for aberta e ainda não tiver sido fechada, enquanto uma posição BAY estiver sendo aberta e fechada, a posição BAY não vê nenhuma condição para ser fechada até que outra posição BAY seja aberta e fechada (em suas próprias condições). E se a BAY abre e fecha novamente, ela novamente perde suas condições de fechamento. Então, o que fazer?
tente substituir a pausa por continuar
é estranho que meu exemplo de código não feche nada, talvez seja sobre normalização de preços
tente substituir a pausa por continuar
Substituído. Erro amaldiçoado 138(requotes). Então eu dei uma pausa, e é 138 novamente. Estranho, talvez eu não tenha notado isso antes.
dos amortecedores do indicador personalizado, praticar com o MA, por exemplo