if(Bid == btp-OrderOpenPrice()/2+OrderOpenPrice()){ // need to double check this.double minLot = MarketInfo(Symbol(), MODE_MINLOT),
lotStep = MarketInfo(Symbol(), MODE_LOTSTEP),
Lots = OrderLots(),
half_close = MathFloor(Lots/2/lotStep)*lotStep;
for(int q=OrdersTotal()-1; q >=0; q--)
{
if(OrderSelect(q,SELECT_BY_POS,MODE_TRADES)==true){
Print(" Stop loss value for the order is ", OrderStopLoss());
Print("lots for the order ",OrderLots());
}
elseif(OrderSelect(q,SELECT_BY_POS,MODE_TRADES)==false){
Print(" OrderSelect failed error code is ",GetLastError());
}
if(OrderMagicNumber()==MagicNumber)
if(OrderSymbol()==Symbol())
if(OrderType()==OP_BUYSTOP)
if (half_close > minLot)
CloseHalfLong = OrderClose(OrderTicket(),half_close,Bid,3,CLR_NONE);
if(CloseHalfLong!=TRUE)Print("LastError = ", GetLastError());
}
}
Alguém poderia me dar uma pequena orientação sobre onde estou errado? Comecei agora mesmo a dar uma olhada nisto. Além da linha onde escrevi uma nota, alguém poderia me indicar a direção certa?
Estou ficando um pouco frustrado com isso... Continuo recebendo "OrderModify error 1" - mas vou analisar isso mais tarde. Fora isso, nada!
if(OrderSelect(NewOrder,SELECT_BY_TICKET,MODE_TRADES)==true){
Print(" Stop loss value for the order is ", OrderStopLoss());
Print("lots for the order ",OrderLots());
}
elseif(OrderSelect(NewOrder,SELECT_BY_TICKET,MODE_TRADES)==false){
Print(" OrderSelect failed error code is ",GetLastError());
}
double minLot = MarketInfo(Symbol(), MODE_MINLOT),
lotStep = MarketInfo(Symbol(), MODE_LOTSTEP),
sizeCurr = OrderLots(),
sizeClose = MathFloor(sizeCurr/lotStep)*lotStep/2,
sizeRem = sizeCurr - sizeClose;
//if (sizeClose < minLot) return(false);//if (sizeRem < minLot){ sizeClose = sizeCurr;if(OrderTakeProfit()-OrderOpenPrice()/2+OrderOpenPrice() == Bid) // Does this make sense? I am wanting this "if" statement to be true, if price (bid) reaches the price in this comparison statement?
if(OpenOrdersThisPair(Symbol())==1)
CloseHalfLong = OrderClose(OrderTicket(),sizeClose,Bid,3,CLR_NONE);
if(CloseHalfLong!=TRUE)Print("Last Error = ", GetLastError());
}
Tive a impressão de que o MathFloor apenas arredonda a resposta para o número inteiro? Então, não tenho certeza se o MathFloor está correto? Os corretores que estou usando usarão 0,01 como um passo de lote. (IBFX para começar no teste de avanço - então tamanho nano)
DomGilberto: Eu não estou recebendo nenhum erro...
Estou ficando um pouco frustrado com isso... Continuo recebendo "OrderModify error 1" - mas vou analisar isso mais tarde. Tirando isso, nada! Tive a impressão de que o MathFloor apenas arredonda a resposta para o número inteiro? Então, não tenho certeza se o MathFloor está correto? Os corretores que estou usando usarão 0,01 como um passo de lote. (IBFX para começar no teste de avanço - então tamanho nano)
Eu lhe dei um código que vai funcionar, por que você não está usando-o? por que você não está imprimindo suas variáveis para ver o que está acontecendo? você não tem uma OrderModify() no código que você postou, como é relevante? como eu já disse ... por que você está chamando funções de negociação que dependem da OrderSelect() se a OrderSelect() falhou?
Pare de codificar, olhe seu código, leia-o linha por linha, entenda o que ele está realmente fazendo e se não é o que você pretendia, então você tem um problema que precisa consertar.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Preciso ler no MathFloor e sua ligação lá - tudo isso é novo para mim e estou lutando para entendê-lo. Amanhã, eu vou lidar com isso.
Obrigado, pessoal!
Alguma idéia?
Está me faltando alguma coisa?
Whoops - sim, resolveu isso rs. Mas isso não mudou nada?
Está me faltando alguma coisa?
Por que você está fazendo o seguinte, mesmo que seu OrderSelect() tenha falhado?
Você não fecha uma ordem pendente, o que o seu relatório de erro lhe diz ?
Creio que você está tentando selecionar a mesma profissão duas vezes
isto não deveria ser apenas "outra coisa"?
você pode receber mensagens contraditórias se a primeira vez que você tentar selecionar a profissão, ela falhará, mas terá sucesso na 2ª vez.
Estou ficando um pouco frustrado com isso... Continuo recebendo "OrderModify error 1" - mas vou analisar isso mais tarde. Fora isso, nada! Tive a impressão de que o MathFloor apenas arredonda a resposta para o número inteiro? Então, não tenho certeza se o MathFloor está correto? Os corretores que estou usando usarão 0,01 como um passo de lote. (IBFX para começar no teste de avanço - então tamanho nano)
Eu não estou recebendo nenhum erro...
Estou ficando um pouco frustrado com isso... Continuo recebendo "OrderModify error 1" - mas vou analisar isso mais tarde. Tirando isso, nada! Tive a impressão de que o MathFloor apenas arredonda a resposta para o número inteiro? Então, não tenho certeza se o MathFloor está correto? Os corretores que estou usando usarão 0,01 como um passo de lote. (IBFX para começar no teste de avanço - então tamanho nano)
Eu lhe dei um código que vai funcionar, por que você não está usando-o? por que você não está imprimindo suas variáveis para ver o que está acontecendo? você não tem uma OrderModify() no código que você postou, como é relevante? como eu já disse ... por que você está chamando funções de negociação que dependem da OrderSelect() se a OrderSelect() falhou?
Pare de codificar, olhe seu código, leia-o linha por linha, entenda o que ele está realmente fazendo e se não é o que você pretendia, então você tem um problema que precisa consertar.
O MathFloor arredonda as casas decimais para o número INTEGRAL mais próximo?
FirstTarget faz sentido como parâmetro personalizado dentro de "OrderClose()" - Assumindo que "sizeClose" estava correto? (veja código citado)
Seu código não ajudou - desculpe.
Você pode imprimir variáveis personalizadas? Se sim, devo estar fazendo isso errado, pois não está aparecendo na revista.
OrderModify não é relevante, você está certo.