[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 68

 
sergeev:

derecho aparece.

Hay que tomar la oferta y la demanda de la función MarketInfo

como - ask= MarketInfo(OrderSymbol(), MODE_ASK);

y no te olvides de normalizar
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS));

 

Por favor, dígame que está haciendo el proceso de normalización,

¿Qué hace? Explica si no te importa.

 
iv_danko:

Dígame por favor, aquí está haciendo el proceso de normalización,

¿Y para qué se hace? Explíquelo si no le importa.


double NormalizeDouble( valor doble, dígitos int)

Redondear un número en coma flotante a la precisión especificada.
Los valores calculados de StopLoss y TakeProfit, así como los precios de apertura de las órdenes pendientes deben ser normalizados a la precisión, cuyo valor se almacena en la variable predefinida Dígitos.

Puede producirse un error cuando los precios no están normalizados.

 
Vinin:

Lo siento. Totalmente olvidado.

Gracias por el indicador, pero no es lo mismo. La condición (ma13_0-ma55_0)*(ma13_1-ma55_1)<0 muestra si hubo o no un cruce entre los flaps (hice un indicador separado para ello). Tienes entradas por el cruce, y no es exactamente lo mismo. Quiero filtrar las flechas para que sólo se muestre la primera flecha después de cambiar la dirección.

Las flechas de su indicador son grandes. Los pequeños son de un indicador que necesita ser ajustado.

 
gince:


Yo añadiré. No es exactamente comprar y vender. También es un cálculo del precio de las órdenes de stop.

 
iv_danko:

Por favor, dígame que está haciendo el proceso de normalización,

¿Qué hace? Explica si no te importa.

 

¿Por qué no funciona esta comprobación?

for(int i=limit-1;i>=0;i--){ 
   flag[i] == flag[i+1];   
   if ( flag[i] == 1  &&   
        условие продажи){              
       Продажа[i] = High[i]+point*Point; 
       flag[i] == -1 ;
    }                     
    if (flag[i] == - 1  &&     условие покупки){          
              Покупка[i] = Low[i]-point*Point; 
              flag[i] == 1 ;}
    }
}    
 
Yo haría un renderizado temporal del buffer flag[] y vería lo que hay en él. A simple vista, todos los valores que contenga serán iguales.
 
gince:

¿Por qué no funciona esta comprobación?

Creo que han hecho lo correcto.
 
granit77:
Yo haría un renderizado temporal del buffer flag[] y vería lo que hay en él. A simple vista, todos los valores de la misma serían iguales.
Hice un renderizado temporal del buffer flag[] - está vacío, ¿por qué? ¿Dónde está mi error?
Archivos adjuntos:
cross1_2.mq4  5 kb
Razón de la queja: