[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 42

 
TarasBY:

Falta una variable en la llamada al indicador: ¡¡¡el buffer!!!


Está funcionando. Gracias de nuevo.
 

Pregunta para los entendidos.

Hay un código en el gráfico real los comentarios son correctos. en el probador de la estrategia todos los valores son iguales a 2147483647

¿Qué ocurre aquí?

¿O debemos añadirEMPTY_VALUE a la comprobación?

¿Y debemos normalizar siempre los datos obtenidos de los indicadores para compararlos entre sí en 5 dígitos?

double adxLastBuy,adxLastSell,adxLast;

for (int i=0; i<Bars; i++)
{
   adxLastBuy=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,i); if (adxLastBuy>0) break;
   
}
for (int j=0; j<Bars; j++)
{
   
   adxLastSell=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,j); if (adxLastSell>0) break;
}

for (int k=0; k<Bars; k++)
{
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,k); if (adxLast>0) break;
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,k); if (adxLast>0) break;
}



 Comment("Цена последнего ADX Покупки: ", adxLastBuy, " Цена последнего ADX продажи: ", adxLastSell, " Последний сигнал ", adxLast );
 
Twilight:

Pregunta para los entendidos.

Hay un código en el gráfico real los comentarios son correctos. en el probador de la estrategia todos los valores son iguales a 2147483647

¿Qué ocurre aquí?

¿O debemos añadir EMPTY_VALUE a la comprobación?

¿Y debemos normalizar siempre los datos obtenidos de los indicadores para compararlos entre sí en 5 dígitos?

Es obligatorio cuando se utiliza iCustom. Como:
if(signal!=0 && signal!=EMPTY_VALUE){
   BuySignal=true;
}
 
mmm ...también hay un problema ...el pitido a veces suena como si estuviera puesto en el código News.wav y más a menudo suena Alert.wav

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
 
odiseif:
mmm ...también hay un problema ...el pitido a veces suena como si estuviera puesto en el código News.wav y más a menudo suena Alert.wav

¿Podría decirme dónde está el error?
 

Por favor, ayúdenme, díganme cómo implementar el código EA en dos o tres líneas:

Cuando llega una señal (por ejemplo, el cruce de dos MA)

1.Expert Advisor determina el tiempo de la señal (en horas, minutos), lo almacena;

2. Cuenta atrás de un minuto.

A continuación, la disposición a hacer algo (por ejemplo, abrir un pedido)
 
Twilight:

Pregunta para los entendidos.

Hay un código en el gráfico real los comentarios son correctos. en el probador de la estrategia todos los valores son iguales a 2147483647

¿Qué ocurre aquí?

¿O debemos añadir EMPTY_VALUE a la comprobación?

¿Y debemos normalizar siempre los datos obtenidos de los indicadores para compararlos entre sí en 5 dígitos?

El búfer del indicador tiene un concepto de "valor vacío". Es (por defecto) igual a EMPTY_VALUE, pero se puede cambiar usando la función SetIndexEmptyValue(). Este es el valor que el buffer no dibuja en el gráfico (si es que lo hace). Es el valor que falta el que hay que comprobar, si es necesario.
 
odiseif:
Mm ... también hay un problema ... el pitido a veces suena como el código News.wav y más a menudo suena Alert.wav

Hay algunas tonterías escritas aquí:

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0);

Lea sobre iCustom().

 
Andrey-F:

Por favor, ayúdenme, díganme cómo implementar el código EA en dos o tres líneas:

Cuando llega una señal (por ejemplo, el cruce de dos MA)

1.Expert Advisor determina el tiempo de la señal (en horas, minutos), lo almacena;

2.Cuenta atrás de un minuto.

A continuación, la disposición a realizar alguna acción (por ejemplo, abrir un pedido)

En una variable global se escribe el valor del tiempo en el momento de la recepción de la señal:

    if (Signal) gdt_TimeSignal = TimeCurrent();

y luego cuente su minuto (puede hacerlo):

    if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
    {
        //---- Открываете ордер
        OrderSend ();
        gdt_TimeSignal = 0;
    }

Esta es una solución para seguir el tiempo después de que haya ocurrido un evento.

 
TarasBY:

En una variable global, escriba el valor del tiempo en el momento de la señal:

y luego contar su minuto (podría hacerlo):

Esta es una solución para seguir el tiempo después de que haya ocurrido algún evento.



Alternativamente, puede establecer cualquier momento después de la llegada de la señal
if (Signal) gdt_TimeSignal = TimeCurrent();
//
//
//
if (TimeCurrent()-gdt_TimeSignal >=60)
     {
     //
     }