StrategyQuant
Assistente IA QAlgoCloudQuantAnalyzerQuantDataManager
Corso gratuitoAzienda
BlogDocumentazioneForumContattaci
BlogMarketplace
Accedi
Crea un account gratuito

Prodotto

  • Prezzi e licenze
  • Impara
  • Marketplace
  • Inizia la prova gratuita

Note legali

  • Termini di servizio
  • Informativa sulla privacy
  • Cookie

Contatti

[email protected]

Azienda

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, Repubblica Ceca, UE

IČ: 04000498

P. IVA / DIČ: CZ04000498

Social

  • Note legali | TRATTAMENTO E PROTEZIONE DEI DATI PERSONALI

    I risultati passati non garantiscono successi futuri. Tutte le informazioni devono essere considerate esclusivamente a scopo didattico

    STATI UNITI Disclaimer richiesto dal Governo - La Commodity Futures Trading Commission informa: il trading su futures e opzioni comporta grandi ricompense potenziali, ma anche un grande rischio potenziale. È necessario essere consapevoli dei rischi ed essere disposti ad accettarli per poter investire nei mercati dei futures e delle opzioni. Non fare trading con denaro che non puoi permetterti di perdere. Questa non è né una sollecitazione né un'offerta per acquistare/vendere futures, azioni o opzioni su di essi. Non viene rilasciata alcuna dichiarazione che un qualsiasi conto conseguirà o con ogni probabilità conseguirà profitti o perdite simili a quelli discussi in questo documento. Le performance passate di qualsiasi sistema o metodologia di trading non sono necessariamente indicative dei risultati futuri.

    REGOLA CFTC 4.41 - I RISULTATI DI RENDIMENTO IPOTETICI O SIMULATI PRESENTANO DETERMINATI LIMITI. A DIFFERENZA DI UN REGISTRO DI RENDIMENTO REALE, I RISULTATI SIMULATI NON RAPPRESENTANO UN'ATTIVITÀ DI TRADING EFFETTIVA. INOLTRE, POICHÉ LE OPERAZIONI NON SONO STATE ESEGUITE, I RISULTATI POTREBBERO AVER COMPENSATO L'IMPATTO, SE PRESENTE, DI DETERMINATI FATTORI DI MERCATO, COME LA MANCANZA DI LIQUIDITÀ. I PROGRAMMI DI TRADING SIMULATI IN GENERALE SONO ANCHE SOGGETTI AL FATTO DI ESSERE PROGETTATI CON IL BENEFICIO DEL SENNO DI POI. NON VIENE RILASCIATA ALCUNA DICHIARAZIONE CHE UN QUALSIASI CONTO CONSEGUIRÀ O CON OGNI PROBABILITÀ CONSEGUIRÀ PROFITTI O PERDITE SIMILI A QUELLI MOSTRATI.

    NON VIENE RILASCIATA ALCUNA DICHIARAZIONE CHE UN QUALSIASI CONTO CONSEGUIRÀ, O CON OGNI PROBABILITÀ CONSEGUIRÀ, PROFITTI O PERDITE SIMILI A QUELLI DISCUSSI ALL'INTERNO DI QUESTO SITO. SE DECIDI DI INVESTIRE DENARO REALE, TUTTE LE DECISIONI DI TRADING NEI MERCATI FINANZIARI DEVONO ESSERE ESCLUSIVAMENTE TUE.

    © StrategyQuant 2026

    Offerto da Klaudie.ai

    Torna al marketplaceDIGITAL

    Read Strategy Init Variables

    StrategyQuantPlugin
    Read Strategy Init Variables

    Esempio di Custom Analysis che mostra come leggere i valori delle variabili dalle regole di Strategy Init. Dimostra l'uso di toInitValue per accedere ai parametri di inizializzazione e creare colonne personalizzate nella databank.

    In una regola attivata su Strategy Init, per ogni Assign function, StrategyQuant assegna una variabile "AssignVrbVleEntMlt" alla tua variabile invece di un valore.

    Successivamente, durante l'inizializzazione, restituirà il valore AssignVrbVleEntMlt alla tua variabile

    Da una strategia generata dal "H1388 Test Variable Template", possiamo leggere nel codice:

    AssignVrbVleEntMlt = 210

    AssignVrbVleEntMlt riceve il valore al posto di MALength

    Poi AssignVrbVleEntMlt restituisce il valore a MALength durante l'inizializzazione.

    1/ Questo esempio di codice Custom Analysis ti mostra come ottenere il valore della tua variabile in una regola attivata su strategy Init

    Otteniamo il valore da una funzione "toInitValue", da un ResultsGroup, e da Rule name "Init", e un variable name: MALength (in questo esempio)

    Quindi utilizziamo la funzione rg.specialValues() per impostare il valore in "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 / Successivamente il codice DatabankColumn recupera il valore della Custom Analysis

    Utilizziamo rg.specialValues per recuperare il valore da 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/ Come installarlo

    • Importa gli snippet nell'Editor di Codice
    • Compila tutto
    • Riavvia StrategyQuant
    • poi seleziona la Custom Analysis nel Builder:

    Poi aggiungiamo questa nuova colonna a una Databank e leggiamo il valore delle nostre regole Init

    Se la Custom Analysis non viene più utilizzata, la colonna della Databank deve essere rimossa per evitare qualsiasi errore nel log

    Mi chiamo Emmanuel Bouillant-Evrard, ingegnere specializzato in finanza. Ho lavorato per 24 anni nella ricerca e sviluppo nel settore finanziario negli Stati Uniti, in Canada e in Francia.

    I rendimenti passati non garantiscono successi futuri. Tutte le informazioni devono essere considerate esclusivamente a scopo didattico Disclaimer STATI UNITI richiesto dal Governo - La Commodity Futures Trading Commission informa: Il trading su futures e opzioni offre grandi opportunità di guadagno, ma comporta anche grandi rischi potenziali. È necessario essere consapevoli dei rischi ed essere disposti ad accettarli per poter investire nei mercati dei futures e delle opzioni. Non fare trading con denaro che non ci si può permettere di perdere. La presente comunicazione non costituisce né una sollecitazione né un'offerta di acquisto/vendita di futures, azioni o relative opzioni. Non viene rilasciata alcuna dichiarazione attestante che qualsiasi conto conseguirà o possa conseguire profitti o perdite simili a quelli descritti in questo documento. I rendimenti passati di qualsiasi sistema o metodologia di trading non sono necessariamente indicativi dei risultati futuri. REGOLA CFTC 4.41 - I RISULTATI DI RENDIMENTO IPOTETICI O SIMULATI PRESENTANO ALCUNI LIMITI. A DIFFERENZA DI UN REGISTRO DEI RENDIMENTI EFFETTIVI, I RISULTATI SIMULATI NON RAPPRESENTANO OPERAZIONI DI TRADING REALI. INOLTRE, POICHÉ LE OPERAZIONI NON SONO STATE EFFETTIVAMENTE ESEGUITE, I RISULTATI POTREBBERO NON AVERE RISENTITO DELL'IMPATTO, SE PRESENTE, DI DETERMINATI FATTORI DI MERCATO, COME LA MANCANZA DI LIQUIDITÀ. I PROGRAMMI DI TRADING SIMULATI IN GENERALE SONO ANCHE SOGGETTI AL FATTO DI ESSERE PROGETTATI CON IL BENEFICIO DEL SENNO DI POI. NON VIENE RILASCIATA ALCUNA DICHIARAZIONE ATTESTANTE CHE QUALSIASI CONTO CONSEGUIRÀ O POSSA CONSEGUIRE PROFITTI O PERDITE SIMILI A QUELLI MOSTRATI. NON VIENE RILASCIATA ALCUNA DICHIARAZIONE ATTESTANTE CHE QUALSIASI CONTO CONSEGUIRÀ, O POSSA CONSEGUIRE, PROFITTI O PERDITE SIMILI A QUELLI DESCRITTI ALL'INTERNO DI QUESTO SITO. QUALORA SI DECIDA DI INVESTIRE DENARO REALE, TUTTE LE DECISIONI DI TRADING NEI MERCATI FINANZIARI DEVONO ESSERE ESCLUSIVAMENTE PERSONALI.
    Gratis

    File

    • Snippet-ReadStrategyInitVariables.sqm20 KBBloccato

    Il download si sblocca dopo l’acquisto o con un livello attivo.

    Dettagli
    Versione1.0.0
    Pubblicato19 ottobre 2026
    Ultimo aggiornamento2 novembre 2026
    AppSQ
    TypeSnippet
    AuthorEmmanuel
    App version145.3058
    Codebase categoryCustom Analysis