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
Tengo la sensación de que perdemos un poco el control sobre el código....
No, seguro que este no es el lugar adecuado.
Este 'manejo de errores' no mejora nada. Compruébalo de nuevo.
Esto no ha sido creado por diversión. Se debe utilizar para restablecer las banderas ejecutadas en una nueva barra.
¿Qué hemos aprendido sobre la comparación de dobles y si esto tiene algún sentido aquí?
Así que has decidido borrar tu post al que me refiero... ¡Bien hecho, eso es muy útil!
Lo siento pero ayer hubo problemas en internet (mql4.com dejó de funcionar). Estaba tratando de corregir algo y ... colapso
No es fácil ayudarte. Por qué no tratas de implementar sólo una estrategia por ahora, pero con unafunción adecuada, Open(), Close(), Count(), NewBar(), Signal().
El bloque de abajo está fuera de la función de inicio. No estoy seguro de que esto es buscado.
Pienso lo mismo que tú, pequeños pasos. Vamos a tomar sólo una opción BULL4
A veces se parece a Ea a mi en codebase
https://www.mql5.com/en/code/9156 - interesante
Entiendo esto (pero no siento), es una bandera yentiendo su propósito
¿Qué piensas? sobre los pequeños pasos
Sí, pequeños pasos, por lo que los errores son manejables...
¿Quieres destacar algo en concreto del código base del EA?
No volveré a ver esto - no te ayudaré más si sigues ignorando los pasos de corrección, que yo - u otra persona - ha aconsejado hacer:
¿El deslizamiento es 0? Seguramente te dará un error, pero el manejo de errores arreglado lo detectará :-)
Esto no está mal, pero no es lo ideal y en el peor de los casos no hace lo que quieres dentro del bucle. Lo mejor es que ni siquiera empieces a usar bucles de 0 a OrdersTotal. Lee esto: Bucles y Cierre o Eliminación de Pedidos
¿Cuál es el spread de tu broker y cuántos dígitos tienes para el símbolo que quieres operar? No estoy seguro de que utilices el Punto correctamente (Lee en la primera página de tu hilo).
Sí, pequeños pasos, por lo que los errores son manejables ...
¿Quieres destacar algo específico de la base de código EA?
Creo que no, nada de luz, entiendo lo que escribí.
No volveré a ver esto - no te ayudaré más si sigues ignorando los pasos de corrección, que yo - o alguien más - ha aconsejado hacer:
Sí. Sé lo que hacer NormalizeDouble, creo que entiendo ( si tengo: euro / usd = 1.2390022129.....09.... Y necesitamos: 1,29893 fin! no infinito ) pero no puedo escribir esto, ¿podría ser esto?
if ( NormalizeDouble ( abc(),0 ) )
If ( NormalizeDouble ((Close[1]-Bid) +3*punto),0 ) ;
¿El deslizamiento es 0? Probablemente obtendrá un error, pero el manejo de errores fijo lo atrapará :-)
Puedo tener +1 sin problema result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[ 1]-25*Point,0,"",MAGICMA1,0,Blue);
el error se maneja, bueno, vemos lo que será después
Esto no está mal, pero no es lo ideal y en el peor de los casos no hace lo que quieres dentro del bucle. Lo mejor es que ni siquiera empieces a usar bucles de 0 a OrdersTotal. Lea esto: Bucles y Cierre o Eliminación de Pedidos
MUY BUEN ARTICULO! Debería leer esto al principio :)
¿Cuál es el spread de tu broker y cuántos dígitos tienes para el símbolo que quieres operar? No estoy seguro de que utilices correctamente el punto (leído en la primera página de tu hilo).
Me acuerdo de estos. Tengo Admiral Market Bid=1,29000 Ask = 1,29001. Estos es un problema que sé,, pero no tengo la resolución en estos momentos no he encontrado el buen ejemplo.
Estoy escribiendo código...
Sí. Sé lo que hace NormalizeDouble, creo que lo entiendo ( si tengo: euro/usd = 1.2390022129.....09.... Y necesitamos 1,29893 fin! no infinito ) pero no puedo escribir estos, podría ser estos?
if (NormalizeDouble( abc(),0 ) )
No se puede NormalizarDoble() un bool, la pista está en el nombre de la función y en la documentación también....
No puedes NormalizeDouble() un bool, la pista está en el nombre de la función y en la documentación también....
Es una pena que no podamos normalizar la verdad para que sea muy cierta :-(
Sí. Sé que hacer NormalizeDouble, cosa que entiendo ( si tengo: euro/usd = 1.2390022129.....09.... Y necesitamos: 1,29893 fin! no infinito ) pero no puedo escribir estos, podrían ser estos?
No, no tienes que normalizar Bid o Close[1]. Lo que quise decir es que no debes comparar por igualdad.
Imagínate:
Close[1] = 1,31933
Nueva_barra
Tick1, Bid = 1.31935
Tick2, Oferta = 1.31934
Tick3, Oferta = 1.31937
Tick4, Oferta = 1.31937
Tick5, Oferta = 1.31942
Su código busca un Tick donde Bid es 1.31936
Esto no sucedería, si usted usa > .
Puedo tener +1 sin problema result=OrderSend(Symbol(),OP_BUY,0.41,Ask, 1 ,Close[1]-25*Point,0,"",MAGICMA1,0,Blue);
Esto no lo hace mucho mejor. Todo su cálculo en Puntos debe ser Pips de mi entendimiento. Sin embargo, no tengo experiencia con los corredores ECN, por lo que podría funcionar.
Esto no está mal, pero no es ideal y en el peor de los casos no hace lo que quieres dentro del bucle. Lo mejor es no empezar a utilizar los bucles de 0 a OrdersTotal. Lea esto: Bucles y Cierre o Eliminación de Pedidos
¡MUY BUEN ARTÍCULO! Debería leer esto al principio :)
De acuerdo y hay muchos artículos muy buenos más, escritos por el mismo autor. También el libro no es un mal lugar para empezar.
Tengo Admiral Market Bid=1,29000 Ask = 1,29001. Esto es un problema que sé,, pero no tengo la resolución en estos momentos no he encontrado el buen ejemplo.
En el sitio web de su corredor se indica, que para el EURUSD, el spread mínimo es de 0,1. El spread medio es de 0,5. <-- ¡Esto se entiende en pips! Así que 0,1 es 1 Punto. 0,5 es 5 Puntos.
Así que en su caso, un Pip es 10*Punto. El spread confundirá todos tus mini cálculos en los que se suman sólo 3 puntos a un precio.
Busque "ajustar para el corredor de 5 dígitos" y usted debe encontrar un montón de ejemplos.
HI :)
Si este código era maloporque pasaba señales, ha mejorado.He pensado que el problema está totalmente en otro sitio, no en el signo de igualdad '=='......... el '>=' es mejor idea por supuesto
Pregunta 1. ¿Tengo que usar MyPips en la vela, en esta función? bool BULL4()
Problema con los dígitos.
He encontrado estos
https://www.mql5.com/en/forum/140097 por WHRoeder
https://www.mql5.com/en/forum/123736 por WHRoeder
¿Qué es Digit ? en https://docs.mql4.com/predefined/variables/digits y https://docs.mql4.com/convert/doubletostr
Como tú eres el experto debería haber dicho algo, podría ser importante.
Ahora uso laplataforma MT4 y veo 4 dígitos después del punto decimal (Bid-Ask= 0.0001 usualy). Por el momento programamosen MQL4 que sea.
En MT5, veo 5dígitos después del punto decimal. haydiferencias entre MQL4 yMQL5. Por el momento este spreed no me importa. Importantepara nuestro EA funcionó bien.
No quiero en este momento para hablar de ello (a menos que sea necesario)
Y yo escribí el programa para mí es bueno :) ¿qué pasa con usted?