[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 21

 
rigonich:


¿Tienela bandera como variable local?

P.D. Cuando no está muy claro lo que ocurre, es mejor imprimir los valores antes y después de la función o sentencia que se quiere comprobar, para ver cómo cambian. A veces los valores de entrada no son lo que esperamos que sean, y encontrar dónde y por qué se convierten en lo que son es mucho más fácil en el código que adivinar por qué el programa no funciona correctamente.


oh mierda...exactamente...si sacas int flag,flagg; de la función Start...entonces todo funciona a la vez :)) otro estúpido error de novato :) ¡GRACIAS!

 
lottamer:

oh mierda...exactamente...si sacas int flag,flagg; de la función Start...entonces todo funciona a la vez :)) otro estúpido error de novato :) ¡GRACIAS!


No sólo los principiantes pueden cometer este tipo de errores, por ejemplo, puedes declarar despreocupadamente una variable local con un nombre que la variable global ya tiene. El compilador no genera errores en este caso, pero el programa no funciona "correctamente". Lo principal es ser capaz de detectar esos errores.
 

Estoy utilizando esta función para limitar el número de órdenes negociadas simultáneamente, pero de hecho el número de órdenes es 1 más que el número establecido en la variable MaxOrders. ¿Cuál puede ser la razón?

   for(i=0; i<=OrdersTotal(); i++)
    {
     if(OrderSelect(i,SELECT_BY_POS)==true)
      {
       if(OrderMagicNumber()==ExpertID)
        {
         if(i>=MaxOrders)
          return;
        }
      }
    }
 
silhouette:

Estoy utilizando esta función para limitar el número de órdenes negociadas simultáneamente, pero de hecho el número de órdenes es 1 más que el número establecido en la variable MaxOrders. ¿Cuál puede ser la razón?


Registramos los pedidos a partir de cero. Por eso tiene este aspecto:

 for(i=0; i<=OrdersTotal()-1; i++)
    {
     if(OrderSelect(i,SELECT_BY_POS)==true)
      {
       if(OrderMagicNumber()==ExpertID)
        {
         if(i>=MaxOrders)
          return;
        }
      }
    }
 
Roman.:

La contabilidad de los pedidos parte de cero. Por lo tanto, es así:



Gracias
 
Roman.:

He aquíun vistazo a cómo cuenta el estocástico de los libros de texto.





¡¡¡Gracias!!!
 

¿Cómo puede ser esto? Tengo un EA, funciona. Compra, vende ... todo claro paradas y takei. pero las pérdidas son grandes, y decido prescribir otro filtro de tendencia. dos promedios - rápido y lento - en un TF muy grande. en H4.

El Asesor Experto debería tener el siguiente aspecto

si (....)

{....

...}

una vez más - ¡todo funciona!

y aquí pongo un filtro (antes defino MA1=iMA...) y casi en la parte superior del árbol if (la segunda condición - y la primera - tiempo si ( Hour()>=7 && Hour()<20)

si (....)

si MA1>MA2

{

{....

...}}

sin errores.

Pero el 95% de los intercambios se cortan. ¡Y en H4 la imagen dice lo contrario - debe haber muchas operaciones, porqueMA1>MA2 se ejecuta durante semanas!

¿alguien puede explicar qué ocurre?

 

Cuando hay muchas líneas en el gráfico (horizontales), las etiquetas (precio de línea) de la escala de precios de estas líneas "obstruyen" toda la escala.

¿Qué es este parámetro de "cola" con el precio de la línea? ¿Y es posible desactivarlo de alguna manera? (Ni siquiera he encontrado una forma manual, pero necesito una forma de software)

Y sólo pondré el precio en el nombre de la línea - eso es suficiente.

 
Ayuda para saber que es el error "EURUSD,M30: uninit reason 5" cuando el asesor trabaja a menudo cuando necesita abrir una nueva posición escribe este error y todo el sistema se rompe (( si hay algún código para arreglar este error por favor envíenme un ejemplo.
 
Frostr:
Ayúdame a comprobar lo que es el error "EURUSD,M30: uninit razón 5" cuando mi asesor se ejecuta a menudo cuando se necesita para abrir una nueva posición que escribe este error y todo el sistema se rompe (( si hay algún código para ayudar a corregir este error por favor, publicar un ejemplo


Códigos de razón devueltos por UninitializeReason(). Puede tener cualquiera de los siguientes valores:

Constante .ValorDescripción
0El guión ha completado su trabajo de forma independiente
REASON_REMOVE1El programa ha sido eliminado de la carta
REASON_RECOMPILE2Programa recompilado
CAMBIO_DE_CARTA_DE_RAZÓN3El símbolo del gráfico o el periodo se ha modificado
REASON_CHARTCLOSE4El gráfico está cerrado
PARÁMETROS_DE_RAZÓN5Los parámetros de entrada fueron modificados por el usuario
REASON_ACCOUNT6Se ha activado otra cuenta
Razón de la queja: