Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 766

 
Aleksey Vyazmikin:

Propongo no desviarme del concepto, que, según entendí, era copiar una cierta cantidad de datos de la barra al principio del código, y luego trabajar con estos datos - ¿o sugieres una excepción?

Y, ¿qué te hace pensar que soy un programador?

No creo que sea necesario adivinar - lo que será más rápido, a veces la respuesta puede no ser obvia - sólo la experiencia puede dar una respuesta a tales preguntas.

Entonces eres bienvenido aquí.

 
Vitaly Muzichenko:

Es necesario eliminar los objetos con un Ticket que ya están en el historial, pero no los que todavía están en el mercado.

Necesita un Ticket para una posición cerrada, pero no puede obtenerlo con PositionSelect().

 
Vitaly Muzichenko:

hay que eliminar los objetos con billete que ya están en el historial, pero no los que todavía están en el mercado

Duplicado:

¿Y si la tarea se "invierte"?

Elimina los objetos de los billetes cuyas posiciones ya están fuera del mercado... o NO eliminar los objetos del ticket, que aún no están en el historial, y eliminar el resto... Que es básicamente lo mismo.

 
Ivan Ivanov:

En resumen, necesitas el Ticket de la posición ya cerrada, pero no puedes obtenerlo con PositionSelect().

Este es un script que devuelve todas las entradas de posición cerradas para un periodo histórico determinado.

void OnStart()
{ ulong DealTicket; // for Function : replace void with ulong
  ulong PositionTicket;
  if ( HistorySelect(TimeCurrent()-30*24*60*60,TimeCurrent()) ) // Select History = 30 days
  { if ( HistoryDealsTotal()>0 )
    { int DealIndex=HistoryDealsTotal()-1;
      while ( DealIndex>=0 )
      { DealTicket=HistoryDealGetTicket(DealIndex); // select Deal 
        if ( HistoryDealGetInteger(DealTicket,DEAL_ENTRY)==DEAL_ENTRY_OUT ) // Deal close Position
        { PositionTicket=HistoryDealGetInteger(DealTicket,DEAL_POSITION_ID);
          Print("\n DealTicket = "+IntegerToString(DealTicket));
          Print("PositionClosedByDeal = "+IntegerToString(PositionTicket));
          // if ( some condition ) // for Function : Your selection
          // return (PositionTicket); // for Function : Enable return
        }
        DealIndex--;
      }
      // Print("Warning = Nothing selected from History"); // for Function : remove //
    }
    else Print("Warning = Empty History (select longer History)");
  }
  else Print("Error = "+IntegerToString(GetLastError())+" = Not loaded History");
  // return (-1); // for Function : Enable return
}

El código indica cómo convertirlo en una función (en inglés)

 
Ivan Ivanov:

Este es el script que devuelve el Ticket de todas las Posiciones cerradas para un periodo de Historia determinado.

El código muestra cómo convertirlo en una función (en inglés)

Lo más interesante es que ya se mencionó de inmediato:

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategia

Preguntas de los principiantes MQL5 MT5 MetaTrader 5

Artyom Trishkin, 2017.07.24 23:33

¿Has probado a buscar un comercio cerrado (OUT)? La orden estaba allí - se puede ver.

Pero Vitaly no entendió el significado de lo que estaba escrito. Y ni siquiera me pidió que lo repitiera.
 
Artyom Trishkin:

Lo interesante es que esto ya fue mencionado inmediatamente:

Pero parece que Vitaly no entendió el significado de lo escrito. Y ni siquiera me pidió que lo repitiera.

Gracias Artyom, decidí dejarlo para más tarde, lo pregunté mientras dormía)


Ivan Ivanov:

Este es el script que devuelve el Ticket de todas las Posiciones cerradas para un periodo de Historia determinado.

El código indica cómo convertirlo en una función (en inglés)

Gracias por el código, me ha servido de ayuda.


¡Problema resuelto!

 
Artyom Trishkin:

Lo interesante es que esto ya se ha mencionado de entrada:

Pero Vitaly no parecía entender el significado de lo que estaba escrito. Y ni siquiera volvió a preguntar.

Para el moderador:

El hombre quería el código (idea de implementación). Y no había, pero fue enviado a Freelance.

 
Ivan Ivanov:

Al moderador :

La persona quiere el código (idea de implementación). Y allí NO fue golpeado, sino que fue enviado a la libertad.

¿Tiene el moderador un nombre?
Conozco a Vitaly. Le basta con mostrar la dirección correcta. El código es para los perezosos y los tontos. Y no es Vitaly quien fue enviado a trabajar por cuenta propia. Pero alguien que no es programador.
Una idea de aplicación es una idea, un algoritmo.
Y la aplicación es el código, y no siempre el correcto.

 
Artyom Trishkin:
¿Tiene el moderador un nombre?
Conozco a Vitaly. Le basta con mostrar la dirección correcta. El código es para los perezosos y los tontos. Y no fue Vitaly el que fue enviado a los autónomos. Pero para alguien que no es programador.
La idea de aplicación es una idea, un algoritmo.
Y la aplicación es el código, y no siempre el correcto.

¿Tiene nombre alguien que no sea programador?

Sí, no soy programador por educación, pero cada día trabajo para dominar esta habilidad nada fácil.

 
Aleksey Vyazmikin:

¿Tiene nombre alguien que no sea programador?

Sí, no soy programador de formación, pero trabajo cada día para dominar esta habilidad nada fácil.

Ah, ahí lo tienes. ¿Todavía tienes ganas de aprender a programar? Entonces, trate de entender lo que se le ofrece y no se haga el examinador. No te ofendas, pero así es como he entendido todas las objeciones y preguntas sobre CopyRates().

Tampoco soy programador por formación. Cuando yo estudiaba no existía esa especialidad y contaba con un aritmómetro "Félix".