pinescript-to-python-translator
Translate TradingView PineScript strategies into vectorized Python strategies suitable for Optuna optimization and walk-forward analysis.
How do I install this agent skill?
npx skills add https://github.com/mphinance/alpha-skills --skill pinescript-to-python-translatorIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is safe and functions as a code translation utility for converting TradingView PineScript to Python. It does not perform any network operations, file system modifications, or command executions.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
🌲 PineScript to Python Translator
This skill is designed to take raw TradingView PineScript files (.pine) and rigorously deconstruct them into Python-native components so they can be optimized using vectorization and tools like Optuna.
When to use this skill
Use this skill when you want to migrate a backtest from the TradingView ecosystem into a headless Python environment. This is critical for running multi-fold Walk-Forward Analysis (WFA) and Monte Carlo simulations that TradingView cannot handle.
Workflow
-
Deconstruction & Classification (The IR Build)
- Parse the
.pinescript to identifyinput(),input.int(),input.float(), andinput.bool(). - Classify parameters into three buckets:
- Signal: Parameters that dictate entries (e.g.,
length,crossover_threshold). - Risk: Parameters that dictate exits (e.g.,
stop_ticks,trail_offset). - Display: Parameters used only for plotting/UI (discard these).
- Signal: Parameters that dictate entries (e.g.,
- Parse the
-
Boundary Extraction
- For every Signal and Risk parameter, extract the
minval,maxval, andstepif provided. - Format these into Optuna trial suggestions (e.g.,
trial.suggest_int('length', 10, 50)).
- For every Signal and Risk parameter, extract the
-
Logic Translation
- Translate PineScript technical analysis functions (
ta.sma,ta.ema,ta.rsi) into theirpandas-taornumpyequivalents. - Vectorize the entry and exit conditions. Do not use standard
forloops over rows unless path-dependency strictly requires it. Usenp.whereand.shift()wherever possible.
- Translate PineScript technical analysis functions (
-
Hardening & Auditing
- Repaint Risk: Scan the translation for anything relying on the current unclosed bar data. Force the use of
.shift(1)for signal generation. - Division by Zero: Wrap all denominators in a
np.maximum(denominator, 1e-8)guard to prevent NaN explosions during optimization.
- Repaint Risk: Scan the translation for anything relying on the current unclosed bar data. Force the use of
Output Format
The output should be a single Python file containing:
- An
extract_features(df, params)function that builds all the indicators based on a parameter dictionary. - A
generate_signals(df)function that creates asignalcolumn (1 for Long, -1 for Short, 0 for Flat). - A
get_optuna_space(trial)function that returns the hyperparameter search space dictionary.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/mphinance/alpha-skills/pinescript-to-python-translator">View pinescript-to-python-translator on skillZs</a>