[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 81
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
extern bool BUY = true;
extern int Magic = 0;
extern double Lot = 0.1;
extern int takeprofit = 0;
extern int stoploss = 0;
extern int slippage = 3;
double SL,TP;
int init(){
return(0);
}
int start()
{
if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
BUY=false;
}
return(0);
}
void OPENORDER(string ord)
{
int error;
while (true)
{ error=true;
if (ord=="Buy") error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,",Magic,0){BUY = false;}
}
return;
}
Por favor, dame un ejemplo. Estoy aprendiendo, y aún no me he enfrentado a la tarea de configurar una bandera. )
Por favor, indique cómo permitir una única ejecución de una condición en un EA (por ejemplo, la apertura de una orden), en lugar de repetirla con cada tick. En este caso, al cerrar una posición, el EA no debería abrir una nueva. He intentado hacerlo, pero no funciona como se pretende.
Gracias de antemano.¿por qué ha nombrado la variable donde se guardará el ticket de pedido error?
if (ord=="Buy") error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0){BUY = false;}
Lee sobre OrderSend(), creo que las preguntas desaparecerán solas, yo escribiría algo así:
Tal vez hayas leído antes que he expresado mi problema. Parece que han encontrado una solución, pero no encuentro en el libro cómo trabajar con string en mql(
¿cómo se sacan los números de la línea por línea?
Tal vez hayas leído antes que he expresado mi problema. Parece que han encontrado una solución, pero no encuentro en el libro cómo trabajar con string en mql(
¿cómo se sacan los números de la línea por línea?
Crear un script para experimentar con las funciones de cadena MQL4 - ver aquí https://docs.mql4.com/ru/strings
CERO
¿bajo qué normas, por ejemplo?
Crear un script que experimente con las funciones de cadena MQL4 - ver aquí https://docs.mql4.com/ru/strings/StringSubstr
Gracias.
Tal vez hayas leído un poco antes que expresé mi problema. Parece ser una solución, pero no encuentro en el libro la forma de trabajar con cadenas en mql (
¿Cómo puedo sacar un número de una cadena de números?
para convertir un número en una cadena https://docs.mql4.com/ru/convert/DoubleToStr
cortar una parte de la cadena https://docs.mql4.com/ru/strings/StringSubstr desde el principio https://docs.mql4.com/ru/strings/StringLen
y convertirlo de nuevo al tipo real https://docs.mql4.com/ru/convert/StrToDouble
eso es todo lo que necesitas hacer con cadenas, quizás StrToDouble() sea suficiente para ti.
pero esta "forma fea" cortará el número, no lo redondeará. Otra forma: multiplicar un número real a potencia de x por 10, y dar el resultado al tipo int - si no me equivoco, no habrá redondeo, luego dividir int por 10 a potencia de x.
traducir un número a la cadena https://docs.mql4.com/ru/convert/DoubleToStr
cortar una parte de la cadena https://docs.mql4.com/ru/strings/StringSubstr desde el principio de https://docs.mql4.com/ru/strings/StringLen
y volver a convertir todo a un tipo real https://docs.mql4.com/ru/convert/StrToDouble
eso es todo lo que necesitas hacer con cadenas, quizás StrToDouble() sea suficiente para ti.
pero esta "forma fea" cortará el número, no lo redondeará. Otra forma: multiplicar un número real por 10 a la potencia de x, y dar el resultado al tipo int - si no me equivoco, no habrá redondeo, luego dividir int por 10 a la potencia de x
al menos *cortado*, ya que el número sólo se puede sacar del indicador a una cadena... gracias por el consejo, experimentaré)
IgorM:
Sin nombre :