Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 118

 
drems:
¿Puede decirme si hay alguna forma de establecer comentarios por defecto en el pedido?

¿Qué tipo de "orden"? ¿Para qué sirve? ¿Dónde y por qué necesita un comentario?
 
hoz:

Tengo algo sobre un simple punto, un dolor de cabeza. Existe una función de búsqueda de pedidos.

t - contador de todos los pedidos.

p - contador de órdenes pendientes.

Lo llamo desde el principio:

De hecho, cuando lo abrimos, aunque no haya pedidos, vemos esto (aunque no haya pedidos, se imprime como si los hubiera...):

¿Cómo es posible?


Ahí tienes...
if (OrderType() > 1)
      {
          p++;
      }
      t++;
Что у нас тут? Если тип ордера больше OP_SELL, то увеличиваем p

¿Ha pensado alguna vez que el tipo de pedido también puede ser más de cinco? Concretamente seis. Se trata de un cambio no comercial en el depósito.

 
artmedia70:
Ahí tienes...

¿Ha pensado alguna vez que el tipo de pedido también puede ser más de cinco? Concretamente seis. Se trata de un cambio no comercial en el depósito.



No. Es la primera vez que lo oigo. ¿Dónde dice eso?
 
FAQ:
depósito = tipo 6

Hmm. ¿¡Tipo de pedido = depósito!? ¿Qué es eso?
 
artmedia70:
Ahí tienes...

¿Ha pensado alguna vez que el tipo de pedido también puede ser más de cinco? Concretamente seis. Se trata de un cambio no comercial en el depósito.



Y por qué 6, porque el tamaño o el número de órdenes se puede establecer de forma independiente en el Asesor Experto.
 
hoz:

Hmm. ¿¡Tipo de pedido = depósito!? ¿Qué es esto?

todos los retiros y depósitos van por debajo de este número
 
Profitov:

Y por qué 6, porque el tamaño o el número de órdenes se puede escribir en el EA.

¿De qué estamos hablando? No estamos hablando del número de pedidos, sino del tipo de pedido. Por lo tanto: una orden de tipo 6 es una modificación no comercial del depósito.
 
hoz:

No. Es la primera vez que lo oigo. ¿Dónde dice eso?

Se trata de datos no documentados.
 
FAQ:

Todos los retiros y depósitos van por debajo de ese número.


¿Y cómo puede afectar este número a la recogida de estadísticas de pedidos?

artmedia70:

Se trata de datos no documentados.

¡Eso es genial! Lo más interesante es que alguien lo sabe, curiosamente. ¿Cómo podría alguien haber adivinado eso?

artmedia70:

¿De qué estamos hablando? No se trata del número de pedidos, sino del tipo de pedido. Así pues, una orden de tipo 6 es un cambio de depósito no comercial.

Si se prueba un búho en la demostración, ¿cómo se puede contabilizar este orden? Es decir, el saldo, que se da inicialmente en la demo - será eso... ¿el buscado? Y en el real - esto es lo que hemos retirado y depositado, ¿verdad?

 
Sepulca:

Esto debería funcionar, no lo he probado yo mismo, ya que el terminal está ocupado optimizando otro EA hasta ahora

¡Hola!

He intentado pegar tu código en la plantilla del tutorial. Tengo que abrir una sola posición pero la plantilla sólo tiene una posición.

La variable ticket tiene otro nombre, ya que la plantilla ya tiene una y la hizo estática, por lo que el criterio de retirada recibiría datos de ella, si la posición se mantiene en el día siguiente.

Todo está bien, pero ha aparecido un problema de bucle. Por ejemplo, en el Probador de Estrategias, el Asesor Experto sale de una posición en el Take Profit o cierra vender y el criterio de entrar sigue activo, por lo que resulta que el EA abre y cierra constantemente una posición.

Este problema se solucionó añadiendo una variable estática de fecha t anteriormente, pero ahora

 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S; 
      t=Time[0];  
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
     {
       if (Time[0]>t)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }
     }

vender deja de funcionar.

Funciona pero hace un bucle:

#define magic 123456789
StartHour=14;
StartMinute=1;// Время 08:01
StopHour=16;
StopMinute=30; // Время 23:58
StartTime=StartHour*60+StartMinute;
StopTime=StopHour*60+StopMinute;
static int tickett=-1;
static double Maximum=-1;
static datetime t;
if(StopTime<=StartTime) {Print("ERROR: Неправильные времена"); return(0);}
 CurrentMinutesFromDayStart=Hour()*60+Minute();// Текущее время в минутах от начала дня
 datetime td=iTime(Symbol(),PERIOD_D1,0);// Время открытия дневного бара в секундах от 01.01.1970
 if(CurrentMinutesFromDayStart<StartTime) {Maximum=-1;Flag=true;}// Если StartTime еще не настало, то после StopTime нужно пересчитать Maximum и можно открывать ордер
if(CurrentMinutesFromDayStart>StopTime && Maximum<0) {// если максимум ещё не посчитан
  datetime ts=td+StartTime*60;// начало временного диапазона в секундах от 01.01.1970
  start= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  ts=td+StopTime*60;// конец временного диапазона в секундах от 01.01.1970
  count= iBarShift(Symbol(),PERIOD_M1,ts,false);// смещение бара, которому принадлежит ts
  count=start-count;// Сколко баров длится временной интервал
  Maximum=iHigh(Symbol(),PERIOD_M1,iHighest(Symbol(),PERIOD_M1,MODE_HIGH,count,start));//Находим максимум на заданном временном интервале
 }
 if(Maximum>0 && Flag) {
   signal = Maximum - Bid;    
   if (signal > 0.005 ) { // к примеру если ниже максимума на 12 пунктов, в этом случае откроем SELL 
      Opn_S = true;
      tickett= Opn_S;   
      if(tickett>=0) Flag=false;// Ордер открылся, сегодня больше не открываем.       
   }  
}
 
if(tickett>=0) 
    {
double stop = iHigh(Symbol(),Period(),0) - iHigh(Symbol(),Period(),1);
if (stop > 0.0012)
            {
             Cls_S=true;   
             tickett=-1;          
            }
      }

¿Cuál puede ser el problema? Intenté todo lo que se me ocurrió, pero no soy muy bueno en mql .

Adjunto el Asesor Experto, no es posible colocar todo el texto.

Archivos adjuntos:
svhrvrsa.mq4  14 kb