Tous les articles par naifos

Trade Manager Universel

Salut à tous !

Je vous livre une démo d’un trade manager sur un compte démo de binance sur le menu Projet UTM (trade manager universel) . Le logiciel complet prendra plus de broker qu’uniquement binance et permettra de mettre en place des stratégies (mise à break even et allègement automatique si il y a cassure de la mm7 hourly etc..)

login : test mp : test1234

 

Nouvelle application MobileNet v2 rekognition

Salut à tous !

Je viens de développer une nouvelle application Flask IA computer vision qui reconnait (plus ou moins bien XD) des images. J’utilise pour cela au choix soit le réseau neuronal mobilenet v2 soit le service rekognition d’amazon exclusivement pour les jpeg ou les png. Il est dans la barre de menu Image recognition.

Bon je suis d’accord on est bien loin des ChatGPT et autres application d’openAI, de google mais c’est déjà pas mal, soyez indulgent svp 🙂 Je présente aussi la prédiction d’image à partir d’url et du modèle resnetv50 dans une fonction lambda avec conteneur docker. Plus à suivre 🙂

 

Ichimoku binance

Salut !

Suite à l’impossibilité d’afficher l’indicateur Ichimoku sur un de mes écrans 4k pour 4 cryptos différentes voici le code indicateur personnalisé

cliquez sur graphiques 2,3,4 ou 8 crypto, cliquez sur ajout d’indicateur

et sélectionnez Indicateurs personnalisé

Cliquez sur ajouter

Et effacez le code et mettez celui là

#@version = 1
study("Ichimmoku binance by Yann",overlay=True)

tenkan_period = input(9, type="int")
kijun_period = input(26, type="int")
chikou_displacement = input(26, type="int")
kumo_forwarding = input(26, type="int")
senko_span_b_period = input(52, type="int")
source = input(open,"source",type="source")



tenkan = avg(lowest(source,tenkan_period), highest(source,tenkan_period))
kijun = avg(lowest(source,kijun_period), highest(source,kijun_period))
senkouA = avg(tenkan, kijun)
senkouB = avg(lowest(source,senko_span_b_period), highest(source,senko_span_b_period))

plot(tenkan, color="orange", title="Tenkan")
plot(kijun, color="green", title="Kijun")
plot(close, offset = -chikou_displacement + 1, color="white", title="Chikou")
senkouA_plot = plot(senkouA, offset = kumo_forwarding - 1, color="green",
 title="Senkou A")
senkouB_plot = plot(senkouB, offset = kumo_forwarding - 1, color="orange", 
 title="Senkou B")
fill(senkouA_plot, senkouB_plot, color = senkouA > senkouB ? "orange" : "blue", title="Kumo Colors")

Ensuite enregistrer et ajouter au graphique.

A+ 😉

Screener gap d’éjection journalier Prorealtime trading

Bonjour à tous,

J’ai développé un screener sous prorealtime trading qui permet de détecter un gap d’éjection à la hausse journalier sur le cours d’un actif.

Je me permet d’indiquer la procédure pour tout le monde

Il faut cliquer sur la petite clé ici (ici mon screener de gap d’éjection journalier)

 

Puis appuyez sur créer

et enfin entrez le code par programmation

 

Voici le code

// Initialisation de l’Amplitude (du gap)
Amplitude = 0.001
// Initialisation du détecteur
Detector = 0// Gap Up// 1ère condition d’existence d’un gap
IF Low > High[1] THEN
// 2e condition d’existence d’un gap
IF ABS((Low - High[1]) / High[1]) > Amplitude THEN
// Comportement du détecteur
Detector = close
ENDIF
ENDIF
screener[Detector]

 

Binance script mm20 mm50 macd zero lag bb

Bonjour à tous.

Vous avez surement remarqué que sur la plateforme binance il y avait sur l’onglet Original et non pas trading view un bouton qui permet d’ajouter une fonctionnalité d’indicateur personnalisé.

Voici l’écran en question

 

Cliquez sur Indicateur personnalisé et « Ajouter »

vous tomberez sur un écran de scripting

 

Et voici le code pour la mm20 mm50 bb macd zéro lag en histogramme

#@version = 1

study(title="Choupa modified naifos",overlay=True)


