Estou criando uma estratégia para que meu EA abra ordens conforme uma quantidade determinada de pontos, e somente se for maior abra essa ordem, nem msm maior ou igual é permitido.
Para isso, criei um método que verifica a distancia da ultima ordem para a proxima e se for permitido então a proxima ordem é aberta.
Isso já esta funcionando, com exceção de que as vezes a ordem é aberta com a quantidade menor de pontos que foi determinada, por exemplo,
o usuario determinou que somente pode abrir ordens quando for maior de 100 pontos desde a ultima aberta.
Geralmente, isso acontece, de abrir uma ordem com menos pontos quando o mercado está com muita volatilidade, quando esta calmo é respeitado
a condição.
Minha pergunta é, como posso forçar para abrir uma nova ordem se, e somente se, atingir a quantidade de pontos determinada ?
Estou tentando assim.
/**
verifica se pode abrir uma nova ordem após um determinado numero de pontos
mn = magic number
dio = distance orders
*/bool isOpenNextOrder(int mn, double dio){
double _points = 0;
int _ticket = getLastTicketOrder(mn);
if(OrderSelect(_ticket, SELECT_BY_TICKET)){
RefreshRates();
if(OrderType() == OP_BUY){
_points = NormalizeDouble((OrderOpenPrice() - OrderClosePrice()) / Point, Digits);
if(_points > dio){
returntrue;
}
}
if(OrderType() == OP_SELL){
_points = NormalizeDouble((OrderClosePrice() - OrderOpenPrice()) / Point, Digits);
if(_points > dio){
returntrue;
}
}
}
returnfalse;
}
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.
Salve galera.
Estou criando uma estratégia para que meu EA abra ordens conforme uma quantidade determinada de pontos, e somente se for maior abra essa ordem, nem msm maior ou igual é permitido.
Para isso, criei um método que verifica a distancia da ultima ordem para a proxima e se for permitido então a proxima ordem é aberta.
Isso já esta funcionando, com exceção de que as vezes a ordem é aberta com a quantidade menor de pontos que foi determinada, por exemplo,
o usuario determinou que somente pode abrir ordens quando for maior de 100 pontos desde a ultima aberta.
Geralmente, isso acontece, de abrir uma ordem com menos pontos quando o mercado está com muita volatilidade, quando esta calmo é respeitado
a condição.
Minha pergunta é, como posso forçar para abrir uma nova ordem se, e somente se, atingir a quantidade de pontos determinada ?
Estou tentando assim.