示例#1
0
        // apres 1h voir parmi la liste si (createdAt > 2h ou si delta > 1%) && si ordre achat
        public async Task Lancer()
        {
            Stopwatch sw = new Stopwatch();

            while (sw.Elapsed < TimeSpan.FromMinutes(240))
            {
                var ordresAchatEcartTemps = algoHaussiers.Where(s => ValiderEcartTemps(s.DernierOrdre));

                // utiliser messages pour signifier quand s'arreter
                if (algoHaussiers.Count < NombreMaxAlgos)
                {
                    AlgorithmeHaussierOrdreUnique alH = new AlgorithmeHaussierOrdreUnique(pair, 1000, 0.05m, 0.5m, algoHaussiers.Count + 1);
                    algoHaussiers.Add(alH);
                    await alH.Initialiser();

                    var order = await alH.Lancer();
                }
            }
        }
        private static async Task Main(string[] args)
        {
            PrepareNLog();

            // File.Create(nomDuFichier).Close();

            var authenticator     = new CoinbasePro.Network.Authentication.Authenticator(apiKeySandbox, secretSandbox, passSandbox);
            var coinbaseProClient = new CoinbaseProClient(authenticator, sandBox: true);

            Pair pairBTCEUR = new Pair(coinbaseProClient, idBTCSandbox, idEURSandbox, ProductType.BtcEur);
            Pair pairETHEUR = new Pair(coinbaseProClient, idETHSandbox, idEURSandbox, ProductType.EthEur);
            Pair pairLTCEUR = new Pair(coinbaseProClient, idLTCSandbox, idEURSandbox, ProductType.LtcEur);

            IEnumerable <Account> accounts;

            accounts = await pairBTCEUR.ListerLesComptes();

            //Task.Run(async () =>
            //{
            //    await pair.ListerLesProduits();
            //}).GetAwaiter().GetResult();

            //Task.Run(async () =>
            //{
            //    await pair.ListerLesMonnaies();
            //}).GetAwaiter().GetResult();

            //Task.Run(async () =>
            //{
            //    await pair.DerniereCotation();
            //}).GetAwaiter().GetResult();

            Task.Run(async() =>
            {
                await pairBTCEUR.AvoirDuCompteCrypto();
            }).GetAwaiter().GetResult();

            Task.Run(async() =>
            {
                await pairBTCEUR.AvoirDuCompteFiat();
            }).GetAwaiter().GetResult();

            //Task.Run(async () =>
            //{
            //    await pair.MinimumMonnaies();
            //}).GetAwaiter().GetResult();

            //Task.Run(async () =>
            //{
            //    await pair.AnnulerTousOrdresOuverts();
            //}).GetAwaiter().GetResult();

            //AlgorithmeHaussierOrdreUnique alHETHEUR = new AlgorithmeHaussierOrdreUnique(pairETHEUR, 1000, 0.05m, 1.5m, ++nombreAlgos);
            //await alHETHEUR.Initialiser();
            //alHETHEUR.Lancer();

            //AlgorithmeHaussierOrdreUnique alHLTCEUR = new AlgorithmeHaussierOrdreUnique(pairLTCEUR, 1000, 0.05m, 1.5m, ++nombreAlgos);
            //await alHLTCEUR.Initialiser();
            //alHLTCEUR.Lancer();

            AlgorithmeHaussierOrdreUnique alHBTCEUR = new AlgorithmeHaussierOrdreUnique(pairBTCEUR, 3500, 0.05m, 1.5m, ++nombreAlgos);
            await alHBTCEUR.Initialiser();

            alHBTCEUR.Lancer();

            Console.ReadKey();
        }