Placeholders are strings that refer to a specific series of values or events, and have the form {placeholder_title}, where placeholder_title is the name of the placeholder to access and {} makes sure the string is recognized as a placeholder.

Placeholders allow accessing market data such as ohlc prices, volume, but also specific features from their respective toolkit such as signals, indicators…etc.

Common Placeholders

The placeholders below can be used in all the toolkits.

Market Data Placeholders

Market data placeholder allows referencing typical market data such as ohlc prices and volume.

These placeholders are available for all toolkits.

PlaceholderDescription
{open}Open price of the bar
{high}High price of the bar
{low}Low price of the bar
{close}Close price of the bar
{hl2}Median price (high + low) / 2
{ohlc4}Average price (open + high + low + close) / 4
{hlc3}Typical price (high + low + close) / 3
{hlcc4}Weighted average of hlc prices (high + low + 2 * close) / 4
{volume}Volume for the bar
{range}Difference between High and Low prices
{tr}True Range

Time placeholder allows referencing time related information such as the bar hour and minute, day, bar index…etc.

These placeholders are available for all toolkits.

PlaceholderDescription
{barindex}Index of the current bar
{last_barindex}Index of the most recent bar
{second}Current bar second
{minute}Current bar minute
{hour}Current bar hour
{dayofweek}Current bar day of the week ranging from 1 to 7, with 1 for sunday
{dayofmonth}Current bar day of the month
{weekofyear}Current bar week of the year
{month}Current bar month of the year
{year}Current bar year (with timezone)
{unix_ts}Unix timestamp of the bar
{timeframe}Chart timeframe in minutes
{hhmm-hhmm}Session placeholder, True when the bar is located within the specific session interval, see here for more information

Note that {dayofweek} returns the day based on the time of the bar’s open. For overnight sessions (e.g. EURUSD, where Monday session starts on Sunday, 17:00) this value can be lower by 1 than the day of the trading day.

The timezone for the time related placeholders is defined by the Timezone dropdown setting, defining the timezone using UTC. Default value is exchange, which uses the exchange timezones to get the value of the time related placeholders.

Session Placeholder

You can easily detect if the current bar is within a specific session (time interval) by using the session placeholder with pattern {hhmm-hhmm}, where hh is the hour and mm the minute.

The value of this placeholder will be True when the bar time is located between the start time {hhmm- and end time -hhmm.

For example, if we want to detect when the bar is located in the session starting at 14:30 and ending at 16:45 we would simply use:

Example
{1430-1645}

External Placeholders

Users can refer to a series of values outside the toolkit by using external placeholder. A maximum of 5 external placeholders can be used:

  • {external1}
  • {external2}
  • {external3}
  • {external4}
  • {external5}

In order to use external placeholders, users must first select the external source from the provided dropdowns located in the Alert Scripting settings. Once selected, external sources can be referred from their respective placeholders.

Custom Alert Creator Placeholders

Placeholders referencing events from the custom alert creator in order to potentially create more complex alerts.

These can either be True or False.

PlaceholderDescription
{custom_alert_step}Set conditions from the custom alert creator (except OR)
{custom_alert_or}OR condition from the custom alert creator

Sequencing Placeholders

Alert scripting includes multiple placeholders helping user create and refine a sequence of conditions.

PlaceholderDescription
{step}Current step in the ongoing sequence of conditions, with 0 being the first step
{barssince_step}Numbers of bars elapsed since last step or invalidation
{invalidated}True is previous bar had an invalidation event

The {step} placeholder is a special placeholder used to refer to the current step in a sequence of conditions defined in the scripted alert.

For more information, see here.

User Defined Placeholders (UDP)

User defined placeholders (UDPs) are custom placeholders defined by users and assigned to a specific condition set by the user. These placeholders can later be referenced as part of other conditions or UDPs.

To define a UDP a line must start with a placeholder with a unique name, followed by an equal sign =, then followed by the condition we want to assign to this placeholder, for example my_placeholder} = {close} > {open}

Let’s take a more complex example and say we want to be alerted on a new bullish fair value gaps while we also had one on the previous bar.

