SeitenAusführungsvorlagen (.qcs) · 17 / 29
Ausführungsvorlagen (.qcs)
Speichern und laden Sie Einstellungen der Ausführungsdialoge als JSON-Dateien mit der Endung .qcs im Arbeitsbereichsordner von QuantCraft. So verwenden Sie Symbole, Zeitrahmen, Eingabeparameter und andere Optionen sitzungsübergreifend wieder, ohne sie neu einzutippen.
Wo in der Oberfläche
Jeder Dialog zeigt Load und Save oben im Dialogkörper (direkt unter Titel und Beschreibung):
| Dialog | So öffnen |
|---|---|
| Run backtest | QuantCraft-IDE → Test → Run backtest |
| Bulk forward new run | AutoTrading oder QuantCloud → einen neuen Bulk-Forward-Job starten |
| Chart forward test | Trade → einen .qcraft.json-Algo anhängen → Algo-Parameter öffnen |
Voraussetzungen
- Desktop-App — Speichern/Laden nutzt native Dateidialoge (nicht in der reinen Browser-Vorschau verfügbar).
- Arbeitsbereichsordner — Festgelegt über QuantCraft Files sidebar → Workspace Folder. Dialoge öffnen standardmäßig dieses Verzeichnis.
Ist noch kein Arbeitsbereich festgelegt, bittet die App Sie zuerst, einen zu wählen.
Dateiformat
Dateien sind UTF-8-JSON. Struktur auf oberster Ebene:
{
"format": "quantcraft-run-config-v1",
"savedFrom": "backtest",
"savedAt": "2026-06-09T12:00:00.000Z",
"settings": { }
}| Feld | Bedeutung |
|---|---|
format | Muss quantcraft-run-config-v1 sein. |
savedFrom | Metadaten: backtest, bulk_forward oder chart_forward (welcher Dialog die Datei gespeichert hat). |
savedAt | ISO-Zeitstempel des Schreibens der Datei. |
settings | Flaches Objekt mit Ausführungsoptionen (siehe Tabelle unten). Alle Schlüssel sind optional. |
Save schreibt nur die Felder, die für den aktuellen Dialog gelten. Load verwendet immer die Regeln des Zieldialogs und ignoriert nicht zutreffende Schlüssel.
Standardmäßig vorgeschlagene Dateinamen
| Dialog | Standardname |
|---|---|
| Run backtest | backtest-config.qcs |
| Bulk forward | bulk-forward-config.qcs |
| Chart forward test | chart-forward-config.qcs |
Beim Speichern können Sie jeden Namen wählen, der auf .qcs endet.
Einstellungsfelder je Dialog
| Schlüssel | Backtest | Bulk forward | Chart forward |
|---|---|---|---|
symbols, assetType, symbolPaste | ja | — | — |
symbolSource ("manual" / "screener") | ja | — | — |
screenerSource, screenerPresetId, screenerScriptId, screenerSortColumn, screenerSortDirection, screenerRankDirection, screenerLimit, screenerIntervalDays, screenerIncludeOpenPositions | ja | ja | — |
screenerRefreshTime | — | ja | — |
symbolPaste (Bulk: eingefügte Ticker) | — | ja | — |
startingBalance, startDate, endDate, warmupBars | ja | — | — |
ohlcvSource | ja | — | — |
timeframeAlpaca, timeframeB2, minBars | ja | — | — |
secondaryTimeframes | ja | ja | ja |
includeFundamentals, fundamentalsPickerValues, fundamentalsExtraPaths | ja | ja* | ja |
includeFactors | ja | ja | ja |
includeCalendar, applySplits, applyDividends, dividendDatePolicy | ja | — | — |
inputParams | ja | ja | ja |
optimize, optimizeMode, geneticPopulationSize, geneticGenerations, geneticElitism, geneticCrossoverRate, geneticMutationRate, geneticFitnessMetric, geneticSeed | ja | — | — |
slPct, slDollars, tpPct, tpDollars, riskPctPerTrade, riskFixedPerTrade | ja† | — | — |
commissionModel, commissionCost, commissionMinTradeCost | ja | — | — |
slippageModel, slippageVolumeLimit, slippagePriceImpact, slippageSpread | ja | — | — |
algoId | — | ja | — |
targetScope, selectedStocks, selectedCrypto | — | ja | — |
periodMinutes, timeframeUi | — | ja | — |
tickMode | — | ja | — |
timerIntervalMs | — | ja | ja |
* Bulk speichert/übernimmt die Werte der Fundamentaldaten-Auswahl, wenn vorhanden; fundamentalsExtraPaths ist hauptsächlich ein Backtest-Feld.
† Wird gespeichert/übernommen, wenn es in den Formular-/Payload-Helfern vorhanden ist; der Dialog Run backtest zeigt SL/TP/Risiko-Eingaben möglicherweise nicht in der Oberfläche an.
ohlcvSource: "alpaca" oder "b2" (QuantCraft-Kursfeed) für Backtest.
tickMode: Nur Bulk — "timer" (Timer-Zyklus) oder "tick" (Live-Tick-Stream). Der Dialog beschriftet dies mit Execution trigger.
includeFactors: Bei true hängen Läufe globale Fama-French-Faktordaten an. Beim Laden in den Backtest- oder Bulk-Forward-Dialog wird es (und includeFundamentals) geleert, wenn Sie keinen Premium- bzw. Gratisdaten-Zugang haben; der Chart-Forward-Dialog übernimmt es wie gespeichert. Strategien lesen fama_french.qc; die monatlichen rows sind ein YYYYMM-Dict — siehe Fama-French-Faktoren.
includeCalendar (Backtest): gleiche Premium-Sperre beim Laden. dividendDatePolicy ist "best_available" (Standard — geschätzte Ex-Tage werden gutgeschrieben), "exact_only" oder "off". Dafür gibt es kein Bedienelement im Dialog, sodass eine .qcs-Datei der einzige Weg ist, es zu ändern. Siehe Kalenderdaten.
timeframeB2 (Backtest): Geladene Werte werden auf täglich / wöchentlich / monatlich begrenzt, wenn Sie nicht Premium nutzen.
secondaryTimeframes: Liste zusätzlicher Balkengrößen für rt.get_bar(Timeframe.X, shift) (z. B. ["1Hour", "1D"]). Wird aus gespeicherten Dateien weggelassen, wenn leer. Beim Laden in Bulk forward wird ein Eintrag verworfen, der dem wiederhergestellten primären Zeitrahmen entspricht; die Dialoge Backtest und Chart Forward behalten die Liste wie gespeichert. Siehe OHLCV- und Balkendaten.
Provisions-/Slippage-Schlüssel (commissionModel, commissionCost, commissionMinTradeCost, slippageModel, slippageVolumeLimit, slippagePriceImpact, slippageSpread): Werden nur aus Backtest gespeichert. Siehe Kontomodell für die Bedeutung der Modelle.
Aufbau von inputParams
Objekt, nach Skriptparameternamen geschlüsselt. Jeder Eintrag:
"LOOKBACK": {
"type": "int",
"value": "20",
"optStep": "5",
"optMax": "40"
}optStepundoptMaxwerden nur aus Backtest gespeichert (Raster der Optimierung). Die Forward-Dialoge entfernen sie beim Laden.- Es werden nur Namen angewandt, die im aktuell geladenen Skript existieren; andere Namen in der Datei werden ignoriert.
Siehe Eingabeparameter, wie params.NAME im Strategiecode erkannt wird.
Dialogübergreifendes Laden
Sie können eine in einem Dialog gespeicherte .qcs-Datei in einen anderen laden. Die App übernimmt nur kompatible Felder und überspringt den Rest stillschweigend.
| Von → Nach | Was übertragen wird |
|---|---|
| Backtest → Bulk forward | symbols + assetType → Zielbereich und Aktien-/Krypto-Auswahl; timeframeAlpaca oder B2 d/w → timeframeUi; secondaryTimeframes; tickMode, falls vorhanden; Felder zu Fundamentaldaten/Faktoren; inputParams; timerIntervalMs, falls vorhanden |
| Backtest → Chart forward | inputParams, Fundamentaldaten-Felder, includeFactors, secondaryTimeframes, timerIntervalMs; Daten, Saldo und Optimierungsfelder werden ignoriert |
| Bulk forward → Backtest | selectedStocks / selectedCrypto → symbols; timeframeUi → timeframeAlpaca, oder B2 timeframeB2, wenn das gespeicherte ohlcvSource (sonst der aktuelle Kursfeed des Dialogs) B2 ist; Felder zu Fundamentaldaten / Faktoren; secondaryTimeframes; Screener-Felder; inputParams |
| Beliebig → beliebig | Unbekannte oder nicht zutreffende Schlüssel werden ohne Fehler ignoriert |
Zeitrahmen-Zuordnung
| Quelle | Wird zugeordnet zu |
|---|---|
timeframeUi 1D / 1Week | Backtest timeframeAlpaca, oder B2 timeframeB2 d / w, wenn die Datenquelle B2 ist |
Backtest timeframeB2 d / w | Bulk timeframeUi 1D / 1Week |
Jedes andere Backtest-timeframeB2 (m monatlich, m5, h1, 4h, …) | Kein Bulk-Äquivalent — beim dialogübergreifenden Laden übersprungen |
Symbole und Bulk-Ziele
- Backtest → Bulk:
symbolswerden, wenn möglich, inselectedStocksoderselectedCryptoeingeordnet; der Zielbereich wird Selected. - Bulk → Backtest: Ausgewählte Aktien und Kryptowerte werden im Array
symbolszusammengeführt;assetTypewird aus der Auswahl abgeleitet.
Bulk-Forward-Bearbeitungsmodus
Beim Bearbeiten eines bestehenden Bulk-Laufs übernimmt Load weiterhin Ziele, Periode, Zeitrahmen, Timer, Tick-Modus und Skript-Params. algoId wird nicht geändert (der Algorithmus steht für diesen Lauf fest).
Verwandte Arbeitsbereichsartefakte
| Endung | Zweck |
|---|---|
.py | Strategie-Quelldateien (Arbeitsbereichsspiegel) |
.qcraft.json | Kompiliertes lauffähiges Paket für Trade / Forward-Läufe |
.qcs | Gespeicherte Dialog-Vorlagen für Läufe (diese Seite) |

