[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 625

 
evillive:

¿Puedo preguntar por qué es necesario "normalizar a 4 o 2 dígitos" (si tiene comillas de 5 dígitos)?(si las comillas están en 5 dígitos)"? 5 y 3 dígitos deberían funcionar también...

Hay muchos huecos pequeños en las cotizaciones de 5 dígitos, tengo miedo de que el precio salte... No quiero perderme una entrada.

Por cierto, si quito el pip del código, las órdenes siguen sin abrirse :(

 
¿Cuánto cuesta adjuntar una alerta a una simple TS de dos indicadores?
 
alsu:
Su función iTime toma la i-ésima barra de un archivo (para cada tamframe por separado) en la carpeta tester\history, tal vez los archivos de historia para D1 y H1, donde la última barra corresponde al 13 de enero, se encuentran allí desde alguna ejecución antigua.
¿Qué hay que hacer? Parece que actualizo el historial sistemáticamente.
 
MarkTrade:

Buenas tardes.

¿Pueden decirme por qué este código no está operando?

Y la alerta no funciona.

El tronco es completamente silencioso...

En la captura de pantalla se puede ver la coincidencia de condiciones.


La captura de pantalla es un gráfico de cinco dígitos. Con un deslizamiento como el suyo

OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,CLR_NONE);

la orden se abrirá, pero hay que esperar a que coincidan las condiciones de entrada y lo más importante - el mercado estará muy tranquilo.

-----

La alerta se activará, pero en un nivel de cinco dígitos

if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alert("!!!!!!!!!!!");

hay que esperar, unos dos años, a que haya una coincidencia exacta - al precio le gusta saltar, dar saltos, y usted quiere que sea exacto hasta el 5º dígito

 
alsu:
Si se utiliza MQL, entonces sólo dentro de la carpeta experts\files

Sí, el archivo a copiar está dentro de experts\files.

¿Cómo se puede copiar con MQL4?

 
zxc:


La captura de pantalla es un gráfico de cinco dígitos. En un deslizamiento como el suyo

OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,CLR_NONE);

la orden se abrirá, pero hay que esperar a que coincidan las condiciones de entrada y lo más importante - el mercado estará muy tranquilo.

-----

La alerta se activará, pero en un nivel de cinco dígitos

if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alert("!!!!!!!!!!!");

hay que esperar, unos dos años, a que el precio sea exacto; al fin y al cabo, al precio le gusta saltar, dar saltos, y tú quieres que sea exacto hasta el quinto dígito.

Para ello lo normalizo a 4 dígitos.

¿Qué tiene que ver esto con el deslizamiento? Si hubiera recotizaciones en el registro, sí.

Esta captura de pantalla muestra la correspondencia exacta y el diario ni siquiera intentó abrir el pedido.

 
MarkTrade:

Por eso normalizo a cuatro dígitos.

¿Qué tiene que ver esto con el deslizamiento? Si había requotes en el registro, entonces sí.

La captura de pantalla muestra la coincidencia exacta, mientras que el registro ni siquiera intentó abrir una orden.

Estás normalizando incorrectamente. Si quiere normalizar a 4 dígitos, escriba NormalizeDouble(...,4) - lea de nuevo lo que significa el segundo parámetro: número de decimales. Multiplique 3 o 5 por 10 como lo hace: obtendrá 30 o 50 dígitos, pero no 4.
 
MarkTrade:

Por eso normalizo a cuatro dígitos.

¿Qué tiene que ver el deslizamiento con esto? Si había requotes en el registro, entonces sí.

La captura de pantalla muestra la coincidencia exacta, mientras que el registro ni siquiera intentó abrir una orden.


¿Permite este tipo de cuenta abrir órdenes a la vez con stops?
 
atztek:

Sí, el archivo a copiar está dentro de experts\files.

¿Cómo se puede copiar con las herramientas MQL4?


No existe una función de copia de archivos como tal. Pero es posible, por ejemplo, así:

//копирует src в dest
void CopyFile(string dest, string src )
{
   int handle1,handle2;
   handle1=FileOpen(src ,FILE_BIN|FILE_WRITE);
   handle2=FileOpen(dest,FILE_BIN|FILE_READ);
   FileSeek(handle1, 0, SEEK_END);
   FileSeek(handle2, 0, SEEK_SET);
   while(true)
   {
      string s=FileReadString(handle2,1);
      if(!FileIsEnding(handle2))
         FileWriteString(handle1,s,1);
      else break;  
   }
   FileClose(handle1);
   FileClose(handle2);
}
 
Fox_RM:
¿Qué hay que hacer? Parece que actualizo el historial sistemáticamente.

En realidad, es algún tipo de error, no debería estar en el probador...

Intenta jugar con los archivos del historial, borra todo lo que hay en la carpeta tester\history para empezar...