Errores, fallos, preguntas - página 647

 
Gracias por el mensaje, hemos corregido este lugar. Lo probaremos por nuestra cuenta.
 

¡Compañeros programadores! Necesitamos tu ayuda.


Necesito hacer una edición en el código de MT4. El Asesor Experto de Martin pone una serie de órdenes en orden a través del delta especificado y, a partir de algún número de operación (por ejemplo, la 4ª operación), comienza a aumentar el delta en un coeficiente.
Necesito que este delta no se prolongue infinitamente hasta que se acabe toda la serie. Pero sólo hasta un determinado nivel, que establecemos en los ajustes (por ejemplo Max_delta = 50 puntos). Y cuando delta sea >= Max_delta, tomaría este valor de forma continua hasta que la serie termine. Y entonces empezaría desde el principio.

Aquí está el código del programa donde se estira el delta:


int Delta(int OrdNum){
if(Orden_inicial_delta>1){
if(OrdNum>Start_order_delta){
int p=OrdNum-Start_order_delta;
return(Toma_beneficio*MathPow(Delta_exp,p))
}
}
return(Take_profit);
}

Por favor, ayúdenme a introducir una restricción delta en este código.
 

Propiedad CHART_BRING_TO_TOP

Se puede fijar, pero no se puede determinar el valor actual.

ChartSetInteger(0,CHART_BRING_TOP,true) - funciona.

ChartGetInteger(0,CHART_BRING_TOP,0) - no funciona.

 
MoneyJinn:

Propiedad CHART_BRING_TO_TOP

Se puede fijar, pero no se puede determinar el valor actual.

ChartSetInteger(0,CHART_BRING_TOP,true) - funciona.

ChartGetInteger(0,CHART_BRING_TOP,0) - no funciona.

Bueno, todo tiene sentido. La llamada tiene tres parámetros, ¿o me equivoco?

Usando la segunda opción sólo obtenemos el valor establecido como falso, no el valor actual.

En cuanto a la obtención del valor, necesitamos cuatro parámetros (el último contendrá el valor actual).

bool  ChartGetInteger(
   long    chart_id,     // идентификатор графика
   int     prop_id,      // идентификатор свойства
   int     sub_window,      // номер подокна
   long&   long_var      // сюда примем значение свойства
   );
 
Interesting:

Bueno, eso tiene sentido. La llamada tiene tres parámetros, ¿o me equivoco?

Usando la segunda opción, sólo obtenemos el valor SET de false, no definimos el valor actual.

En cuanto a la obtención del valor - necesitamos cuatro parámetros (el último contendrá el valor actual).


Sí, te equivocas. Se permiten múltiples formas de entrada de ChartGetInteger.

Pero independientemente de la forma de registro de ChartGetInteger es imposible obtener el valor actual de la propiedadCHART_BRING_TO_TOP.

 
MoneyJinn:

Son posibles varias formas de entrada de ChartGetInteger.

Pero independientemente de la forma de entrada de ChartGetInteger,no es posible obtener el valor actual de la propiedadCHART_BRING_TO_TOP.

¿Y cuál es el valor devuelto por la segunda variante de la función ChartGetInteger (4 parámetros)? ¿Y el código de error?

 
Yedelkin:

¿Y qué valor devuelve la segunda variante de la función ChartGetInteger (4 parámetros)? ¿Y el código de error?

Valor 0; error 4109 - es decir, no existe tal propiedad.
 
MoneyJinn:
Valor 0; error 4109 - es decir, no existe tal propiedad.

Según el Manual, esta propiedad simplemente no se admite:

Para la segunda llamada, devuelve true si esta propiedad está soportada y el valor ha sido colocado en la variable long_var, en caso contrario devuelve false.

El código de error dice lo mismo. La cuestión de por qué no se admite la propiedad del gráfico CHART_BRING_TO_TOP está en el nivel del desarrollador. Y si la propiedad está realmente soportada, entonces la pregunta es de nuevo a su nivel: ¿por qué en tal caso la función ChartGetInteger devuelve false?

 
¿Por qué no se produce el evento OnTick en el probador de estrategias? Construye 586. Al principio pensé que había un error en mi programa. Inició Moving Average.mq5 para la depuración. Establezca un punto de interrupción en el primer operador del evento OnTick. No vi ninguna reacción en una hora.
 
tor30515:

¿Por qué no se produce el evento OnTick en el probador de estrategias? Construye 586. Al principio pensé que había un error en mi programa. Inició Moving Average.mq5 para la depuración. Establezca un punto de interrupción en el primer operador del evento OnTick. No vi ninguna reacción en una hora.

¿Y el probador se descarga para depurar?