Doing this could involve a long and messy script, to make things easier we can create an UDP that refers to the condition of a bullish fair value gaps, and reuse it for our alert condition:

{bull_fvg} = {low} > {high}[2] and {close}[1] > {high}[2]

{bull_fvg} and {bull_fvg}[1]

Creating an UDP will not trigger an alert from its assigned condition.

Toolkit Placeholders

The placeholders below are unique to their respective toolkit, and refer to the toolkit features.

Signals & Overlays Placeholders

Data Series Placeholders

PlaceholderDescription
{barcolor}Bar color value for confirmation signals, with 1 for green, -1 for red, and 0 for purple
{ml_classifier}ML Classifier value for signals, ranging from 1 to 4
{smart_trail}Smart Trail value
{smart_trail_extremity}Smart Trail extremity value
{rz_r3}Reversal Zones Resistance 3 value
{rz_r2}Reversal Zones Resistance 2 value
{rz_r1}Reversal Zones Resistance 1 value
{rz_s1}Reversal Zones Support 1 value
{rz_s2}Reversal Zones Support 2 value
{rz_s3}Reversal Zones Support 3 value
{catcher}Trend Catcher value
{os_catcher}Value associated to the trend detected by the Trend Catcher, with 1 for uptrends, and 0 for downtrends
{tracer}Trend Tracer value
{os_tracer}Value associated to the trend detected by the Trend Tracer, with 1 for uptrends, and 0 for downtrends
{neo_lead}Neo Cloud lead line value
{neo_lag}Neo Cloud lagging line value
{tp2}Take profit 2 level value
{tp1}Take profit 1 level value
{sl1}Stop loss 1 level value
{sl2}Stop loss 2 level value
{optimal_sensitivity}Optimal sensitivity value
{trend_strength}Trend Strength percentage value
{volatility}Lux Volatility percentage value
{squeeze}Squeeze Index percentage value
{volume_sentiment}Volume Sentiment percentage value

Trigger Placeholders

PlaceholderDescription
{bullish_confirmation}True on a new normal bullish confirmation signal
{bullish_confirmation+}True on a new strong bullish confirmation signal
{bullish_confirmation_any}True on a any new bullish confirmation signal
{bullish_confirmation_turn+}True when a normal bullish confirmation signal turns strong
{bearish_confirmation}True on a new normal bearish confirmation signal
{bearish_confirmation+}True on a new strong bearish confirmation signal
{bearish_confirmation_any}True on any new bearish confirmation signal
{bearish_confirmation_turn+}True when a normal bearish confirmation signal turns strong
{bullish_contrarian}True on a new normal bullish contrarian signal
{bullish_contrarian+}True on a new strong bullish contrarian signal
{bullish_contrarian_any}True on any new bullish contrarian signal
{bearish_contrarian}True on a new normal bearish contrarian signal
{bearish_contrarian+}True on a new strong bearish contrarian signal
{bearish_contrarian_any}True on any new bearish contrarian signal
{exit_buy}True on a new exit buy signal
{exit_sell}True on a new exit sell signal
{bullish_smart_trail}True if Smart Trail is up-trending
{bearish_smart_trail}True if Smart Trail is down-trending
{bullish_catcher}True if Trend Catcher is up-trending
{bearish_catcher}True if Trend Catcher is down-trending
{bullish_tracer}True if Trend Tracer is up-trending
{bearish_tracer}True if Trend Tracer is down-trending
{bullish_neo}True if Neo CLoud is up-trending
{bearish_neo}True if Neo CLoud is down-trending

Price Action Concepts Placeholders

Data Series Placeholders

PlaceholderDescription
{internal_high}Internal high levels value
{internal_low}Internal low levels value
{swing_high}Swing high levels value
{swing_low}Swing low levels value
{ob_buy_volume}Most recent order block buy volume
{ob_sell_volume}Most recent order block sell volume
{ob_total_volume}Most recent order block total volume
{ob_per_volume}Most recent order block percentage volume
{prev_day_high}Previous day high value
{prev_day_low}Previous day low value
{prev_week_high}Previous week high value
{prev_week_low}Previous week low value
{prev_month_high}Previous month high value
{prev_month_low}Previous month low value
{prev_quarter_high}Previous quarter high value
{prev_quarter_low}Previous quarter low value

