Deseos para MQL5 - página 51

 
¿Hay algún plan para utilizar los gráficos "tic-tac-toe" en Metatrader? Ahora tengo que usar Omega con todos los inconvenientes que implica. Estaría bien ver este tipo de gráfico en MT.
 
kombat писал (а) >>

La solución es muy sencilla...

Cambiando el nombre de StatementDetailed.htm a statement.htm

¡Gracias! De lo contrario, habría tenido problemas...

 
Pharaon писал (а) >>
¿Planea algún "tic-tac" en Metatrader? Ahora tengo que usar Omega con todos los inconvenientes que causa. Sería bueno ver este tipo de gráfico en MetaTrader.

¿Podría mostrarme una captura de pantalla? ¿Te gustaría ver el tres en raya?

 

al menos struct, enum, typedef

 

En MT4, desde hace algún tiempo, el precio de las órdenes de comercio no puede ser normalizado - la normalización se hace automáticamente por el terminal.

Esto en sí mismo es bueno y correcto. El problema viene si se prueba un programa de este tipo: en el probador no se realiza la normalización automática. Las caídas de los servidores virtuales ocurren con todo lo que provocan.

La uniformidad es un deseo indeseable. Sería bueno utilizar un bloque común en MT5 para los cálculos en el probador y en el terminal.

 
¡Saludos!
He encontrado un problema al escribir un EA: aparece un error
ERR_ZERO_DIVIDE 4013 Dividir por 0
El código es el siguiente:
//30мин------------------Волчок ----------------------------------------------2
  if(High[1]-Open[1]!=0 && Open[1]-Close[1]!=0 && Close[1]-Low[1]!=0 && 
  Open[1]>Close[1] && (High[1]-Open[1])/(Close[1]-Low[1])>=0.85 && (Open[1]-Close[1])/(High[1]-Open[1])>=0.85 
   && (Open[1]-Close[1])/(Close[1]-Low[1])>=0.85 )
  {
  persent_sell=persent_sell+2;
  Print("Волчок 30мин sell+2");
  }
Es decir, he comprobado la ausencia de división por cero en la condición, pero ay, se produce el error, aunque entiendo que esto es sólo una condición, es decir, no se realiza ninguna acción, && está en todas partes, y por lo tanto en caso de incumplimiento al menos de la primera condición, el trabajo posterior de esta parte del código ya es ineficaz.
Tienes que hacerlo:
//30мин------------------Волчок ----------------------------------------------2
  if(High[1]-Open[1]!=0 && Open[1]-Close[1]!=0 && Close[1]-Low[1]!=0)
  if(Open[1]>Close[1] && (High[1]-Open[1])/(Close[1]-Low[1])>=0.85 
   && (Open[1]-Close[1])/(High[1]-Open[1])>=0.85 
   && (Open[1]-Close[1])/(Close[1]-Low[1])>=0.85)
  {
  persent_sell=persent_sell+2;
  Print("Волчок 30мин sell+2");
  }
Con esta condición adicional, el error ya está ausente. Pero, por ejemplo, en esta forma con una condición (sin división por cero)
//30мин------------------Проникающие линии -----------------------------------3
  if(High[2]-Low[2]!=0 && Open[1]>Close[1] && Open[2]<Close[2] && Close[1]<Open[2]
   && Open[1]>=(Low[2]+(High[2]-Low[2])/3) && High[1]<=(High[2]-(High[2]-Low[2])/3))
  {
  persent_sell=persent_sell+3;
  Print("Проникающие линии 30мин sell+3");
  }
el error no se produce, es decir, la comprobación procede con normalidad.
No entiendo cuál es el problema porque entiendo que el primer caso es correcto y sin errores.
 
¡¡¡SE ECHA EN FALTA LA POSIBILIDAD DE REGISTRAR Y CORREGIR LOS COMENTARIOS CUANDO Y DESPUÉS DE ABRIR UN PEDIDO!!!
 
z_e_e_d писал (а) >>
Saludos.
He encontrado un problema al escribir un EA: aparece un error
ERR_ZERO_DIVIDE 4013 División por 0.
...

Espeluznante, no quiero ni ocuparme de las prioridades de las operaciones en una entrada así...

Para empezar, te aconsejo que pongas subexpresiones generales delante del if...

 
z_e_e_d писал (а) >>
Saludos.
He encontrado un problema al escribir un EA: aparece un error
ERR_ZERO_DIVIDE 4013 División por 0

Tienes 3 divisiones en if-e. Si (Close[1]-Low[1])==0 O (High[1]-Open[1])==0 O (Close[1]-Low[1])==0 - de acuerdo - es muy posible, entonces será una división por 0.

 
SK. писал (а) >>

¿Podría mostrarme una captura de pantalla? ¿Te gustaría ver el tres en raya?

Captura de pantalla del gráfico "tic-tac-toe" de Omega

Razón de la queja: