Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1855
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 questão é que comparar o preço aberto para hoje com o preço aberto para ontem parece levar à propagação da colocação e então eu me meto em problemas no código. Eu posso negociar apenas ofertas ou vendas porque os preços da iOpen não são corretos em alguns dias.
O gráfico é baseado no preço de licitação
Rapazes, por favor, avisem.
Estou escrevendo um EA com várias moedas, tudo funciona como planejado, exceto a abertura de pedidos. Por favor, diga-me qual é o problema.
Não recebo nenhum erro, apenas não abro pedidos
Eu não recebo nenhum erro, apenas não abre pedidos
Valor retornado
Devolve o número do ticket atribuído ao pedido pelo servidor comercial ou -1 em caso de falha. Para obter informações sobre erros, você precisa ligar para GetLastError().
Até o compilador lhe diz que o Orderend deve ser verificado.
A compra é feita com a Ask. Mas também pode funcionar com Bid, se o deslize for pelo menos igual à propagação, o que pode tornar mais difícil encontrar este bug.
uma EA com várias moedas e tudo está funcionando como planejado, exceto a abertura de pedidos. Estou à procura de mensagens de erro.
Não está dando nenhum erro, apenas não está abrindo um pedido.
Você notou onde está o erro?
https://docs.mql4.com/ru/trading/ordersend
Примечание
Ao abrir uma ordem de mercado (OP_SELL ou OP_BUY), somente os últimos preços Bid (para venda) ou Ask (para compra) podem ser usados como preço de abertura. Se a operação for realizada para um instrumento financeiro, diferente do atual, então para obter as últimas cotações para este instrumento, deve-se usar a funçãoMarketInfo() com o parâmetro MODE_BID ou MODE_ASK.
Você não pode usar um preço estimado ou não-normalizado. Se o preço de abertura solicitado não estava no fluxo de preços, ou o preço solicitado não está normalizado de acordo com o número de casas decimais, será gerado o erro 129 (ERR_INVALID_PRICE). Se o preço de abertura solicitado estiver severamente desatualizado, será gerado um erro 138 (ERR_REQUOTE), independentemente do valor do parâmetro de escorregamento. Se, por outro lado, o preço solicitado estiver desatualizado mas ainda estiver presente no fluxo de preços, o pedido será aberto ao preço atual e somente se o preço atual cair dentro da faixa preço+deslizamento.
...
Também é desejável estabelecer uma magia única para o robô.
Tanto quanto eu sei, Ask e Bid já estão normalizados. Uma questão semelhante já foi levantada e não houve contradição.
O magik e os dígitos de stoploss e lucro podem ser apropriados, mas a intenção do autor não é conhecida.
Tanto quanto eu sei, Ask e Bid já estão normalizados. Uma questão semelhante já foi levantada e não houve contradição.
Talvez seja apropriado mencionar magik e dígitos de stop-loss e lucro, mas eu não sei qual é a idéia do autor.
Tanto quanto eu sei, a documentação não diz uma palavra sobre isso. Portanto, é melhor tomar precauções. Isso não vai piorar as coisas.
Em relação ao SL e TP, eles são calculados. E, portanto, devem definitivamente ser normalizadas de acordo com o valor dos dígitos.
Olá amigos.
Boa tarde.
Como eu recebo o tempo de abertura da segunda e das ordens subseqüentes, porque o OpenOrderTime() dá apenas a primeira, e também como eu recebo o preço de abertura da segunda e das ordens subseqüentes, porque o análogo OpenOrderPrice() também dá o preço da primeira?
coletar (ou lembrar/conhecer) tudo, ordenar por tempo aberto. Isso é o que, mas o tempo aberto não muda :-)
Se a lógica EA contém mais de 1 ordem (por exemplo, grade), então você terá que se lembrar de todas elas. Ou você terá que diminuir a velocidade tentando se lembrar de todos eles a cada espirro