Dynamic Variables
What Are Dynamic Strategy Variables?
Dynamic strategy variables in TradingView are placeholders that automatically populate with values from your TradingView strategy during execution. They are used to pass dynamic information from the strategy through the alert.
https://www.tradingview.com/support/solutions/43000531021-how-to-use-a-variable-value-in-alert/?ref=crosstrade.io/blog
Which approach should I use?
There are two ways to wire dynamic values into a CrossTrade alert. Pick based on who controls the Pine Script:
- You're authoring your own Pine Script → use the
alert_messagepattern in section 3 below. When you write Pine yourself, this is how you trigger CrossTrade alerts: build the payload as a string in Pine and pass it viaalert_message=. It's the only approach that lets you compute per-signal values like calculated SL/TP or asymmetric long/short payloads. - You're using a script you didn't write (third-party strategy, built-in TradingView indicator, copy-pasted code you don't want to touch) → use the alert-dialog placeholder approach in section 1 below. Paste the CrossTrade payload directly in the alert message field with
{{strategy.order.action}}etc.; TradingView substitutes the placeholders at fire time.
How to Use Dynamic Strategy Variables in CrossTrade Alerts
1. Using Variables with the Alert Message Window
If your TradingView strategy generates dynamic variables for Action and Qty, you can integrate these into your CrossTrade alert. Here’s how:
- Define the variables in your strategy.
- In the alert's Message field, ensure that the placeholders (e.g.,
{{strategy.order.action}},{{strategy.order.contracts}}) are used. - CrossTrade will interpret these placeholders and execute the corresponding actions on your connected trading platform.
Example:
If your strategy generates an alert with the following placeholders:
action={{strategy.order.action}};
qty={{strategy.order.contracts}};
CrossTrade will process the alert dynamically, replacing the placeholders with the actual action (e.g., buy, sell) and quantity values defined by your strategy.
\ If you're trading futures, its best to use the variable {{strategy.order.contracts}}
2. Static Alerts for Indicators
Since indicators do not support dynamic variables specifically for the buy or qty fields, you must provide all required fields explicitly in the Message window. For example:
action=buy;
qty=10;
This ensures that CrossTrade receives complete and actionable instructions for your trades. You can use certain variables with indicators, such as:
{{close}}→ The closing price of the current bar{{open}}→ The opening price of the current bar{{high}}→ The highest price of the current bar{{low}}→ The lowest price of the current bar
However, bear in mind that these will offer limited functionality when compared to a strategy variable.
3. Customizing Alerts with Pine Script (the alert_message pattern)
If you're authoring your own Pine Script, this is the canonical pattern for firing CrossTrade alerts. Build the full CrossTrade payload as a string inside your script, pass it to strategy.entry() / strategy.exit() via the alert_message= parameter, and read it back in the TradingView alert dialog with {{strategy.order.alert_message}}. It's the only way to do per-signal customization (calculated SL/TP from tick math, different payloads for long vs. short, qty derived from ATR) — none of which is expressible from the alert dialog.
Steps:
-
Define the full CrossTrade payload in your Pine Script:
if longConditionstopLossPrice = close - stopLossTickstargetPrice = close + targetTicksalertMessage = 'key=your-secret-key;'alertMessage += 'command=place;'alertMessage += 'account=sim101;'alertMessage += 'instrument={{ticker}};'alertMessage += 'action=buy;'alertMessage += 'qty=1;'alertMessage += 'order_type=market;'alertMessage += 'tif=day;'alertMessage += 'flatten_first=true;'alertMessage += 'take_profit=' + str.tostring(targetPrice) + ';'alertMessage += 'stop_loss=' + str.tostring(stopLossPrice) + ';'strategy.entry("Long", strategy.long, alert_message=alertMessage) -
Call the payload in your alert configuration using the
{{strategy.order.alert_message}}placeholder.
Example Alert:
{{strategy.order.alert_message}}
Key Points to Remember
- Strategies Only: Dynamic variables are exclusively for use with strategies. They are not supported for indicators.
- Supported Fields: Only the Action and Qty fields can use dynamic variables in CrossTrade alerts.
- Static Messages for Indicators: For indicators, you must manually provide all required details in the alert's Message window.
For more info on using variables and automating TradingView strategies, check out this article:
https://crosstrade.io/blog/how-to-automate-tradingview-strategies-with-crosstrade/