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

 
gross >>:

Здравствуйте, решил занятся изучением MQL4, начал работать с массивами, возник вопрос: при выводе элемента Time[] выходит такое вот значение 1264149780, вместо вида 2006.11.01 14:35 к примеру, или возможно 1264149780 это координата?

leer https://docs.mql4.com/ru/convert/Time ToStr

1264149780 es el número de segundos desde el 01.01.1970

 
alsu писал(а) >>

buscar más errores lógicos.

SRC es así:

Encontrado el error lógico todo coincide.
Ahora el guión tiene este aspecto, tal vez alguien esté interesado:
int start()
  {
int Period_CCI=18;
int Period_MA=9;
double MApoCCI;
double ind_CCI, ind_CCI_2;
double Sum_CCI;
for (int k=0; k<5; k++)
  {
      for (int i=1+ k; i< Period_MA+1; i++)
       {
         ind_CCI= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, i);
         Sum_CCI= Sum_CCI+ ind_CCI;
       }
     MApoCCI= Sum_CCI/ Period_MA;
     int n= k+1;
     ind_CCI_2= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, n);
     Alert("MA по СиСиАй "+ k+" = "+ MApoCCI);
     Alert("СиСиАй "+ k+" = "+ ind_CCI_2);
     Sum_CCI=0;
}
//----
   return(0);
  }
 
Vekker писал(а) >>

¿Quiere un guión o un indicador?

Como ejemplo de indicador

Archivos adjuntos:
 
Vinin писал(а) >>

¿Quiere un guión o un indicador?

Como ejemplo de indicador

Esta secuencia de comandos será más adelante en el EA - como una secuencia de comandos fue escrito para comprobar el rendimiento de esta pieza y la corrección de los números que produce para su posterior procesamiento.

>>Gracias por el indicador adjunto, ¿puede explicar de qué se trata?

 
Vekker писал(а) >>

Este script estará más adelante en el EA - como script fue escrito para comprobar el funcionamiento de esta pieza y la corrección de los números que produce para su posterior procesamiento.

Gracias por el indicador adjunto, ¿puede explicar de qué se trata?

// Construir WPR

for (i=limit;i>0;i--) WPR[i]=iWPR(NULL,0,WPR.Period,i);

//Primer alisado
for (i=limit;i>0;i--) EMA1[i]=iMAOnArray(WPR,0,EMA.1.Period,0,MODE_EMA,i);

// Segundo alisado
for (i=limit;i>0;i--) EMA2[i]=iMAOnArray(EMA1,0,EMA.2.Period,0,MODE_EMA,i);

Debemos crear un indicador que pueda ser utilizado posteriormente en el Asesor Experto.

Será mejor y más rápido.

 

¿Puede decirme cuál es el problema? Doy dos piezas de código que cierran todas las operaciones de la misma dirección:

for( ii=0; ii<OrdersTotal(); ii++)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

y la segunda:

for( ii=OrdersTotal(); ii>0; ii--)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

Parece que es lo mismo, sólo que la segunda debería cerrar las operaciones a partir de la última, y la primera debería cerrar a partir de la primera.

Así, el primero funciona correctamente, todas las operaciones se cierran, pero el segundo sólo cierra la última operación y el resto no. ¿Por qué?

 
Azimuth >>:

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

и второй:

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

Se puede reducir el uso extraño de la devolución, las condiciones y el anidamiento.

if ((OrderType()==OP_BUY) && ( closelong==1))


Y la cuenta atrás puede OrdersTotal por uno.


 
Puedes decirme cómo hacer que funcione el zigzag en el probador. Ejecuto un script buscando puntos pivote y da resultados de la ventana de cotizaciones reales, no es el primer indicador que hace eso. ¿Cómo puedo combatirlo?
 
Andrei-1 писал(а) >>
Me pueden decir cómo hacer que el zigzag funcione en el probador. Estoy ejecutando un script buscando puntos pivote pero muestra los resultados de la ventana de cotizaciones reales, no es el primer indicador que hace eso. Cómo combatirlo.

Un zigzag lanzado sobre el gráfico en modo de visualización mira hacia el futuro.

Puedo darte un zigzag que no mira al futuro.

 
Vamos a intentarlo. Sí, capturando savchenkoandrei-ya@yandex.ru o el enlace.