Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1052

 
rapid_minus:

Nota

La función Sleep() no puede ser llamada desde los indicadores personalizados, ya que los indicadores se ejecutan en el hilo de la interfaz y no deben ralentizarlo. La función lleva incorporada una comprobación del estado de la bandera de parada del experto cada 0,1 segundos. La función Sleep() en el probador de estrategias no causa ningún retraso.

Todo el mundo es tan inteligente que da miedo. Escribí que el deslizamiento fue ignorado en el probador (lo cual es claro), pero todas las posiciones están abiertas siempre y cuando las haya especificado. Pero en el deslizamiento de demostración no funciona, y la posición se abre sólo uno, y que se cierra inmediatamente. Este es el problema que no puedo resolver.

¿Dónde está su código?

¿Quizás esto pueda ayudar?

 
rapid_minus:

Lo inteligente que es todo el mundo, simplemente da miedo. Si no sabes leer: he escrito que el deslizamiento se ignora en el probador (lo cual es claro), pero las posiciones son todas abiertas, como se indica. Pero en el deslizamiento de demostración no funciona, y la posición se abre sólo uno, y que se cierra inmediatamente. No puedo resolver este problema.

Por lo visto no es la primera vez que te pones grosero, por eso nadie te contesta. Aunque ya se le ha dado respuesta a su segunda pregunta.

Pero sólo podrías responder así.

Rapid_minus:
Está claro que la oferta ha envejecido, pero esperaba que este diseño permitiera abrir varias posiciones en la barra actual con diferentes precios de apertura de la oferta. Y funciona bien en el tester, pero en la demo abre una posición y la cierra inmediatamente. cómo evitarlo no está claro.

¿Qué esperabas? Hemos ofrecido una solución. Debería leerlo con atención.

 
rapid_minus:
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Sleep(10000);
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red);
Necesitamos después de cada Sleep(10000); RefreshRates(); La oferta se actualizará y el pan de jengibre será nuestro
 
AlexeyVik:

Sí, para determinar el número de decimales. Esto es necesario para normalizar el valor del lote si el lote está definido por alguna fórmula y el resultado puede tener más decimales de los permitidos. En algunos casos, podrías poner simplemente un dos, pero entonces podrías encontrarte con un error, así que es mejor definirlo programáticamente.

Hay otra forma de hacerlo. Hay dos maneras de resolver este problema: una es convertir el número en cadena, definir la longitud de la cadena, encontrar el índice del carácter de punto y la diferencia entre la longitud de la cadena y el índice del carácter de punto se evaluará como parte fraccionaria del número. Y en el foro de mql5, puedes encontrar varias variantes, algunas más finas, otras más fáciles.

Aquí hay una más de mis variantes.

Esta función determina el número de decimales de absolutamente cualquier número.

El algoritmo es escandalosamente sencillo: considere cuántas veces el residuo de la división por 1 es mayor que cero.

No he dicho que mi manera sea mejor. Cada programador escribe su propia manera de resolver el problema.

Un número de tipo double, aunque no tenga dígitos significativos en la parte fraccionaria, se ve como 2.0, lo cual no es del todo correcto, y para obtener un entero normal se convierte a tipo int implícitamente.

Muchas gracias.

Pero, ¿por qué hay que anteponer (int) a la expresión?

 
Igemon:

Muchas gracias.

¿Por qué se pone (int) delante de la expresión?

Leeesto, es muy útil.
 
¡Gracias, LRA! Como siempre en este hilo, la ayuda viene del lado equivocado. La mayoría de los "gurús" locales no ayudan a los recién llegados, sino que se limitan a admirarse, aunque en otras ramas a veces están ellos mismos en asuntos sencillos. Por eso son tan susceptibles como los de primer año. Gracias también a artmedia70 por el enlace. Me hizo reír. Y es hermoso, una carita en el tabloide.
 
En el momento en que el indicador registra el gráfico de ticks en el Gráfico Offline, la apertura del gráfico es manual.
¿Puedo abrir un gráfico en un Asesor Experto desde la opción Abrir gráfico sin conexión por su nombre? He mirado ChartOpen() pero no funciona por su nombre.
 
Igemon:       ¿Por qué se pone (int) delante de la expresión?
Pruébalo con él y pruébalo sin él. Un experto en la materia dijo: Experiencia = criterio de verdad
 
Hola a todos... Me pueden decir si existe una función de mql4 que cumpla la siguiente condición: si se abre una orden, digamos de compra en la señal del indicador... Luego si hay una señal de reversión se cierra la compra y se abre la venta... etc. O aconsejar cómo registrarlo en su Asesor Experto ... Gracias de antemano
 
buenas tardes! ¿pueden aconsejar a una persona analfabeta cómo expresar la vela en porcentaje?