StrategyQuant
Assistant IA QAlgoCloudQuantAnalyzerQuantDataManager
Cours gratuitEntreprise
BlogDocumentationForumContactez-nous
BlogMarketplace
Se connecter
Créer un compte gratuit

Produit

  • Tarifs & licences
  • Formations
  • Place de marché
  • Commencer l'essai gratuit

Mentions légales

  • Conditions d'utilisation
  • Politique de confidentialité
  • Cookies

Contact

[email protected]

Société

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, République tchèque, UE

IČ : 04000498

DIČ : CZ04000498

Réseaux sociaux

  • Mentions légales | TRAITEMENT ET PROTECTION DES DONNÉES PERSONNELLES

    Les performances passées ne constituent pas une garantie de succès futur. Toutes les informations doivent être considérées à des fins pédagogiques uniquement

    Avertissement des ÉTATS-UNIS requis par le gouvernement - La Commodity Futures Trading Commission précise : Le trading sur les contrats à terme et les options présente d'importantes opportunités de gains, mais implique également un risque potentiel élevé. Vous devez être conscient des risques et être prêt à les accepter afin d'investir sur les marchés des contrats à terme et des options. Ne tradez pas avec de l'argent que vous ne pouvez pas vous permettre de perdre. Ceci ne constitue ni une sollicitation ni une offre d'achat/de vente de contrats à terme, d'actions ou d'options sur ces mêmes instruments. Aucune déclaration n'est faite garantissant qu'un compte réalisera ou est susceptible de réaliser des profits ou des pertes similaires à ceux présentés dans ce document. Les performances passées de tout système ou méthode de trading ne sont pas nécessairement représentatives des résultats futurs.

    RÈGLE CFTC 4.41 - LES RÉSULTATS DE PERFORMANCE HYPOTHÉTIQUES OU SIMULÉS COMPORTENT CERTAINES LIMITES. CONTRAIREMENT AUX RÉSULTATS DE PERFORMANCE RÉELS, LES RÉSULTATS SIMULÉS NE REPRÉSENTENT PAS DES OPÉRATIONS DE TRADING RÉELLES. DE PLUS, DANS LA MESURE OÙ LES TRANSACTIONS N'ONT PAS ÉTÉ EXÉCUTÉES, LES RÉSULTATS ONT PU COMPENSER L'IMPACT DE CERTAINS FACTEURS DE MARCHÉ, LE CAS ÉCHÉANT, TELS QUE LE MANQUE DE LIQUIDITÉ. LES PROGRAMMES DE TRADING SIMULÉ EN GÉNÉRAL SONT ÉGALEMENT SUJETS AU FAIT QU'ILS SONT CONÇUS EN BÉNÉFICIANT D'UN RECUL HISTORIQUE. AUCUNE DÉCLARATION N'EST FAITE GARANTISSANT QU'UN COMPTE RÉALISERA OU EST SUSCEPTIBLE DE RÉALISER DES PROFITS OU DES PERTES SIMILAIRES À CEUX INDIQUÉS.

    AUCUNE DÉCLARATION N'EST FAITE GARANTISSANT QU'UN COMPTE RÉALISERA, OU EST SUSCEPTIBLE DE RÉALISER, DES PROFITS OU DES PERTES SIMILAIRES À CEUX ÉVOQUÉS SUR CE SITE. SI VOUS DÉCIDEZ D'INVESTIR DE L'ARGENT RÉEL, TOUTES LES DÉCISIONS DE TRADING SUR LES MARCHÉS FINANCIERS VOUS APPARTIENNENT.

    © StrategyQuant 2026

    Propulsé par Klaudie.ai

    Retour au marketplaceDIGITAL

    Lire les variables d'initialisation de stratégie

    StrategyQuantPlugins
    Lire les variables d'initialisation de stratégie

    Exemple de Custom Analysis montrant comment lire les valeurs de variables à partir des règles d'initialisation de stratégie (Strategy Init). Démontre l'utilisation de toInitValue pour accéder aux paramètres d'initialisation et créer des colonnes personnalisées dans la banque de données.

    Dans une règle déclenchée lors de l'initialisation de la stratégie (Strategy Init), pour chaque fonction Assign, StrategyQuant affecte une variable « AssignVrbVleEntMlt » à votre variable à la place d'une valeur.

    Ensuite, pendant l'initialisation, il restituera la valeur de AssignVrbVleEntMlt à votre variable

    À partir d'une stratégie générée par le modèle « H1388 Test Variable Template », nous pouvons lire dans le code :

    AssignVrbVleEntMlt = 210

    AssignVrbVleEntMlt reçoit la valeur à la place de MALength

    Ensuite, AssignVrbVleEntMlt restitue la valeur à MALength lors de l'initialisation.

    1/ Cet exemple de code Custom Analysis vous montre comment récupérer la valeur de votre variable dans une règle déclenchée lors de l'initialisation de la stratégie (Init)

    Nous récupérons la valeur depuis une fonction « toInitValue », à partir d'un ResultsGroup, d'un Rule name « Init » et d'un nom de variable : MALength (dans cet exemple)

    Ensuite, nous utilisons la fonction rg.specialValues() pour définir la valeur dans « CA_MALength »

    package SQ.CustomAnalysis;
    import com.strategyquant.lib.*;
    import java.util.ArrayList;
    import com.strategyquant.datalib.*;
    import com.strategyquant.tradinglib.*;
    import SQ.Utils.Bouillant;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import java.util.*; 
    // Created in France by Emmanuel Bouillant-Evrard
    public class CA_InitStratsSettings extends CustomAnalysisMethod 
    {
        public static final Logger Log = LoggerFactory.getLogger(CA_InitStratsSettings.class);
        public CA_InitStratsSettings() 
        {
            super("CA MALength Settings", TYPE_FILTER_STRATEGY);
        }
        //------------------------------------------------------------------------
        @Override
        public boolean filterStrategy(String project, String task, String databankName, ResultsGroup rg) throws Exception 
        {
            try 
            {
                Bouillant BouilltParaObj1 = new Bouillant();
                String IntTemp = BouilltParaObj1.toInitValue(rg, false,"Init", "MALength", 100); 
                rg.specialValues().set("CA_MALength", Double.parseDouble(IntTemp));
                return true;
          	} catch(Exception e)
            {
                Log.error("Error CA_InitStratsSettings", e);
                return false;																																							       // "Error: " + e.getMessage();
            }
        }
        //------------------------------------------------------------------------
        @Override
        public ArrayList<ResultsGroup> processDatabank(String project, String task, String databankName, ArrayList<ResultsGroup> databankRG) throws Exception {
            return databankRG;
        }
    }

    2 / Ensuite, le code de DatabankColumn récupère la valeur de la Custom Analysis

    Nous utilisons rg.specialValues pour récupérer la valeur de CA_MALength
    package SQ.Columns.Databanks;
    import com.strategyquant.lib.*;
    import com.strategyquant.datalib.*;
    import com.strategyquant.tradinglib.*;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    // Created in France by Emmanuel Bouillant-Evrard 
    public class StratSettingsMALength extends DatabankColumn 
    {
      public static final Logger Log = LoggerFactory.getLogger(StratSettingsMALength.class);
      public StratSettingsMALength()
      {
        super("MALength Settings", DatabankColumn.Decimal2, ValueTypes.Maximize, 0, 0, 100); 
      }
      //------------------------------------------------------------------------
      /**
       * This method should return computed value of this new column. You should typically compute it from the list of orders 
       * or from some already computed statistical values (other databank columns). 
       */
      @Override
      public String getValue(ResultsGroup rg, String resultKey, byte direction, byte plType, byte sampleType) throws Exception 
      {   
        try 
        {
          double value = rg.specialValues().getDouble("CA_MALength", -1);
          if(value == -1) 
          {
            // this means value was not set
            return NOT_AVAILABLE;
          } else 
          {
            // return value converted to String
            return java.lang.Double.toString(value);
          }
        } catch(Exception e)
        {
          Log.error("Error StratSettingsMALength", e);
          return "";																																							       // "Error: " + e.getMessage();
        }
      }
    }

    3/ Comment l'installer

    • Importez les snippets dans le Code Editor
    • Compile All
    • Redémarrez StrategyQuant
    • puis sélectionnez la Custom Analysis dans le Builder :

    Ensuite, nous ajoutons cette nouvelle colonne à une banque de données et lisons la valeur de nos règles d'initialisation

    Si la Custom Analysis n'est plus utilisée, la colonne de la banque de données doit être supprimée pour éviter toute erreur dans les journaux

    Je m'appelle Emmanuel Bouillant-Evrard, ingénieur spécialisé en finance. J'ai travaillé en recherche et développement dans la finance aux États-Unis, au Canada et en France pendant 24 ans.

    Les performances passées ne préjugent pas des performances futures. Toutes les informations doivent être considérées comme ayant un but purement éducatif ÉTATS-UNIS Avertissement requis par le gouvernement - La Commodity Futures Trading Commission précise : Le trading de contrats à terme et d'options comporte d'importantes perspectives de gain, mais aussi d'importants risques potentiels. Vous devez être conscient des risques et accepter de les assumer afin d'investir sur les marchés des contrats à terme et des options. Ne tradez pas avec de l'argent que vous ne pouvez pas vous permettre de perdre. Ce document ne constitue ni une sollicitation ni une offre d'achat/de vente de contrats à terme, d'actions ou d'options sur ces derniers. Aucune déclaration n'est faite garantissant qu'un compte réalisera ou est susceptible de réaliser des profits ou des pertes similaires à ceux mentionnés dans ce document. La performance passée de tout système ou méthode de trading n'est pas nécessairement indicative des résultats futurs. RÈGLE CFTC 4.41 - LES RÉSULTATS DE PERFORMANCE HYPOTHÉTIQUES OU SIMULÉS COMPORTENT CERTAINES LIMITES. CONTRAIREMENT À UN HISTORIQUE RÉEL DE PERFORMANCE, LES RÉSULTATS SIMULÉS NE REPRÉSENTENT PAS UN TRADING RÉEL. DE PLUS, ÉTANT DONNÉ QUE LES TRANSACTIONS N'ONT PAS ÉTÉ RÉELLEMENT EXÉCUTÉES, LES RÉSULTATS ONT PU SOUS-ÉVALUER OU SURÉVALUER L'IMPACT DE CERTAINS FACTEURS DE MARCHÉ, TELS QUE LE MANQUE DE LIQUIDITÉ. LES PROGRAMMES DE TRADING SIMULÉ EN GÉNÉRAL SONT ÉGALEMENT SOUMIS AU FAIT QU'ILS SONT CONÇUS AVEC LE RECUL DU TEMPS. AUCUNE DÉCLARATION N'EST FAITE GARANTISSANT QU'UN COMPTE RÉALISERA OU EST SUSCEPTIBLE DE RÉALISER DES PROFITS OU DES PERTES SIMILAIRES À CEUX AFFICHÉS. AUCUNE DÉCLARATION N'EST FAITE GARANTISSANT QU'UN COMPTE RÉALISERA, OU EST SUSCEPTIBLE DE RÉALISER, DES PROFITS OU DES PERTES SIMILAIRES À CEUX ÉVOQUÉS SUR CE SITE. SI VOUS DÉCIDEZ D'INVESTIR DE L'ARGENT RÉEL, TOUTES LES DÉCISIONS DE TRADING SUR LES MARCHÉS FINANCIERS DOIVENT ÊTRE LES VÔTRES.
    Gratuit

    Fichiers

    • Snippet-ReadStrategyInitVariables.sqm20 KBVerrouillé

    Le téléchargement se débloque après l’achat ou avec un niveau actif.

    Détails
    Version1.0.0
    Publié le19 octobre 2026
    Dernière mise à jour2 novembre 2026
    AppSQ
    TypeSnippet
    AuthorEmmanuel
    App version145.3058
    Codebase categoryCustom Analysis