PineScript v5 Code Generator

A fine-tuned CodeGemma 7B model specialized in generating TradingView PineScript v5 code for trading indicators, strategies, and libraries.

Model Description

This model was fine-tuned on 5,000+ PineScript v5 examples from the PineScripts-Permissive dataset, which contains high-quality, permissively-licensed scripts from TradingView.

  • Base Model: google/codegemma-7b-it
  • Fine-tuning Method: QLoRA (4-bit quantization + LoRA adapters)
  • Training Data: 4,774 instruction/response pairs
  • Context Length: 4096 tokens

Intended Use

Generate PineScript v5 code for:

  • Technical indicators (RSI, MACD, Bollinger Bands, custom indicators)
  • Trading strategies with backtesting
  • Reusable libraries
  • Alert conditions
  • Custom visualizations

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "anthonym21/pinescript-v5-instructions-merged"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

def generate_pinescript(prompt, max_tokens=1024):
    formatted = f"### Human: {prompt}\n### Assistant:"
    inputs = tokenizer(formatted, return_tensors="pt").to(model.device)

    outputs = model.generate(
        **inputs,
        max_new_tokens=max_tokens,
        temperature=0.7,
        top_p=0.9,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id,
    )

    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    return response.split("### Assistant:")[-1].strip()

# Example
code = generate_pinescript("Write a PineScript v5 RSI indicator with overbought/oversold zones")
print(code)

Example Prompts

Prompt Description
"Write a PineScript v5 indicator that shows RSI with dynamic overbought/oversold levels" RSI with adaptive levels
"Create a MACD crossover strategy with stop loss and take profit" Complete trading strategy
"Write a Bollinger Bands indicator with squeeze detection" Volatility indicator
"Create a multi-timeframe moving average indicator" MTF analysis tool

Training Details

Parameter Value
Epochs 3
Batch Size 2
Gradient Accumulation 8
Learning Rate 2e-4
LoRA r 64
LoRA alpha 128
Max Seq Length 4096
Quantization 4-bit (nf4)

Limitations

  • Generates PineScript v5 syntax; may not be compatible with older versions
  • Code should be reviewed and tested before live trading
  • Complex multi-indicator strategies may require refinement
  • Does not provide financial advice

Dataset

Training data sourced from mrmegatelo/PineScripts-Permissive:

  • 5,848 PineScript v5 scripts
  • Filtered to 4,774 high-quality examples
  • Includes indicators, strategies, and libraries
  • All scripts under permissive licenses (MPL-2.0, Apache-2.0)

Citation

@misc{pinescript-v5-instructions-merged,
  author = {Anthony Maio},
  title = {PineScript v5 Code Generator},
  year = {2025},
  publisher = {HuggingFace},
  url = {https://huggingface.co/anthonym21/pinescript-v5-instructions-merged}
}

License

Apache 2.0 (same as base model)

Downloads last month
10
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for anthonym21/pinescript-v5-instructions-merged

Finetuned
(9)
this model

Dataset used to train anthonym21/pinescript-v5-instructions-merged

Space using anthonym21/pinescript-v5-instructions-merged 1

Evaluation results