What each field becomes
A no-code builder is a form that writes Pine. Knowing what each field turns into is what lets you read your own export and confirm it matches what you asked for.
| What you set in the form | What appears in the Pine |
|---|---|
| the indicator and its period | an input.int for the period, plus a ta.* call at global scope |
| a threshold ("RSI below 30") | an input.float and a comparison in the entry condition |
| a second condition | the same, joined with and or or |
| a session filter | an hour or time comparison gating the condition |
| a stop and a target | strategy.exit() with stop / limit, or loss / profit |
| commission and slippage | commission_type, commission_value, slippage in the declaration |
| starting capital and size | initial_capital, default_qty_type, default_qty_value |
Why the indicator call must be at global scope
This is the one structural property worth checking yourself, because it is invisible in behaviour until it is wrong.
// correct — runs on every bar, so its history is continuous
rsiVal = ta.rsi(close, rsiLen)
if rsiVal < 30 and close > maVal
strategy.entry("Long", strategy.long)
// wrong — v6 short-circuits and, so ta.rsi() is skipped on bars
// where the first condition is false, and its history breaks
if close > maVal and ta.rsi(close, rsiLen) < 30
strategy.entry("Long", strategy.long)
In v6 the and and or operators evaluate lazily [6], so a call on the right
of a false condition does not run on that bar. Indicators keep internal state
between bars, so one that did not run on every bar no longer holds the history
it needs — and nothing reports it.
So: search your export for and and or, and check there is no ta. to
the right of either. That is a ten-second check and it is the single most
valuable thing you can do to a generated file.
The anatomy of a generated export
Generated files follow a fixed order, which makes them quick to navigate:
//@version=6— the version linestrategy(...)— the declaration, where your results are decided- a comment block naming the intended timeframe
- the
input.*declarations — every control the settings dialog will show - the series section —
ta.*calls hoisted to global scope longCond/shortCond— the entry conditions- the
strategy.entry()calls - the exits —
strategy.exit()and any risk limits plot()calls
Block 2 is the one to read first and the one people skip. Blocks 4 and 6 together are where you verify that each control actually feeds a comparison — if a threshold appears as a bare number in block 6 while block 4 declares an input for it, that control does nothing.
The check that closes the loop
Move one input to an extreme in the settings dialog and confirm the trade count changes. An input declared in block 4 but never referenced in block 6 renders a control that moves and has no effect, and there is no way to see that from the interface. Details of what else to verify are in the editor versus the builder.
Tactix AI — Studio vs Guide
Tactix AI is AlfaTactix’s product assistant brand (open Tactix AI).
- Tactix Studio turns a one-sentence strategy description into a draft across Timeframe, Signals, Filters, and Risk in the visual Strategy Builder. You review and edit every field before Code Generator writes MQL5 or Pine Script.
- Tactix Guide explains the step you are on — what to fill, what a control means, or how to phrase a rule — without dumping untested source code.
That is form-first automation: the LLM never replaces Code Generator, and you keep plan limits and real-time validation.

