StrategyQuant
AI asistent QAlgoCloudQuantAnalyzerQuantDataManager
Bezplatný kurzO společnosti
BlogDokumentaceFórumKontaktujte nás
BlogTržiště
Přihlásit se
Vytvořit účet zdarma

Produkt

  • Ceny a licence
  • Vzdělávání
  • Tržiště
  • Vyzkoušet zdarma

Právní informace

  • Podmínky služby
  • Zásady ochrany osobních údajů
  • Cookies

Kontakt

[email protected]

Společnost

StrategyQuant s.r.o.

Korunní 2569/108, Vinohrady, 101 00 Praha 10, Česká republika, EU

IČ: 04000498

DIČ: CZ04000498

Sociální sítě

  • Právní doložka | ZPRACOVÁNÍ A OCHRANA OSOBNÍCH ÚDAJŮ

    Minulá výkonnost není zárukou budoucího úspěchu. Všechny informace by měly být chápány výhradně jako vzdělávací

    Upozornění vyžadované vládou USA – Komise pro obchodování s komoditními futures (CFTC) uvádí: Obchodování s futures a opcemi s sebou nese vysoké potenciální výnosy, ale také vysoké potenciální riziko. Pro investování na trzích s futures a opcemi si musíte být vědomi těchto rizik a být ochotni je přijmout. Neobchodujte s penězi, které si nemůžete dovolit ztratit. Toto není výzva ani nabídka k nákupu/prodeji futures, akcií či opcí na ně. Nijak se neprohlašuje, že jakýkoli účet dosáhne nebo pravděpodobně dosáhne zisků či ztrát podobných těm, které jsou probírány v tomto dokumentu. Minulá výkonnost jakéhokoli obchodního systému nebo metodiky nemusí nutně vypovídat o budoucích výsledcích.

    PRAVIDLO CFTC 4.41 – HYPOTETICKÉ ČI SIMULOVANÉ VÝSLEDKY VÝKONNOSTI MAJÍ URČITÁ OMEZENÍ. NA ROZDÍL OD ZÁZNAMU SKUTEČNÉ VÝKONNOSTI NEPŘEDSTAVUJÍ SIMULOVANÉ VÝSLEDKY SKUTEČNÉ OBCHODOVÁNÍ. VZHLEDEM K TOMU, ŽE OBCHODY NEBYLY REÁLNĚ PROVEDENY, MOHOU VÝSLEDKY ZKRESLOVAT VLIV URČITÝCH TRŽNÍCH FAKTORŮ, JAKO JE NAPŘÍKLAD NEDOSTATEK LIKVIDITY. SIMULOVANÉ OBCHODNÍ PROGRAMY OBECNĚ PODLÉHAJÍ TAKÉ TOMU, ŽE JSOU NAVRHOVÁNY SE ZNALOSTÍ VÝVOJE TRHU ZPĚTNĚ. NEEXISTUJE ŽÁDNÁ ZÁRUKA ANI TVRZENÍ, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, KTERÉ JSOU ZDE ZOBRAZENY.

    NIJAK SE NEPROHLAŠUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, O KTERÝCH SE PÍŠE NA TĚCHTO STRÁNKÁCH. POKUD SE ROZHODNETE INVESTOVAT SKUTEČNÉ PENÍZE, VEŠKERÁ OBCHODNÍ ROZHODNUTÍ NA FINANČNÍCH TRZÍCH MUSÍ BÝT POUZE VAŠE VLASTNÍ.

    © StrategyQuant 2026

    Běží na Klaudie.ai

    Zpět na tržištěDIGITAL

    Hromadné přejmenování strategií

    StrategyQuantPluginy
    Hromadné přejmenování strategií

    Hromadně přejmenujte všechny strategie v databance pomocí vzorů najít & nahradit. Ideální pro vyčištění konvencí pojmenování, odstranění předpon/přípon a sjednocení názvů strategií v celé vaší knihovně.

    Ideální, pokud chcete rychle vytvořit přehledné a informativní názvy v celé databance – tento Custom Analysis snippet vám umožní hromadně přejmenovávat strategie ve StrategyQuant X pomocí jednoduchého najít → nahradit (nebo jen najít → odstranit).

    — Co to dělá

    • Spouští se jako Custom Analysis (Full databank analysis).

    • Input args přijímá find=>replace or just find to remove.

    • Přejmenuje položky přímo na místě ve vybrané zdrojové databance.

    • Doslovná shoda s rozlišováním velkých a malých písmen. Podporuje \n, \t, \r.

    • Skvělé pro hromadný úklid: oříznutí předpon/přípon, odstranění slov, standardizace symbolů/časových rámců/směrů.

    — Jak nainstalovat

    1. Code Editor → New → Custom Analysis, pojmenujte soubor CARenameFindReplace
    2. Vložte kód (níže) a klikněte na Compile.
    3. V případě potřeby restartujte SQX.

    — Jak používat

    1. Custom Project → Task → Custom Analysis. (Lze také spustit uvnitř databanky z Databank > Tools > Run CA).
    2. V Full databank analysis vyberte CARenameFindReplace a zvolte svou Source databanku.
    3. Do pole Input args zadejte jednu z možností:
      -
      Replace: old=>new
      Remove: old
      -
    4. Povolte možnost „Filter by results of custom analysis“ pro přejmenování původních strategií. (Pokud tuto možnost zakážete, strategie budou duplikovány a přejmenovány budou pouze duplikáty, přičemž originály zůstanou beze změny.)
    5. Spusťte proces. Všechny názvy strategií ve zdrojové databance (Source databank) budou aktualizovány.

    — Příklady

    • Odebrání slova „Strategy “ (včetně koncové mezery):
      Strategy =>
    • Převod automatického názvu SQX na formátovaný popisek:
      Strategy =>XAUUSD_H1_L_
    • Odstranění teček po přidání předpony:
      .=>

    Tip: Pro vícekrokové formátování spusťte několik průchodů (např. přidejte předponu, poté odstraňte znaky a následně přidejte příponu). Pokud chcete mít možnost snadného vrácení změn, zvažte nejprve duplikování databanky.

    Kód:

    package SQ.CustomAnalysis;
    import com.strategyquant.tradinglib.*;
    import com.strategyquant.tradinglib.project.ProjectEngine;
    import com.strategyquant.tradinglib.project.SQProject;
    import java.util.ArrayList;
    import java.util.HashSet;
    public class CARenameFindReplace extends CustomAnalysisMethod {
        public CARenameFindReplace() {
            super("CARenameFindReplace", TYPE_PROCESS_DATABANK);
        }
        @Override
        public boolean filterStrategy(String project, String task, String databankName, ResultsGroup rg) throws Exception {
            return true;
        }
        @Override
        public ArrayList processDatabank(
                String project,
                String task,
                String databankName,
                ArrayList databankRG) throws Exception {
            // Read single Input args string
            String raw = getInputArgs();
            if (raw == null) raw = "";
            raw = raw.trim();
            // No args -> do nothing
            if (raw.isEmpty()) {
                return databankRG;
            }
            // Parse: "find=>replace" OR just "find" (remove)
            String find, repl;
            int arrow = raw.indexOf("=>");
            if (arrow >= 0) {
                find = raw.substring(0, arrow);
                repl = raw.substring(arrow + 2);
            } else {
                find = raw;
                repl = "";
            }
            find = unescape(find);
            repl = unescape(repl);
            // If find is empty, do nothing (prevents accidental rename-all)
            if (find.isEmpty()) {
                return databankRG;
            }
            SQProject prj = ProjectEngine.get(project);
            Databank db = prj.getDatabanks().get(databankName);
            // Snapshot of originals to avoid ConcurrentModificationException
            ArrayList snapshot = new ArrayList<>(databankRG);
            // Track existing names so we can avoid collisions if needed
            HashSet usedNames = new HashSet<>();
            for (ResultsGroup rg : snapshot) {
                if (rg.getName() != null) usedNames.add(rg.getName());
            }
            // 1) Create renamed clones (no db.add inside the iteration)
            ArrayList clonesToAdd = new ArrayList<>();
            for (ResultsGroup rg : snapshot) {
                String oldName = rg.getName();
                if (oldName == null) continue;
                String newName = oldName.replace(find, repl);
                // Only duplicate if name changes
                if (!newName.equals(oldName)) {
                    // Avoid exact-name collisions (optional safety)
                    String finalName = makeUniqueName(newName, usedNames);
                    ResultsGroup newRg = rg.clone();
                    newRg.setName(finalName);
                    clonesToAdd.add(newRg);
                    usedNames.add(finalName);
                }
            }
            // 2) Add clones after iteration (safe)
            for (ResultsGroup newRg : clonesToAdd) {
                db.add(newRg, true);
            }
            // Return the newly created strategies (mirrors SQX RenameStrategies behaviour)
            return clonesToAdd;
        }
        private static String makeUniqueName(String baseName, HashSet used) {
            if (!used.contains(baseName)) return baseName;
            int i = 2;
            while (true) {
                String candidate = baseName + "_" + i;
                if (!used.contains(candidate)) return candidate;
                i++;
            }
        }
        private static String unescape(String s) {
            if (s == null) return "";
            return s.replace("\\n", "\n")
                    .replace("\\t", "\t")
                    .replace("\\r", "\r");
        }
    }
    
    Minulá výkonnost není zárukou budoucích výsledků. Všechny informace by měly být považovány pouze za vzdělávací Upozornění vyžadované vládou SPOJENÝCH STÁTŮ – Commodity Futures Trading Commission informuje: Obchodování s futures a opcemi přináší velký potenciální zisk, ale také velké potenciální riziko. Abyste mohli investovat na trzích s futures a opcemi, musíte si být vědomi těchto rizik a být ochotni je přijmout. Neobchodujte s penězi, které si nemůžete dovolit ztratit. Toto není výzva ani nabídka k nákupu/prodeji futures, akcií nebo opcí na ně. Žádné tvrzení nenaznačuje, že jakýkoli účet dosáhne nebo pravděpodobně dosáhne zisků či ztrát podobných těm, o kterých se hovoří v tomto dokumentu. Minulá výkonnost jakéhokoli obchodního systému nebo metodiky nemusí nutně vypovídat o budoucích výsledcích. PRAVIDLO CFTC 4.41 – VÝSLEDKY HYPOTETICKÉ ČI SIMULOVANÉ VÝKONNOSTI MAJÍ URČITÁ OMEZENÍ. NA ROZDÍL OD ZÁZNAMU SKUTEČNÉ VÝKONNOSTI SIMULOVANÉ VÝSLEDKY NEPŘEDSTAVUJÍ SKUTEČNÉ OBCHODOVÁNÍ. VZHLEDEM K TOMU, ŽE OBCHODY NEBYLY SKUTEČNĚ PROVEDENY, MOHOU VÝSLEDKY ZKRESLOVAT VLIV URČITÝCH TRŽNÍCH FAKTORŮ, JAKO JE NAPŘÍKLAD NEDOSTATEK LIKVIDITY. SIMULOVANÉ OBCHODNÍ PROGRAMY OBECNĚ PODLÉHAJÍ TAKÉ SKUTEČNOSTI, ŽE JSOU NAVRŽENY SE ZPĚTNÝM POHLEDEM NA HISTORICKÁ DATA. ŽÁDNÉ TVRZENÍ NENAZNAČUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, KTERÉ JSOU ZDE UVEDENY. ŽÁDNÉ TVRZENÍ NENAZNAČUJE, ŽE JAKÝKOLI ÚČET DOSÁHNE NEBO PRAVDĚPODOBNĚ DOSÁHNE ZISKŮ ČI ZTRÁT PODOBNÝCH TĚM, O KTERÝCH SE HOVOŘÍ NA TĚCHTO STRÁNKÁCH. POKUD SE ROZHODNETE INVESTOVAT SKUTEČNÉ PENÍZE, VEŠKERÁ OBCHODNÍ ROZHODNUTÍ NA FINANČNÍCH TRZÍCH BY MĚLA BÝT POUZE VAŠE VLASTNÍ.
    Zdarma

    Soubory

    • Snippet-BatchRenameStrategies.sqm5 KBUzamčeno

    Stažení se odemkne po nákupu nebo s aktivním tierem.

    Podrobnosti
    Verze1.0.0
    Zveřejněno19. října 2026
    Poslední aktualizace2. listopadu 2026
    AppSQ
    TypeSnippet
    AuthorZach
    App version145.3058
    Codebase categoryCustom Analysis