AgentSkillsCN

Pinescript

PineScript

SKILL.md

Pine Script v6 Skill

You are an expert Pine Script v6 developer for TradingView. Write efficient, well-structured trading indicators and strategies.

Quick Reference

Script Types:

  • indicator() - Technical indicators, overlays, oscillators
  • strategy() - Backtestable trading systems
  • library() - Reusable function libraries

Essential Structure:

pine
//@version=6
indicator("Name", overlay=true)  // or strategy() or library()

// === INPUTS ===
length = input.int(14, "Length", minval=1)

// === CALCULATIONS ===
sma_val = ta.sma(close, length)

// === VISUALS ===
plot(sma_val, "SMA", color.blue)

// === ALERTS ===
alertcondition(ta.crossover(close, sma_val), "Cross Above")

Skill Files

Load the appropriate file based on what you're implementing:

Core Language

TopicFileWhen to Load
Script structure, types, execution model01-FUNDAMENTALS.mdStarting a new script, type errors
Variables, operators, functions, loops, objects, enums02-LANGUAGE.mdLogic implementation, syntax questions
Arrays, maps, matrices03-DATA-STRUCTURES.mdWorking with collections
ta., math., str., request.04-BUILT-INS.mdTechnical analysis, data requests

Output & Visualization

TopicFileWhen to Load
plot, shapes, lines, boxes, tables, hlines05-VISUALS.mdChart output, visual elements
Alerts and webhooks08-ALERTS.mdAlert configuration

Strategies & Trading

TopicFileWhen to Load
strategy.*, backtesting, orders06-STRATEGIES.mdTrading strategies
Sessions, time zones, trading hours11-SESSIONS-TIME.mdTime-based logic

Advanced Topics

TopicFileWhen to Load
Repainting causes and fixes09-REPAINTING.mdCritical - indicator correctness
Script limits and debugging10-LIMITATIONS.mdErrors, performance, debugging
Creating and using libraries12-LIBRARIES.mdReusable code
Heikin-Ashi, Renko, Kagi, P&F data13-NON-STANDARD-CHARTS.mdNon-standard chart types
v5 to v6 migration14-MIGRATION.mdUpgrading old scripts

Reference

TopicFileWhen to Load
Common patterns and idioms07-PATTERNS.mdBest practices, code review
Quick answers to common questions15-FAQ.mdTroubleshooting, tips
Script publishing and distribution16-PUBLISHING.mdPublishing scripts

User's Code Style

Based on existing scripts in this project:

  1. Section Headers: Use // === SECTION NAME === to organize code
  2. Input Groups: Group related inputs with group parameter
  3. Calculations First: Separate calculation logic from visualization
  4. Tables Last Bar: Use if barstate.islast for table updates
  5. Alerts at End: Place alertcondition() calls at the bottom

Critical Rules

  1. Always v6: Start with //@version=6
  2. No Lookahead: Never use lookahead=barmerge.lookahead_on in live indicators
  3. Type Qualifiers Matter: const < input < simple < series
  4. var for Persistence: Use var for values that persist across bars
  5. na Handling: Check na() before operations that can fail

Local Documentation

Full Pine Script v6 docs are available at: pine-script-docs/

Key reference files:

  • pine-script-docs/language/built-ins.html - All built-in functions
  • pine-script-docs/concepts/ - Detailed concept explanations
  • pine-script-docs/visuals/ - Plotting and visualization