Guide
Exporting TradingView trades and price data for validation
Last reviewed: 16 September 2026·Tradelyze
A Tradelyze validation run needs three files: your Pine Script strategy, TradingView's list of trades saved as a CSV file, and a CSV of price bars (open, high, low, close and volume, or OHLCV) for the same symbol and timeframe. A script that calls request.security() or request.security_lower_tf() needs one extra price file per timeframe.
In plain English
Tradelyze re-runs your strategy on price bars you supply and checks that it takes the same trades TradingView did. To do that it needs the script itself (Pine Script is TradingView's language for writing strategies), the trades TradingView produced, and the price history those trades happened on. A CSV file is a plain-text table that any spreadsheet program can open. When the three files disagree, for example on timezone or settings, the trades will not line up.
New to this? Start with What is backtesting?
Which files does a validation run need, and are all of them required?
A Tradelyze validation run needs three files, and all three are required: the Pine Script file, the TradingView trade list CSV and the OHLCV price-data CSV. A script that calls request.security() or request.security_lower_tf() to read a higher or lower timeframe also needs one extra price CSV for each timeframe it reads.
- Pine Script file. The wizard's Submit button stays disabled until a script is attached.
- TradingView trade list CSV. The Upload Trade CSV step's Continue button stays disabled without it. Tradelyze's server also refuses a submission without one, with the message “Trade CSV is required for submission.”
- OHLCV price-data CSV. The Upload Market Data step's Continue button stays disabled until a price file is attached. That step also shows a Skip button. Do not use it: the re-run replays your strategy on these price bars.
- Extra timeframe CSVs. When the script reads other timeframes, Continue stays disabled, and Tradelyze refuses the submission, until each requested timeframe has its own file.
The files go into the Tradelyze new-strategy wizard, which has five steps: Basic Info, Upload Trade CSV, Upload Market Data, Strategy Options and Review. Each file does a different job. The script says what the strategy does. The trade list is the answer key: the trades TradingView's Strategy Tester produced. The price data is what Tradelyze replays the script on, so the re-run can be compared with that answer key, trade by trade.
| File | Wizard step | Required? | What it is for | Limits in Tradelyze | Source |
|---|---|---|---|---|---|
| Pine Script strategy | Basic Info | Yes | The strategy's rules and its default settings | A .pine, .txt or .pinescript file is expected; up to 500 KB, declaring //@version=5 or //@version=6 | Tradelyze implementation |
| Trade list CSV | Upload Trade CSV | Yes | The trades TradingView produced, used as the answer key | .csv only, up to 10 MB | Tradelyze implementation |
| OHLCV price-data CSV | Upload Market Data | Yes | The bars the strategy is replayed on: same symbol and timeframe as the chart | .csv only, up to 10 MB, six named columns | Tradelyze implementation |
| Extra timeframe CSV, one per timeframe | Upload Market Data | Yes, when the script calls request.security() or request.security_lower_tf() | Bars for each other timeframe the script requests | .csv only, up to 10 MB, the same six columns | Tradelyze implementation |
Getting these files right matters for your money because every later number, from the optimized settings to the prop-firm rule checks, is computed on the re-run. If the re-run does not reproduce your TradingView trades, those numbers describe a different strategy. What happens after upload is covered in how Tradelyze validates a strategy.
How do I export the trade list from TradingView?
TradingView's list of trades is exported from the strategy report, the Strategy Tester panel under the chart. Tradelyze's Upload Trade CSV step sums the route up in one line: Strategy Tester → Export report (CSV). If you have not run a backtest yet, start with how to backtest on TradingView.
TradingView's Pine Script documentation (the Strategies page) says the Trades tab of the strategy report lists the strategy's simulated trades. The Download icon next to that list saves all of its data as a CSV file. According to the same page, the CSV includes every available column, even columns hidden in the Column setup menu.
- Open the chart with the strategy applied, on the exact symbol and timeframe you want validated.
- Open the strategy's settings and confirm the Inputs and Properties values are the ones you want, because the export records whatever ran.
- Open the strategy report under the chart and select the Trades tab.
- Click the Download icon beside the list of trades and save the CSV file.
- Upload that file, unchanged, at the Upload Trade CSV step in Tradelyze.
TradingView also offers a Download data as XLSX option in the strategy report's context menu, according to its Pine Script documentation. Tradelyze accepts only .csv files, so use the CSV download. Avoid opening the CSV in a spreadsheet program and saving it again, because spreadsheet programs can rewrite date and time formats.
After the upload, Tradelyze shows the first five rows of the trade list and checks for columns that look like dates, prices, trade direction and profit or loss. TradingView renames buttons from time to time. If a label on this page does not match your screen, the Strategies page of the Pine Script documentation is the current reference.
Very long backtests are trimmed
TradingView's Pine Script documentation says that with the default testing range a strategy keeps individual data for only the latest 9,000 trades. The same page says trimmed trades do not appear in downloaded CSV or XLSX files. A strategy with more than 9,000 trades therefore exports a list that starts later than the chart's history does.
Where do I get OHLCV price data, and why can't Tradelyze download it?
OHLCV price data is a table of bars, one row per bar, giving each bar's time, open, high, low, close and volume. Tradelyze cannot download it for you because, as its Upload Market Data step explains, it holds no market-data redistribution license.
The wizard asks you to supply data you are already licensed to use, for example an export from your broker or your TradingView account. Tradelyze states that the file is used only to evaluate and optimize your strategy inside your own account, and is not redistributed, resold or shared with any third party. By uploading, you confirm you have the right to use the data for personal backtesting under your provider's terms.
TradingView's help article How to export chart data describes the export from its charts. Choose Download chart data… from the dropdown menu in the upper toolbar, pick the chart, then click Download to save a CSV. The article also warns that the data you export is what your chart shows you. To get more history, scroll the chart left or drag the time axis, then download again. Scrolling stops at your plan’s limit: TradingView’s Help Center article on historical intraday data gives the length of history on any intraday timeframe as 5,000 bars on Basic, 10,000 on Essential and Plus, 20,000 on Premium, 25,000 on Expert and 40,000 on Ultimate, plus a few bars back to the start of the week, month or year. The same article says daily and daily-based intervals show all available data, so a daily price file is not capped the same way.
The price file must cover every trade in your trade list. Tradelyze's own troubleshooting advice after a failed conversion is to check that the market-data CSV covers the full date range of the trade history. Start the file earlier than the first trade as well. A 200-bar moving average has no value until 200 bars have passed, so trades near the start of a short file can differ.
Worked example (constructed illustration, not measured data): a strategy runs on a 5-minute MNQ1! chart, and its exported trades run from 6 January to 27 June 2025. The price file should hold 5-minute MNQ1! bars in the same chart timezone. It should start a few days before 6 January, so the indicators have history, and end on or after 27 June. Because MNQ1! is a continuous symbol, both files also need the same back-adjustment setting; see does back-adjustment change what I upload?
Which column names are accepted?
Tradelyze accepts a price-data CSV only when its header row names all six columns: a time column plus open, high, low, close and volume. Capitalization does not matter, and a file missing any one of the six is refused on upload.
| Column | Header names that work, in any capitalization | Source |
|---|---|---|
| Time | time, date, datetime or timestamp | Tradelyze implementation |
| Open | open | Tradelyze implementation |
| High | high | Tradelyze implementation |
| Low | low | Tradelyze implementation |
| Close | close | Tradelyze implementation |
| Volume | volume or vol | Tradelyze implementation |
Each header must be one of these names on its own. The upload screen labels the time column Date/Time, but a header that literally reads Date/Time is not an accepted name. Rename it to time, date, datetime or timestamp. A longer name such as Close Price is not matched either. Spelling out open, high, low and close in full is the safe choice.
Tradelyze limits each trade list, price-data and extra timeframe upload to 10 MB and a .csv file, and each Pine Script file to 500 KB.
By rough arithmetic, a price row such as 2025-01-06T09:30:00,21480.25,21492.50,21476.00,21490.75,1843 takes about 60 bytes, so 10 MB holds roughly 170,000 bars. A 5-minute chart that trades around the clock on weekdays prints at most 288 bars a day, so a year of weekdays is about 75,000 bars. Indicator columns in a chart export make every row longer; if a file is over the limit, shorten its date range.
Which timezone should I choose?
Set Chart Timezone to the zone shown in the bottom-right corner of your TradingView chart, and set Exchange Timezone to the zone of the exchange your symbol trades on. Tradelyze asks for both on the Basic Info step, and they do different jobs.
Chart Timezone is the clock both uploaded files are written in. Tradelyze's form explains that the price-data CSV and the trade list both come off the chart and are stamped in its timezone. This one setting therefore decides how every timestamp is read. The data does not have to be in UTC; it has to match this setting. Until you pick one, the field follows the exchange zone, which the form describes as TradingView's own default.
Exchange Timezone is the exchange's own calendar, which Tradelyze uses to decide where one trading day ends and the next begins. Tradelyze converts each trade's exit time to the Exchange Timezone and counts the trade on that calendar date. Prop-firm rules are measured on that boundary: minimum trading days, daily drawdown, end-of-day drawdown and the consistency rule. Tradelyze does not pre-select this field, because the zone cannot be read from a CSV file or guessed from the symbol.
| Zone | Exchanges listed with it | Source |
|---|---|---|
| America/Chicago | CME, CBOT, NYMEX, COMEX | Tradelyze implementation |
| America/New_York | NYSE, NASDAQ, ICE US | Tradelyze implementation |
| Europe/London | LSE, ICE Europe | Tradelyze implementation |
| Europe/Berlin | Eurex, Xetra | Tradelyze implementation |
| Asia/Kolkata | NSE, BSE | Tradelyze implementation |
| UTC | Crypto and 24/7 venues | Tradelyze implementation |
Worked example (constructed illustration, not measured data): a chart set to UTC exports a trade entered at 14:30 on 10 July 2025. In New York that moment was 10:30, because New York runs four hours behind UTC in summer. If you set Chart Timezone to America/New_York instead of UTC, Tradelyze reads the same 14:30 as New York time, four hours after the real entry. Its re-run trades then land on different bars.
The exchange-day effect works the same way. A trade that closed at 02:00 UTC on 11 July 2025 closed at 21:00 on 10 July on a Chicago clock, which runs five hours behind UTC in summer. America/Chicago and UTC can therefore put the same profit on different trading days, which changes a daily drawdown or best-day figure. Figure 1 on this page draws that example on a timeline.
A wrong timezone looks like a broken strategy
Tradelyze's form warns that with the wrong Chart Timezone, a strategy that reproduces TradingView exactly reads as a broken conversion rather than a slightly-off match. Check this setting first when the Match Rate is low, and see why a re-run backtest may not match TradingView.
Why must my script defaults match what I ran in TradingView?
Tradelyze runs your strategy with the default values written in the script, not with changes you made in TradingView's settings window. If the two differ, Tradelyze and TradingView are testing different strategies, and the trades will not match.
Tradelyze's Strategy Options step says these settings all come from the script's strategy() declaration and input() defaults: initial capital, commission, slippage, order size, pyramiding and input values. Pyramiding is how many entries in the same direction are allowed. TradingView lets you override these without editing code; its Pine Script documentation notes, for example, that users can change commission in the strategy's Settings/Properties tab. Those overrides shape the trades you export, but they are not written back into the script file. What each of these properties does to a backtest is explained in TradingView strategy properties.
length = input.int(14, "RSI length")
Worked example (constructed illustration, not measured data): this script declares an RSI length of 14 and an order size of 1. In TradingView you set RSI length to 21 in the Inputs tab and order size to 2 in the Properties tab, then exported the trades. Tradelyze would run length 14 with size 1, so entries fall on different bars and each trade is half the size. The fix is to change the script to input.int(21, "RSI length") and default_qty_value=2, then upload it again.
Before you export
Open the strategy's settings in TradingView and compare every Inputs and Properties value with the script. Copy any changed value into the script's defaults, save it, apply the saved script to the chart, and only then export the trade list.
When do I need a second timeframe file?
You need an extra price file whenever your script calls request.security() or request.security_lower_tf(). Tradelyze reads the timeframe in each call and asks for one OHLCV CSV per distinct timeframe.
TradingView's Pine Script documentation says request.security() retrieves data from another symbol, timeframe or context, and request.security_lower_tf() retrieves intrabar data from a timeframe lower than the chart's. Price bars from those other timeframes are not inside the chart-timeframe file, so the re-run cannot rebuild them from it.
The Tradelyze wizard finds these calls in your script, ignoring commented-out lines and text inside quotes, and adds one upload box per timeframe on the Upload Market Data step. A timeframe named in three calls is still one file. Continue stays disabled until every requested file is attached, and Tradelyze refuses to submit a strategy that is still missing one.
| Pine timeframe string | Meaning | Source |
|---|---|---|
| "1", "5", "10", "15", "30", "45" | 1, 5, 10, 15, 30 and 45 minutes | Tradelyze implementation |
| "60", "120", "180", "240" | 1, 2, 3 and 4 hours | Tradelyze implementation |
| "D", "W", "M" | Daily, weekly and monthly | Tradelyze implementation |
| "3M", "6M", "Y" | 3 months, 6 months and yearly | Tradelyze implementation |
Tradelyze reads "1D" as "D", and likewise "1W", "1M" and "1Y" as their single-letter forms. A timeframe outside the list is refused. The timeframe must also be readable before the run: a plain string such as "60", a variable set to one, or an input.timeframe() default all work. A timeframe built from a ternary or from joined strings is refused, with a message asking for a literal or an input.timeframe() default.
prevDay = request.security(syminfo.tickerid, "D", close)
Worked example (constructed illustration, not measured data): on a 5-minute chart, this script needs three price files. The main file holds 5-minute bars, one extra file holds 1-hour bars for the first call, and another holds daily bars for the second. Each extra file uses the same six columns and the same chart timezone as the main file, and should cover at least the same dates.
Check the match on multi-timeframe scripts
Tradelyze asks for extra files by timeframe only, so export them from the same symbol as your chart. Multi-timeframe scripts have more ways to drift from TradingView, including lookahead, which TradingView's documentation warns can leak future data into historical bars. Check the Match Rate before trusting the rest of the results; trade matching and TradingView accuracy explains what it measures.
What are point value and tick size?
Point value is how many dollars one futures contract gains or loses when price moves one full point. Tick size is the smallest step price can move. Tradelyze needs both for futures, because they turn price moves into the dollar profits and drawdowns every later result is built on.
On the Basic Info step, Tradelyze looks up the symbol you type and fills Point Value and Tick Size from its futures table. The lookup understands forms such as MNQ, MNQ1! (TradingView's continuous front-month symbol), MNQH2026 and CME_MINI:MNQ1!. You can overwrite either field. For a symbol that is not a known futures contract, the form says it uses 1.0 and 0.01, which it describes as correct for stocks and forex. For a futures contract missing from its table, the form asks you to enter both values yourself.
| Symbol | Contract | Point value ($ per point) | Tick size | Source |
|---|---|---|---|---|
| ES | E-mini S&P 500 (CME) | 50 | 0.25 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
| NQ | E-mini Nasdaq-100 (CME) | 20 | 0.25 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
| MES | Micro E-mini S&P 500 (CME) | 5 | 0.25 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
| MNQ | Micro E-mini Nasdaq-100 (CME) | 2 | 0.25 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
| GC | Gold (COMEX) | 100 | 0.10 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
| CL | Crude Oil, WTI (NYMEX) | 1,000 | 0.01 | Tradelyze futures lookup table; confirm against the exchange's contract specifications |
Worked example (constructed illustration, not measured data): three MNQ contracts bought at 21,500.00 and sold at 21,520.25 move 20.25 points, which is 81 ticks of 0.25. With the lookup table's point value of 2, the profit is 20.25 × $2 × 3 = $121.50 before costs. Entered wrongly as 1.0, the same trade shows $60.75, and every drawdown shrinks by half too. A strategy can then look safe against a prop firm's dollar loss limit when it is not; see prop firm rules and backtest metrics.
Does back-adjustment on continuous futures like MNQ1! change what I upload?
Yes, it can. On a continuous futures chart such as MNQ1!, two TradingView settings change the historical prices you see: back-adjustment (the B-ADJ button) and settlement as close. Your OHLCV price file must come from a chart with the same two settings as the chart you exported the trades from. If the settings differ, the two files describe different price histories, and the trades will not line up.
A continuous futures symbol is not one contract. TradingView's help center describes a continuous contract as an artificial instrument built by linking individual futures contracts with different expiration dates. The 1! series follows the front contract, the one nearest to expiring. TradingView's help center says the main condition for switching to the next contract is that contract's daily volume overtaking the current one's. Neighboring contracts trade at different prices, so an unadjusted chart can jump at each switch. That jump is called a roll gap.
| Setting | What it changes | Bars affected | Default | Source |
|---|---|---|---|---|
| Back-adjustment: the B-ADJ button, or “Adjust for contracts changes” in chart settings | Shifts earlier contracts by the price difference between the new and old contracts at each switch, removing the roll gap | Bars from contracts before each switch | Off | TradingView Help Center, back-adjustment article |
| Settlement as close: the SET button, or “Use settlement as close on daily interval” in chart settings | Uses the exchange's settlement price as each bar's close instead of the last traded price | Daily and higher-timeframe bars only; intraday bars are the same either way | On for futures and continuous symbols | TradingView Help Center, settlement article |
Back-adjustment works at every contract switch. TradingView's back-adjustment article says all previous contracts are adjusted by a coefficient at each switch. The coefficient is the difference between the new and old contracts' closes on the daily bar nearest the switch. Each later switch adjusts all earlier contracts again, so the oldest bars carry every roll gap since. It also means the adjusted history changes after each new roll. The same article says back-adjustment is off by default.
Settlement as close decides what counts as the close of a daily or longer bar. TradingView's help center says the exchange calculates the settlement price at the end of each trading day. The last price is the price of the day's final trade. The same article says intraday bars are identical either way, and that futures charts open with settlement as close turned on. On a 5-minute chart it leaves the bars unchanged. A daily or weekly price file, such as one for a request.security() call on "D", can still differ by setting.
Worked example (constructed illustration, not measured data): on an MNQ1! chart, the old contract closes at 23,500.00 on the switch day. The new contract closes at 23,700.00, a 200-point roll gap. With B-ADJ on, an old-contract bar that closed at 23,000.00 shows 23,200.00. Now suppose the trades came from a B-ADJ-on chart, but the price file was exported with B-ADJ off. Every trade before the switch is then priced 200 points above the bars it is replayed on. Limit and stop orders can fill on different bars, or not at all. Leaving B-ADJ off for both files has its own cost. On a B-ADJ-off chart, a long position held through that switch gains from the 200-point jump. At the lookup table's point value of $2, that is $400 per MNQ contract. A trader who actually rolled the position would not have earned it.
For continuous futures symbols
- Export the trade list, the main price file and every extra timeframe file from charts with the same B-ADJ and settlement-as-close settings.
- Export them at the same sitting, because the next roll changes back-adjusted history.
- TradingView's export article says an export contains what the chart shows. This page has not tested whether both settings carry into every export. Compare a few closes in the CSV with the chart near a switch date.
- Search the script for
ticker.new()andticker.modify(). TradingView's Pine Script release notes for August 2024 say both gainedbackadjustmentandsettlement_as_closeparameters, so a script can set these options itself.
Not verified: how Tradelyze treats adjusted data
How Tradelyze's re-run treats back-adjusted or settlement-adjusted prices has not been verified for this page. Tradelyze's new-strategy form does not ask whether a file is back-adjusted, and its upload step says it cannot download price data for you. Keep every file on the same settings, then check the Match Rate. Why trades do not match TradingView covers the other common causes.
What should I check before uploading?
Before uploading to Tradelyze, check that the script, the trade list and the price data describe the same strategy, symbol, timeframe, timezone and dates. The table lists each check and why it matters.
| Check | Why it matters |
|---|---|
| All three files are ready: the Pine Script, the trade list CSV and the OHLCV price-data CSV | Each one is required; do not press Skip on the Upload Market Data step |
| Script defaults match the Inputs and Properties used in TradingView | Tradelyze runs the script's own defaults |
Script declares //@version=5 or //@version=6 | Tradelyze refuses other versions |
| Trade list is the CSV download from the strategy report, not the XLSX | Tradelyze accepts .csv files only |
| Price data is the same symbol and timeframe as the chart | The trades are replayed on these bars |
| Price data starts before the first trade and ends after the last | Indicators need earlier bars, and every trade needs bars |
| Headers read time (or date, datetime, timestamp), open, high, low, close and volume | A file missing a column is refused on upload |
| Each CSV is within 10 MB and the script within 500 KB | Larger files are refused |
| Chart Timezone matches the chart's bottom-right corner | Every timestamp is read in this zone |
| Exchange Timezone matches the exchange | Trading days for prop-firm rules are counted in this zone |
One extra price file per request.security() timeframe | Submission is blocked until each is attached |
| Futures point value and tick size are correct | They set every dollar figure in the results |
| For a continuous symbol such as MNQ1!, the trade list and every price file share the same B-ADJ and settlement-as-close settings | Both settings change historical prices, so mismatched files describe different price histories |
Where this appears in Tradelyze
Tradelyze asks for these files on steps 2 and 3 of its new-strategy wizard. The trade list goes on Upload Trade CSV, and the price data plus any extra timeframe files go on Upload Market Data. The Pine Script, the symbol and both timezones go in first, on step 1, Basic Info.
Tradelyze re-runs an uploaded TradingView Pine Script strategy on your price data and checks the result against your exported trade list. It then runs parameter optimization, walk-forward analysis, a five-check robustness score and prop-firm rule checks. It does not place trades, give financial advice or guarantee a challenge pass, and it is in beta.
To judge the whole report, not one tile, use the pre-trade checklist.
Upload these files to a free account
Already a user? Open your strategies.
Stage 1 · step 2 of 18. Next in the learning path: Is TradingView backtesting accurate?
Frequently asked questions about exporting TradingView data
Questions about Tradelyze accounts, results and credits are answered in the Learn FAQ.
Is the TradingView trade list required?
Yes. Tradelyze refuses to submit a strategy without a trade list CSV. The trade list is the answer key: Tradelyze re-runs your Pine Script on your price data and compares the trades it gets with the trades TradingView recorded, one by one. Without that list the first stage, Baseline Matching, would have nothing to check the re-run against.
Can I skip the OHLCV price-data upload?
Do not skip it. On Tradelyze's Upload Market Data step the Continue button stays disabled until a price file is attached. The step also shows a Skip button, but skipping leaves the re-run without the price bars it replays your Pine Script on. Tradelyze's optimizer takes an OHLCV file as its market data. Upload bars for the same symbol, timeframe and chart timezone as your trade list.
How do I export the list of trades from TradingView?
Open the strategy report under your chart, select the Trades tab, and click the Download icon beside the list. TradingView's Pine Script documentation says that icon saves all available data for the list as a CSV file, including columns hidden in Column setup. Upload that CSV unchanged at Tradelyze's Upload Trade CSV step. The XLSX download is not accepted, because Tradelyze takes only .csv files.
Why can't Tradelyze download price data for me?
Tradelyze holds no market-data redistribution license, so its upload step asks you to supply historical OHLCV bars you are already licensed to use, such as an export from your broker or your TradingView account. Tradelyze states that the uploaded file is used only to evaluate and optimize your strategy inside your own account, and is not redistributed, resold or shared with any third party.
How do I export OHLCV chart data from TradingView?
TradingView's help article How to export chart data says to choose Download chart data… from the dropdown menu in the upper toolbar, pick the chart and click Download, which saves a CSV. The article notes that an export contains what your chart shows, so scroll the chart left or drag the time axis to load enough history first. Keep the chart on the strategy's symbol and timeframe.
How much price history should the OHLCV file cover?
The OHLCV file should cover every trade in your trade list and start well before the first one. Tradelyze's own troubleshooting advice is to check that the market-data CSV covers the full date range of the trade history. Extra bars at the start matter because indicators need history: a 200-bar moving average has no value until 200 bars have passed.
Why was my price file refused even though it has a Date/Time column?
Tradelyze matches whole header names, and Date/Time is not one of the accepted names for the time column. Rename that header to time, date, datetime or timestamp. The other five headers should read open, high, low, close and volume (vol also works), in any capitalization. A longer name such as Close Price is not matched, and a file missing any of the six columns is refused.
What is the difference between Chart Timezone and Exchange Timezone?
Chart Timezone is the clock your uploaded files are stamped in: the zone shown in the bottom-right corner of your TradingView chart. Exchange Timezone is the exchange's calendar, which Tradelyze uses to decide where one trading day ends. That boundary drives trading-day counts, daily drawdown, end-of-day drawdown and the consistency rule. A futures chart can display UTC while its exchange runs on Chicago time.
Why don't my trades match after I changed settings in TradingView?
Tradelyze runs the default values written in your script, not changes made in TradingView's Inputs or Properties tabs. If you changed an input, the order size, commission, slippage or pyramiding there before exporting, the exported trades came from settings the script file does not contain. Copy the changed values into the script's input() and strategy() defaults, then upload the edited script again.
Which timeframes can request.security() use in Tradelyze?
Tradelyze can take extra price data for 16 timeframes: 1, 5, 10, 15, 30 and 45 minutes; 60, 120, 180 and 240 minutes; and D, W, M, 3M, 6M and Y. A call naming any other timeframe is refused. Each timeframe needs its own OHLCV CSV with the same six columns, and a timeframe used by several calls needs only one file.
Why was my script refused for an unresolved timeframe?
Tradelyze has to know which extra price file to ask for before the run starts. When a request.security() timeframe is built from a ternary, joined strings or another expression that cannot be read in advance, the upload check refuses the script. Use a plain timeframe string such as "60", a variable set to one, or an input.timeframe() default, then upload the script again.
What point value should I use for MNQ?
Tradelyze's futures lookup table lists Micro E-mini Nasdaq-100 (MNQ) with a point value of 2 dollars per point and a tick size of 0.25. The form fills both fields when you type MNQ, MNQ1! or a dated contract such as MNQH2026. Confirm the figures against the exchange's contract specifications, because a wrong point value scales every profit, loss and drawdown figure.
Does Tradelyze accept Pine Script v4 strategies?
No. Tradelyze's upload check requires a //@version=5 or //@version=6 declaration and refuses any other version, as well as a script with no version line. A v4 strategy needs converting to v5 or v6 first. After converting, apply it to the chart again and export a fresh trade list, so the uploaded script and the exported trades come from the same code.
How large can the upload files be?
Tradelyze accepts a trade list CSV, a price-data CSV and each extra timeframe CSV of up to 10 MB, and a Pine Script file of up to 500 KB. By rough arithmetic, at about 60 bytes per row, 10 MB holds roughly 170,000 price bars: more than a year of 5-minute bars on a market trading around the clock on weekdays.
Sources
- TradingView, Pine Script User Manual, “Strategies” (Concepts section): the Trades tab of the strategy report, the Download icon that saves the list of trades as a CSV file, the Download data as XLSX option, the 9,000-trade limit, and overriding strategy defaults in the Settings/Properties tab. tradingview.com/pine-script-docs/concepts/strategies, retrieved 14 September 2026.
- TradingView, Pine Script User Manual, “Other timeframes and data”: what
request.security()andrequest.security_lower_tf()retrieve, and the warning that lookahead can leak future data into historical bars. tradingview.com/pine-script-docs/concepts/other-timeframes-and-data, retrieved 14 September 2026. - TradingView Help Center, “Historical intraday data: bars and limits explained”, article 43000480679: the length of history on any intraday timeframe is 5,000 bars on Basic, 10,000 on Essential and Plus, 20,000 on Premium, 25,000 on Expert and 40,000 on Ultimate, plus a few bars back to the start of the week, month or year; daily and daily-based intervals show all available data. tradingview.com/
support/ , retrieved 16 September 2026.solutions/ 43000480679 - TradingView Help Center, “How to export chart data”: the Download chart data… steps and the note that an export contains what the chart shows. tradingview.com/
support/ , re-fetched and re-checked 16 September 2026.solutions/ 43000537255 - Tradelyze implementation, reviewed 14 September 2026: new-strategy wizard steps and on-screen text, upload file types and size limits, accepted price-data header names, Chart Timezone and Exchange Timezone fields, extra-timeframe detection and supported timeframes, and the futures contract lookup table.
- Tradelyze implementation, reviewed 15 September 2026: the Submit button stays disabled without a Pine Script or a trade list; the server refuses a submission without a trade CSV with the message “Trade CSV is required for submission.”; the Upload Market Data step keeps Continue disabled until a price file is attached and also shows a Skip button; the optimizer takes an OHLCV file as its market data; and each trade's day for prop-firm rules is the calendar date of its exit time in the Exchange Timezone.
- TradingView Help Center, “What are 1! and 2! continuous futures contracts?”: a continuous futures contract links individual contracts with different expiration dates, and 1! represents the front, or nearest expiration month, contract. tradingview.com/
support/ , retrieved 15 September 2026.solutions/ 43000483493 - TradingView Help Center, “How is the switching date of contracts determined in continuous futures”: the main condition for switching is the next contract's daily volume exceeding the current contract's. tradingview.com/
support/ , retrieved 15 September 2026.solutions/ 43000691027 - TradingView Help Center, “How can I enable backadjustment for continuous futures?”: back-adjustment removes the roll gap between contracts; previous contracts are adjusted by the difference between the new and old contracts' closes on the daily bar nearest the switching point; the B-ADJ (Adjust for contracts changes) button and checkbox; and back-adjustment is disabled by default. tradingview.com/
support/ , retrieved 15 September 2026.solutions/ 43000685266 - TradingView Help Center, “Can I switch Settlement and Last prices as close for futures?”: the setting chooses the close of daily and higher-timeframe bars; intraday data is the same either way; futures and continuous symbols open with it enabled; the SET button; and the definitions of settlement price and last price. tradingview.com/
support/ , retrieved 15 September 2026.solutions/ 43000685268 - TradingView, Pine Script v5 User Manual, “Release notes”, August 2024:
ticker.new()andticker.modify()gained thesettlement_as_closeandbackadjustmentparameters. tradingview.com/pine-script-docs/v5/release-notes, retrieved 15 September 2026. - Tradelyze implementation, reviewed 15 September 2026: the new-strategy form has no back-adjustment or settlement-as-close option. How the re-run treats adjusted prices was not verified.
- Worked examples on this page (date range, timezone, settings, multi-timeframe, point-value and contract-roll calculations) and the example trade exit in Figure 1 are constructed illustrations, not measured data.