[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 56
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
(A classe é boa, mas ainda há um problema)))
Eu entendo teoricamente, mas na prática não funciona, você pode olhar para o meu código e me dizer o que está errado
Entendo que esta é uma EA muito simples, mas estou apenas começando minha jornada)))) e já tenho um problema
// A essência do Expert Advisor é que primeiro ele abre o primeiro pedido de compra
// então coloca paradas em duas direções
// em um dos lados como continuação de uma ordem em aberto
// no outro lado mais duas vezes em caso de inversão de gráfico
// as paradas são feitas em relação ao último pedido aberto pelo conselheiro
// com cada nova abertura de uma nova ordem pendente, todas as anteriores são eliminadas
// e novas paradas pendentes já estão abertas em relação a uma nova ordem aberta.
Paradas podem ser entendidas como duas coisas - ordens de parada (Take Profit e Stop Loss) e ordens de parada (Bystop e Sell Stop). O que aqui se entende por "pára" provavelmente só é entendido por você. Por favor, seja preciso com os termos. Você tem que dar instruções precisas ao computador. A descrição também deve ser tão precisa quanto possível
Sinto muito pela inexatidão, mas as ordens de parada são ordens de parada (Buy Stop and Sell Stop)
Peço desculpas pela imprecisão: quero dizer, ordens de parada (Buy Stop e Sell Stop).
Esta função está escrita de forma incorreta. Os pedidos devem ser pesquisados do último para o primeiro na lista de pedidos. Seu método fará com que 1 ordem seja pulada porque depois de apagada, a lista de ordens será movida por suas posições. O laço deve ser organizado da seguinte forma:
Além disso, se o pedido não for selecionado, você não precisa fazer uma brisa - não precisa sair do ciclo - você precisa descobrir o motivo pelo qual o pedido não é selecionado. Isso é o seguinte:
res=OrderDelete(OrderTicket()); - isto também não é correto o suficiente. A função OrderDelete() tem um tipo booleano. E além de dar uma ordem para apagar a ordem, também precisamos lidar com a situação se a ordem não puder ser apagada. Em outras palavras, é assim:
Mais tarde verei o resto.
O código da função de início não está escrito corretamente.
Com a primeira função, você soma as ordens de compra e venda. Você precisa contar os pedidos de compra separadamente e os pedidos de venda separadamente. A questão é a seguinte. Se houver 1 ordem de compra no mercado, então a parada de compra deve ser definida com um lote maior. Certo? E se houver uma ordem de venda no mercado, então a parada de compra deve ser definida com um lote normal e a parada de venda com um lote maior. Então, como você detecta qual ordem está aberta no mercado se você soma as ordens de Compra e Venda em uma única função? Tente refazer o código à luz destes fatos.
Você pode me dizer como fazer o download automático do histórico a partir do corretor? É um pouco inconveniente pressionar para casa por uma hora.
Você pode me dizer como fazer o download automático do histórico a partir do corretor? É um pouco inconveniente pressionar para casa por uma hora.
Pergunta sobre o indicador.
O indicador é um indicador cruzado. Atrai muitas flechas para um lado, depois muitas para o outro. Como fazer apenas os primeiros a serem sorteados. Eu tentei da maneira descrita no código, mas as setas mudam quando eu troco de Quadro.
Por favor, informe como fazê-lo corretamente.
Eu teria que olhar para o indicador. Talvez haja uma solução
Por favor, ajude-me a corrigir meu Consultor Especialista. Você precisa fazer com que funcione com pedidos (próprios e abertos pelo usuário) do par de moedas no gráfico do qual ele está instalado. Referimo-nos ao momento da fixação do lucro ou do prejuízo. Na versão atual, quando ocorre uma condição (captura de um depósito %), ele tenta fechar todas as posições (com MAGIC=0) para todos os pares de moedas e eu não preciso dele. É necessário delimitar completamente todos os pares de moedas. Meus agradecimentos de antemão.
A mesma coisa que você tem que fazer em quadros de mensagens diferentes - isto é spam, e você pode obter uma proibição.
E escrever a mesma coisa em linhas diferentes - é spam e pode obter uma proibição
Peço desculpas - como sempre quero fazer tudo de uma só vez))
Obrigado por sua atenção e compreensão ))
Foi capaz de resolver o problema sozinho:
Inseriu uma linha complicada se (OrderSymbol()!=SMB || OrderMagicNumber()!=MAGIC) continuar;
para um lugar igualmente complicado. Depois disso, tudo funcionou como pretendido.
Obrigado pela dica com o mágico. Eu não sou um programador, então às vezes e não penso em algo por falta de conhecimento.