Hola!,
Tengo un asesor experto que no permite abrir operaciones si el spread es mayor que "x" pips. El caso es que quiero cambiar a que el máximo spread admisible sea en puntos y no en pips...¿cómo puedo hacerlo?, gracias!!!
Text("Current Spread: "+DoubleToString(Spread(),1)+" pips",3);
double Spread(string symbol=NULL)
{
double res=(int)SymbolInfoInteger(NN(symbol),SYMBOL_SPREAD);
int digits=(int)SymbolInfoInteger(NN(symbol),SYMBOL_DIGITS);
if(digits==5 || digits==3 || digits==1) res=res*0.1;
return(res);
}
Según la documentación de MQL5, la función que usas para averiguar el spread [SymbolInfoInteger(NN(symbol),SYMBOL_SPREAD)] devuelve el valor en puntos, no en pips...
Hola!,
Tengo un asesor experto que no permite abrir operaciones si el spread es mayor que "x" pips. El caso es que quiero cambiar a que el máximo spread admisible sea en puntos y no en pips...¿cómo puedo hacerlo?, gracias!!!
Text("Current Spread: "+DoubleToString(Spread(),1)+" pips",3);
double Spread(string symbol=NULL)
{
double res=(int)SymbolInfoInteger(NN(symbol),SYMBOL_SPREAD);
int digits=(int)SymbolInfoInteger(NN(symbol),SYMBOL_DIGITS);
if(digits==5 || digits==3 || digits==1) res=res*0.1;
return(res);
}
double Spread(string symbol=NULL) { double res=(int)SymbolInfoInteger(NN(symbol),SYMBOL_SPREAD); return(res); }
Si pones la formula simplemente asi, te retorna el valor en puntos,
el problema es que si esta funcion se llama en otras
partes del codigo, pues puede afectar la logica y/o resultados del expert.
Si aun asi no funciona, puede ser que el input maximo spread, tambien se transforme a pips, en algun lugar del codigo
Espero lo puedas
solucionar
Saludos!!!
Si pones la formula simplemente asi, te retorna el valor en puntos,
el problema es que si esta funcion se llama en otras partes del codigo, pues puede afectar la logica y/o resultados del expert.
Si aun asi no funciona, puede ser que el input maximo spread, tambien se transforme a pips, en algun lugar del codigo
Espero lo puedas solucionar
Saludos!!!
Gracias!!!,
Exacto, tendria el mismo efecto que omitirlo
El tema, repito, es que puede afectar la logica del expert en "otro" lado, porque quizas esa funcion sea llamada para otros calculos
Saludos!!!
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Hola!,
Tengo un asesor experto que no permite abrir operaciones si el spread es mayor que "x" pips. El caso es que quiero cambiar a que el máximo spread admisible sea en puntos y no en pips...¿cómo puedo hacerlo?, gracias!!!
Text("Current Spread: "+DoubleToString(Spread(),1)+" pips",3);
double Spread(string symbol=NULL)
{
double res=(int)SymbolInfoInteger(NN(symbol),SYMBOL_SPREAD);
int digits=(int)SymbolInfoInteger(NN(symbol),SYMBOL_DIGITS);
if(digits==5 || digits==3 || digits==1) res=res*0.1;
return(res);
}