Trigger Placeholders

PlaceholderDescription
{bull_ichoch}True on a new internal bullish CHoCH
{bull_ichoch+}True on a new internal bullish CHoCH+
{bull_ibos}True on a new internal bullish BOS
{bear_ichoch}True on a new internal bearish CHoCH
{bear_ichoch+}True on a new internal bearish CHoCH+
{bear_ibos}True on a new internal bearish BOS
{bull_schoch}True on a new swing bullish CHoCH
{bull_schoch+}True on a new swing bullish CHoCH+
{bull_sbos}True on a new swing bullish BOS
{bear_schoch}True on a new swing bearish CHoCH
{bear_schoch+}True on a new swing bearish CHoCH+
{bear_sbos}True on a new swing bearish BOS
{bull_ob}True on a new bullish order block
{bear_ob}True on a new bearish order block
{bull_bb}True on a new bullish breaker block
{bear_bb}True on a new bearish breaker block
{bull_ob_mitigated}True when a bullish order block is mitigated
{bear_ob_mitigated}True when a bearish order block is mitigated
{bull_ob_within}True when price is within a bullish order block
{bear_ob_within}True when price is within a bearish order block
{bull_ob_entered}True when price enters a bullish order block
{bear_ob_entered}True when price enters a bearish order block
{bull_ob_exit}True when price exits a bullish order block
{bear_ob_exit}True when price exits a bearish order block
{bull_imbalance}True on a new bullish imbalance
{bear_imbalance}True on a new bearish imbalance
{bull_imbalance_mitigated}True when a bullish imbalance is mitigated
{bear_imbalance_mitigated}True when a bearish imbalance is mitigated
{bull_imbalance_entered}True when price is within a bullish imbalance
{bear_imbalance_entered}True when price is within a bearish imbalance
{bull_imbalance_within}True when price enters a bullish imbalance
{bear_imbalance_within}True when price enters a bearish imbalance
{bull_imbalance_exit}True when price exits a bullish imbalance
{bear_imbalance_exit}True when price exits a bearish imbalance
{trendline_up_new}True on a new up-trending trendline
{trendline_up_update}True on a new up-trending trendline update
{trendline_up_break}True on a new up-trending trendline break
{trendline_dn_new}True on a new down-trending trendline
{trendline_dn_update}True on a new down-trending trendline update
{trendline_dn_break}True on a new down-trending trendline break
{bullish_grab}True on a new bullish liquidity grab
{bearish_grab}True on a new bearish liquidity grab
{premium}True when price is located within a premium zone
{discount}True when price is located within a discount zone

Oscillator Matrix Placeholders

Data Series Placeholders

PlaceholderDescription
{moneyflow}Money Flow oscillator value
{overflow}Overflow value
{hyperwave}HyperWave oscillator value
{hyperwave_signal}HyperWave signal line value
{bullish_confluence}Bullish confluence numerical value, 0 for no confluence, 1 for low confluence, 2 for strong confluence
{bearish_confluence}Bearish confluence numerical value, 0 for no confluence, 1 for low confluence, 2 for strong confluence
{confluence_meter}Confluence meter value

Trigger Placeholders

PlaceholderDescription
{regular_bullish_hyperwave}True on a new regular bullish HyperWave signal
{regular_bearish_hyperwave}True on a new regular bearish HyperWave signal
{oversold_bullish_hyperwave}True on a new oversold bullish HyperWave signal
{overbought_bearish_hyperwave}True on a new overbought bearish HyperWave signal
{reversal_up-}True on a new minor bullish reversal signal
{reversal_up+}True on a new major bullish reversal signal
{reversal_down-}True on a new minor bearish reversal signal
{reversal_down+}True on a new major bearish reversal signal
{bullish_divergence}True on a new bullish divergence
{bearish_divergence}True on a new bearish divergence