IqOptionApiDotNet icon indicating copy to clipboard operation
IqOptionApiDotNet copied to clipboard

Error PlaceDigitalOptions in 5M and 15M expiration time.

Open Chiquiuam opened this issue 2 years ago • 0 comments

Obtengo este error al usar PlaceDigitalOptions en 5 y 15 minutos. A 1 minuto trabaja bien.

quotesApplication.ConsumeQuoteByTime: invalid instrument: doAUDCAD-OTC202203182105PT5MCSPT

He modificado el código de IqOptionApiDotNet.Models.DigitalOptions en el método DigitalOptionsIdentifier es una reparación rápida pero me funciono.

public DigitalOptionsIdentifier( ActivePair pair, OrderDirection direction, DigitalOptionsExpiryDuration duration, DateTimeOffset now) { Pair = pair; Direction = direction; Duration = duration; Expiration = DateTimeUtilities.GetExpirationTime(now.UtcDateTime, duration);

        **//PARTE QUE CORRIGE ERROR POR CHIQUIUAM-RENE ABREGO
        if (duration == DigitalOptionsExpiryDuration.M5 || duration == DigitalOptionsExpiryDuration.M15)
        {
            DateTimeOffset tiempo = DateTimeOffset.Now;

            String strM = tiempo.ToString("mm");
            int ultimo = Convert.ToInt32(strM.Substring(1, 1));


            if (ultimo >= 0 && ultimo < 5)
                tiempo = tiempo.AddMinutes(5 - ultimo);

            if (ultimo >= 5)
                tiempo = tiempo.AddMinutes(10 - ultimo);

            if ((ultimo == 4 && tiempo.Second >= 30) || (ultimo == 9 && tiempo.Second >= 30))
                tiempo = tiempo.AddMinutes(5);

            if (duration == DigitalOptionsExpiryDuration.M15)
                tiempo = tiempo.AddMinutes(10);

            //REINICIO SEGUNDOS
            tiempo = new DateTimeOffset(tiempo.Year, tiempo.Month, tiempo.Day, tiempo.Hour, tiempo.Minute, 0,tiempo.Offset);
            //CONVIERTO A UTC
            tiempo = tiempo.UtcDateTime;

            Expiration = tiempo;
        }**
    }

Chiquiuam avatar Mar 19 '22 03:03 Chiquiuam