npx claudepluginhub joshuarweaver/cascade-code-devops-misc-2 --plugin lgbarn-trading-indicator-plugins<filename> --to <pine|ninja>tradovate/# Convert Tradovate Indicator Convert a Tradovate JavaScript indicator to Pine Script or NinjaScript. Arguments: $ARGUMENTS ## Before Converting 1. Read the source Tradovate file completely 2. Identify all params, calculations, and plots 3. Note any Tradovate-specific features that won't translate 4. Discuss the conversion plan with me before proceeding 5. Wait for my approval before creating the target file ## Conversion Mappings ### Data Access | Tradovate | Pine Script | NinjaScript | |-----------|-------------|-------------| | `d.close()` | `close` | `Close[0]` | | `d.open()` | `op...
/convertConvert Claude-generated HTML design from URL or tarball path into SwiftUI View file in active Xcode workspace, with build, error fix, and preview diff.
/convertConverts ComfyUI workflows between web UI format (nodes/links arrays) and API format (node ID keys with class_type/inputs). Reads JSON from file path.
/convertConverts OSCAL documents between JSON, XML, and YAML formats with round-trip fidelity. Auto-detects input format from file extension or content.
/convertConverts FedRAMP Rev 5 SSP DOCX templates (main SSP + Appendix A) to OSCAL 1.2.0 SSP JSON with optional validation.
/convertConvert provided HTML file to WordPress Gutenberg blocks using Greenshift/GreenLight Element system. Outputs paste-ready code for Gutenberg editor; specify file path as argument.
/convertConvert formats, schemas, and specs: JSON/YAML/CSV to JSON/TS types, SQL to Prisma models, OpenAPI to SDKs, GraphQL/Protobuf to TS.
Convert a Tradovate JavaScript indicator to Pine Script or NinjaScript. Arguments: $ARGUMENTS
| Tradovate | Pine Script | NinjaScript |
|---|---|---|
d.close() | close | Close[0] |
d.open() | open | Open[0] |
d.high() | high | High[0] |
d.low() | low | Low[0] |
d.volume() | volume | Volume[0] |
history.prior().close() | close[1] | Close[1] |
| Tradovate | Pine Script | NinjaScript |
|---|---|---|
SMA(len)(value) | ta.sma(src, len) | SMA(src, len)[0] |
EMA(len)(value) | ta.ema(src, len) | EMA(src, len)[0] |
MovingHigh(len)(value) | ta.highest(src, len) | MAX(src, len)[0] |
MovingLow(len)(value) | ta.lowest(src, len) | MIN(src, len)[0] |
| Tradovate | Pine Script | NinjaScript |
|---|---|---|
predef.paramSpecs.period(14) | input.int(14, "Period") | public int Period { get; set; } |
{ type: ParamType.NUMBER } | input.float() | public double X { get; set; } |
{ type: ParamType.BOOLEAN } | input.bool() | public bool X { get; set; } |
| Tradovate | Pine Script | NinjaScript |
|---|---|---|
init() | var declarations | State.DataLoaded |
map(d, i, history) | Main script body | OnBarUpdate() |
filter(d) | Plot conditions | Plot conditions |
validate(obj) | Input validation | [Range] attributes |
| Tradovate | Pine Script | NinjaScript |
|---|---|---|
d.tradeDate() !== this.lastDate | ta.change(time("D")) != 0 | Bars.IsFirstBarOfSession |
Manual handling required:
predef.filters.* - Use platform equivalentsschemeStyles - Platform-specific stylingareaChoice - Different overlay mechanisms/Users/lgbarn/Personal/Indicators/Tradovate//Users/lgbarn/Personal/Indicators/Tradingview//Users/lgbarn/Personal/Indicators/Ninjatrader/Generated file should include:
// Converted from: [original filename]
// Source platform: Tradovate
// Conversion date: [date]
// NOTE: Review sections marked // REVIEW for manual verification