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

 
hoz:

http://photoload.ru/data/c4/9a/b1/c49ab15e130c84a1ca9c51711fcf423a.jpg Sigo sin entender la lógica de los indicadores. Por ejemplo, si se toma un indicador de Media Móvil estándar.

Está en el inicio:

Todo es lógico, el siguiente paso es la llamada de la función seleccionada por el usuario... desde la ventana que ha aparecido al estirar en el gráfico del indicador. ¿Verdad?

Hay un trozo de código en INIT que he comentado:

Y sin embargo, en el DataWindow el nombre está escrito. Aquí tienes una captura de pantalla:

Se plantea la cuestión. ¿Por qué necesita el INIT este fragmento de código?


Elimine el gráfico de la ventana (del todo) y ejecútelo de nuevo, el nombre desaparecerá. La reinicialización en las subventanas sólo va así.
 
alsu:

Elimine el gráfico de la ventana (por completo) y ejecútelo de nuevo, el nombre desaparecerá. La reinicialización en las subventanas sólo va así.

Sí, es cierto. Ahora está todo claro.
 
TarasBY:
La forma más fácil de dar sentido a lo que se escribe es tomar conciencia de cada línea de código (firmando). Y es muy probable que llegue una epifanía...
P.D. También es una buena idea aprender a insertar código en tu post pulsando el botón "SRC".

Gracias lo tendré en cuenta.
 

¡Hola!

¿Has visto un asesor experto semiautomático de la ecuación de Fibonacci, dibujo y comercia. Me ayudó con el código bi y Fibonacci incrustado en MQ4.

Gracias.

 
¿Pueden decirme cómo cronometrar la transformación de una orden pendiente en una orden de mercado?
 
Por favor, explique la pregunta en el comentario del código
 { int buys=0,sells=0;
 {
  
    for (int i=0;i>OrdersTotal();i++)                            //цикл перебора ордеров ????
  {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)break;     // если есть ордер ????
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC)   // определяем принадлежность ордера к инструменту и маджику  ????
      {
         if(OrderType()==OP_BUY)  buys++;               // что означает buys++  ????????? присвоивает переменной новое значение?
         if(OrderType()==OP_SELL) sells++;             // и sell++     ?????????????
        }
        }
 
novator:
Por favor, explique la pregunta en los comentarios del código

La variable que acumula las órdenes de compra se incrementa en 1 (cosa de programadores)
 
YOUNGA:

la variable que acumula las órdenes de compra se incrementa en 1 (cosa de programadores)
Gracias,
es decir, si hay más órdenes que 0 se sale de la función?
 {
   int buys=0,sells=0;
//----
   for(int i=1;i>OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
        {
         if(OrderType()==OP_BUY)  buys++;
         if(OrderType()==OP_SELL) sells++;
        }
     }
//---- 
   if(buys>0) return(buys);
   else       return(-sells);
 

¡Hola!

¿Cómo puedo arreglar el código para que no sólo busque los máximos y mínimos dentro de un día, sino también un intervalo determinado en unos días?

Esto es lo que tengo:

if(HoraInicial<=HoraFinal)

{

delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

timeEnd =timeStart+delta;

}

if(HoraInicial>HoraFinal)

{

delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

timeStart =timeEnd-delta;

 
Legeo777:

¡Hola!

¿Cómo puedo arreglar el código para que no sólo busque los máximos y mínimos dentro de un día, sino también un intervalo determinado en unos días?

Esto es lo que tengo:

if(HoraInicial<=HoraFinal)

{

delta=(EndHour*3600+EndMinute*60)-(StartHour*3600+StartMinute*60);

timeStart=iTime(NULL,PERIOD_D1,0)+StartHour*3600+StartMinute*60;

timeEnd =timeStart+delta;

}

if(HoraInicial>HoraFinal)

{

delta=(1440*60-(StartHour*3600+StartMinute*60))+(EndHour*3600+EndMinute*60);

timeEnd=iTime(NULL,PERIOD_D1,0)+EndHour*3600+EndMinute*60;

timeStart =timeEnd-delta;


En mi opinión, es más fácil utilizar el array de series temporales estándar y la sentencia for.

Razón de la queja: