[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 502
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
editar | apagar Ajuda para encontrar uma função para colocar pedidos que leve em conta o escorregamento e sem erros 130-134.
Mostre-me sua variante.
Print(GetLastError());
Com quaisquer valores de SL e TP, ele dá 134, muitas vezes não faz nenhum pedido.
abre com a condição se(NumberOfOrders(NULL)==0)
No testador, em vez de uma ordem, sempre coloca um monte, ou seja, não consigo entender porque deveria fazer uma ordem se não há outras ordens em aberto neste par
NumderOrder=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point, "BUY",0,0,Red);
Print(GetLastError());
Com quaisquer valores de SL e TP, ele dá 134, muitas vezes não faz nenhum pedido.
abre com a condição se(NumberOfOrders(NULL)==0)
No testador, em vez de uma ordem, sempre coloca um monte, ou seja, não consigo entender porque deveria fazer uma ordem se não há outras ordens em aberto neste par
ERR_NOT_ENOUGH_MONEY 134 Não há dinheiro suficiente para completar a transação
Bom dia. Estou fazendo um EA, ele abre 2 pedidos em uma determinada condição (figurativamente falando: quando o preço sobe e desce). Quando o preço sobe, abre 2, quando o preço desce, fecha esses 2 e abre um novo 2. Uma ordem vai sem lucro, a segunda ordem com lucro. Há um problema com o segundo. No momento de sua morte, não é selecionado, aqui está o código para remover ordens:
O mesmo para OP_BUY. Estou comparando comentários para ter certeza de que é uma ordem aberta por minha EA e não manualmente ou por outra EA. Aqui está o problema com o OrderSelect, ele simplesmente não quer selecionar um pedido com lucro. Quando chega a seu número, OrderSelect retorna falso. Não há erro no registro do testador, GetLastError também diz que tudo está bem (devolve 0). Por que ele não está sendo selecionado? Por que nenhum erro se ele não pôde selecioná-lo? Obrigado a todos vocês.
a condição
é verificado a cada iteração.
Pense no que um igual e o que OrdensTotal() -1 é igual após a primeira iteração
OrderClose(OrderTicket(), NormalizeDouble(OrderLots(), Digitos), NormalizeDouble(Ask, Digitos), 0);
Solree:
NormalizeDouble(OrderLots(), Dígitos)
Você precisa levar em conta o passo permitido de mudança de lote.
Por exemplo, se a etapa for 0,01, então normalize em 2
e se a etapa for 0,1, então a normalização deve ser 1