[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 10

 
Y otra pregunta relacionada con el funcionamiento de la biblioteca.
He creado el archivo de la biblioteca, lo he compilado y todo ha ido sin errores.
He importado la función en el código del indicador, lo he compilado y todo está bien también.
Cuando inicio el indicador, la función a importar no se ejecuta, cuando uso

código indicador, todo funciona. Aquí está el código de la biblioteca.

//+------------------------------------------------------------------+
//|                                                         lib1.mq4 |
//|                                         Copyright © 2012, Fox.RM |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Fox.RM"
#property link      "http://www.metaquotes.net"
#property library
//+------------------------------------------------------------------+
//| My function                                                      |
//+------------------------------------------------------------------+
double Sredn(double ArrSr[])
{
double a=1,c,step=1/20;
for (int i=0;i<=20;i++)
{if (ArrSr[i]==0){a*=1;}else{a*=MathAbs(ArrSr[i]);}}
c=MathPow(a, step);
  return(c);
}
//+------------------------------------------------------------------+

Se trata de una llamada en el código del indicador:

#import "lib1.ex4"
    double Sredn(double& ArrSr[]);
    void SetText(string name, string name2, string text, string text2, color c, 
int size);
#import

 
Fox_RM:
¡Buenos días a todos!
Decidí reescribir el código de mi indicador para un Asesor Experto para seguir
He decidido cambiar el código de mi indicador para trazar el procesamiento de sus señales.
No tengo errores al compilarlo y funciona en el Probador de Estrategias sin errores.

No sé cómo usarlo.

Z.I. Estoy seguro de que hay un montón de errores y estúpido, por favor, disparar balas de fogueo.

int counted_bars=IndicatorCounted(); 

Tú mismo escribes que tienes un Asesor Experto y la función es para un indicador.

Cuente el número de barras que quiera a la fuerza y no más.


En segundo lugar, añada una comprobación de que ya ha habido una apertura por esta señal o recibirá una nueva orden cada tick.

En tercer lugar, compruebe la función iCustom

 
ilunga:

Tú mismo escribes que tienes un Asesor Experto, y la función es para un indicador.

Cuenta el número de barras que quieras a la fuerza y no más.

¿Y cómo se calcula a la fuerza?
 
Fox_RM:
¡Buenos días a todos!
Decidí reescribir el código de mi indicador para un Asesor Experto para seguir
He decidido cambiar el código de mi indicador para trazar el procesamiento de sus señales.
No tengo errores al compilarlo y funciona en el Probador de Estrategias sin errores.

No sé cómo usarlo.

Z.I. Estoy seguro de que hay un montón de errores y estúpidos, por favor, disparar balas de fogueo.


Precio de apertura
if (Sredn(TP_UP)>=2.5)OrderSend(Symbol(),OP_SELL,0.1,Close[i],2,50,20);
 if (Sredn(TP_DN)>=2.0)OrderSend(Symbol(),OP_BUY,0.1,Close[i],2,50,20);
 
Fox_RM:
¿Cómo se fuerza un recuento?
Sólo la señal de la barra 0 es importante para los Asesores Expertos y la apertura de operaciones, ¿no es así? Por lo tanto, acorta el ciclo de cálculo del número de barras al número necesario para este cálculo
 
r772ra:

Precio de apertura

Es decir, ¿utilizar esta condición para recalcular las barras?

Pero en mi indicador, en cada tick se calculan las matrices TP_UP y TP_DN. Por lo tanto, debemos calcularlos en primer lugar.

 
ilunga:
Para su Asesor Experto y para abrir operaciones, la única señal en la barra 0 es importante, ¿no? Por lo tanto, acorta el ciclo de cálculo del número de barras al número necesario para este cálculo

Intenté abrir órdenes en una nueva barra allí usando la función NewBar(). ¿Si se utiliza para este fin?

Por ejemplo if (NewBar())i++; Algo así.

 
ilunga:
Para su Asesor Experto y la apertura de la operación sólo importa la señal en la barra 0, ¿no es así? Así que acorta el ciclo de cálculo del número de barras al número necesario para este cálculo
Y sigo sin entender muy bien cuál es la diferencia fundamental entre estos dos cálculos para un Asesor Experto;(
 
Fox_RM:
Y otra pregunta relacionada con el funcionamiento de la biblioteca.
He creado el archivo de la biblioteca, lo he compilado y todo ha ido sin errores.
He importado la función en el código del indicador, lo he compilado y todo está bien también.
Cuando inicio el indicador, la función a importar no se ejecuta, cuando uso

código indicador, todo funciona. Aquí está el código de la biblioteca.

Se trata de una llamada en el código del indicador:

¿Tal vez no preparaste el array correctamente en el indicador init()? ¿He entendido bien que la función de importación no funcionaba allí?
 
TarasBY:
¿Quizás el array no se preparó correctamente en el indicador init()? ¿He entendido bien que la función de importación no funcionaba allí?
No, no lo hizo. Lo he comprobado, todo parece estar correcto. Y además, ¿por qué funciona correctamente cuando se utiliza en el programa?