length = input(20, type="int")
src = input(close, title="Source",type="source")
mult = input(2.5, type="float", title="StdDev")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, "Basis", color="#872323")
p1 = plot(upper, "Upper", color="teal")
p2 = plot(lower, "Lower", color="teal")
fill(p1, p2, title = "Background", color=color("#198787",75))

plot(sma(close,20),color="blue")
plot(sma(close,50),color="red")


smacourte = input(12,type="int")
lmalongue = input(26,type="int")
tsp = input(9,type="int",title="Signal")

MMEslowa = input(12,type="int")
MMEslowb = ema(MMEslowa,lmalongue)

DEMAslow = ((2 * MMEslowa) - MMEslowb )
MMEfasta = ema(close,smacourte)
MMEfastb = ema(MMEfasta,smacourte)
DEMAfast = ((2 * MMEfasta) - MMEfastb)

LigneMACDZeroLag = (DEMAfast - DEMAslow)

MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )

MACDZeroLag = (LigneMACDZeroLag - Lignesignal)

histo = LigneMACDZeroLag-Lignesignal

plot(histo,color=LigneMACDZeroLag>Lignesignal?"green":"red" ,style="histogram")

Le github qui correspond

https://github.com/ian75013/binanceMM20MM50MACD0LAGBB

soit git clone https://github.com/ian75013/binanceMM20MM50MACD0LAGBB.git

Machine learning engineer

Dans le cadre de mon projet d’avoir un deuxième bac+5 en tant qu’ingénieur du CNAM option Optimisation et Modélisation Mathématiques je vous joins une image de mon CV 😉

Néanmoins j’ai déjà un master d’ingénierie mathématiques et informatique qui me permet de prétendre à ce titre.

A bon entendeur 😉

Bonjour tout le monde !

Voilà un premier code de calcul parallèle basique utilisant la bibliothèque MPI(message Passing Interface).

#include <mpi.h>
#include <stdio.h>

int main(int argc, char** argv) {
    // Initialize the MPI environment
    MPI_Init(NULL, NULL);

    // Get the number of processes
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);

    // Get the rank of the process
    int world_rank;
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);

    // Get the name of the processor
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    int name_len;
    MPI_Get_processor_name(processor_name, &name_len);

    // Print off a hello world message
    printf("Hello world from processor %s, rank %d"
           " out of %d processors\n",
           processor_name, world_rank, world_size);

    // Finalize the MPI environment.
    MPI_Finalize();
}

Autre example en asp.net core C#. C’est un middleware qui prend en compte la nationalité du visiteur.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Web;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Builder;
using MiddlewareApp2;

namespace MiddlewareApp2
{
    public class RequestCultureMiddleware
    {

        private readonly RequestDelegate next;
        private readonly RequestCultureOptions options;

        public RequestCultureMiddleware(RequestDelegate next, RequestCultureOptions options)
        {
            this.next = next;
            this.options = options;
        }

        public Task Invoke(HttpContext context)
        {
            CultureInfo requestCulture = null;

            var cultureQuery = context.Request.Query[&#34;culture&#34;];
            if (!string.IsNullOrWhiteSpace(cultureQuery))
            {
                requestCulture = new CultureInfo(cultureQuery);
            }
            else
            {
                requestCulture = this.options.DefaultCulture;
            }

            if (requestCulture != null)
            {
#if !DNXCORE50
                Thread.CurrentThread.CurrentCulture = requestCulture;
                Thread.CurrentThread.CurrentUICulture = requestCulture;
#else
                CultureInfo.CurrentCulture = culture; 
                CultureInfo.CurrentUICulture = culture;
#endif
            }
            return this.next(context);
        }

      
    }
}
public static class RequestCultureMiddlewareExtensions
{
    public static IApplicationBuilder UseRequestCulture(this IApplicationBuilder builder)
    {
        return builder.UseMiddleware&lt;RequestCultureMiddleware&gt;();
    }
    public static IApplicationBuilder UseRequestCulture(this IApplicationBuilder builder, RequestCultureOptions options)
    {
        return builder.UseMiddleware&lt;RequestCultureMiddleware&gt;(options);
    }
}

Et voici la mise en place du fichier Startup.cs qui met en route le middleware.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Globalization;
using MiddlewareApp2;

namespace MiddlewareApp2
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseRequestCulture();

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync($"Hello {CultureInfo.CurrentCulture.DisplayName}");
            });
        }
    }
}