em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.
if (OrdersTotal()==true)
{
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderType()==(OP_BUY/OP_SELL здесь поставишь какой ордер) && (здесь можешь написать условия закрытия т.е. сигнал)
{
bool close = OrderClose(OrderTicket(),OrderLots(),Bid,3,clrRed);
if(!close)
Print("Ошибка закрытия ордера. Код ошибки=",GetLastError());
elsePrint("Ордер BUY успешно закрыт.");
}
}
Boa noite! Ajude-me a entender o código abaixo, vender está escrito com o mesmo princípio, por que três opções para abrir, porque eu tive que mexer na opção de evitar abrir um pedido então - quando o pedido abre na barra atual e fecha em um empate,
e o sinal permanece e se abre novamente, por isso tive que escrevê-lo assim. O problema é que apenas uma ordem de compra e venda é aberta e tudo o mais é silencioso. Não consigo encontrar mais erros, estou muito grato de antemão.
Como você entende esta linha?
if (!OrdersTotal()==true)
Eu não sei como ler esta linha e esta.
if (!OrdersHistoryTotal()==true)
e este aqui...
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 // дальше я не смотрел
Embora esta última linha funcione, mas não é assim que se escreve ... Estou sem palavras.
Se você não encontrar o erro, então provavelmente não há erro.
if (OrdersTotal()==true)
{
if(OrderSelect(ticket,SELECT_BY_TICKET)>0 && OrderType()==(OP_BUY/OP_SELL здесь поставишь какой ордер) && (здесь можешь написать условия закрытия т.е. сигнал)
{
bool close = OrderClose(OrderTicket(),OrderLots(),Bid,3,clrRed);
if(!close)
Print("Ошибка закрытия ордера. Код ошибки=",GetLastError());
elsePrint("Ордер BUY успешно закрыт.");
}
}
Que tipo de bobagem você está fazendo aqui?
Se o número total de pedidos e posições for 1 ou mais... Se um pedido for selecionado em um bilhete desconhecido e não estiver claro se está fechado ou aberto... ...etc....
em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.
Para fechar uma posição usando um bilhete, é necessário saber primeiro o número exato do bilhete da posição a ser fechada. Depois é necessário selecionar o pedido usando a função OrderSelect(ticket,SELECT_BY_TICKET), com verificações para uma seleção bem sucedida. Então precisamos verificar o horário de fechamento da ordem selecionada com sucesso. Por quê? Porque quando selecionamos por bilhete, o parâmetro de pool da função OrderSelect(..., ..., pool) é ignorado (é usado somente quando selecionamos por índice). E isso significa que mesmo que tenhamos selecionado com sucesso uma ordem, ainda precisamos saber em qual lista a escolhemos - a lista de posições fechadas ou abertas. É a verificação do tempo de fechamento que nos permite saber "se a ordem ainda está no mercado". Se o tempo de fechamento for igual a zero, a ordem ainda está no mercado. Se o tempo for diferente de zero, o pedido já foi fechado mais cedo. E depois de todo esse procedimento, podemos enviar uma ordem para fechar essa ordem.
OrderClose(OrderTicket(),0.01,Bid,2);
em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.
OrderClose(OrderTicket(),0.01,Bid,2);
em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.
Boa noite! Ajude-me a entender o código abaixo, vender está escrito com o mesmo princípio, por que três opções para abrir, porque eu tive que mexer na opção de evitar abrir um pedido então - quando o pedido abre na barra atual e fecha em um empate,
e o sinal permanece e se abre novamente, por isso tive que escrevê-lo assim. O problema é que apenas uma ordem de compra e venda é aberta e tudo o mais é silencioso. Não consigo encontrar mais erros, estou muito grato de antemão.
Como você entende esta linha?
Eu não sei como ler esta linha e esta.
e este aqui...
Embora esta última linha funcione, mas não é assim que se escreve ... Estou sem palavras.
Se você não encontrar o erro, então provavelmente não há erro.
OrderClose(OrderTicket(),0.01,Bid,2);
em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.
Como você entende esta linha?
e este aqui.
E este aqui...
Embora esta última linha funcione, mas essa não é a maneira de escrever ... Estou sem palavras.
Se você não encontrou o erro, então provavelmente não há erro.
1. Se não houver ordens em aberto
2. Se não houver ordens fechadas.
O que está errado?
1. Se não houver ordens em aberto
2. Se não houver ordens fechadas.
O que está errado?
int OrdensTotal(); - número de retorno, não falso-verdade, isso é o que está errado. Se não há ordens, significa 0. Se há ordens, não é apenas 1.
E não há ordens fechadas somente em uma conta recém-aberta que ainda não tenha sido negociada. Mais uma vez, este é um uso incorreto da função.
E por que RefreshRates(); APÓS o pedido ter sido enviado para o servidor? É como pagar por algo primeiro e depois perguntar "quanto é?
Que tipo de bobagem você está fazendo aqui?
Se o número total de pedidos e posições for 1 ou mais...
Se um pedido for selecionado em um bilhete desconhecido e não estiver claro se está fechado ou aberto...
...etc....
Você acha que isso ajudou?
... Nenhuma ordem significa 0, e se há ordens, não é apenas 1.
...É aqui que eu vou corrigir com permissão, por assim dizer.
Em bool se houver 0 então é falso, tudo o resto que não seja zero é verdade
OrderClose(OrderTicket(),0.01,Bid,2);
em "especialistas", diz "bilhete inválido para a função OrderClose".
Ajuda? meu objetivo é fechar a ordem na tabela atual.