Check out the new reserve words proposed for MultiCharts 7.1

Check out the new reserve words proposed for MultiCharts 7.1.

New PowerLanguage keywords
September 15, 2011

1. PosTradeCount
Returns a numerical value, indicating the total number of entries for the specified position.
Usage
PosTradeCount (PosBack)
Where: PosBack – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.

Notes
This function can only be used in signals.
Example
PosTradeCount (1) will return a value of 2 if there were two separate entries for the most recently closed position

2. PosTradeSize
Returns an absolute numerical value, indicating the number of contracts or shares in the specified trade.

Usage
PosTradeSize(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount .

Notes
This function can only be used in signals.
Example
PosTradeSize(0,1) will return a value of 2 for the second trade of the open position, if this trade had a quantity of 2.

3. PosTradeCommission
Returns an absolute numerical value, indicating the commission amount spent for the specified trade.

Usage
PosTradeCommission(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeCommission(0,1) will return a value of 5 for the second trade of the open position, if the commission for this trade is 5 dollars.

4. PosTradeProfit
Returns an absolute numerical value, indicating the profit (or loss if negative) of the specified trade.

Usage
PosTradeProfit(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeProfit(0,1) will return a value of 3 for the second trade of the open position, if the profit for this trade is 3 dollars.

5. PosTradeEntryName
Returns entry order name. Entry Name is indicated on the chart and in Order and Position Tracker Window

Usage
PosTradeEntryName(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeEntryName(0,1) will return a value of “buy LE” for the second trade of the open position, if this trade was opened by the order with “buy LE” name.

6. PosTradeEntryPrice
Returns an absolute numerical value, indicating the execution price of trade entry order.

Usage
PosTradeEntryPrice(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeEntryPrice(0,1) will return a value of 100.2 for the second trade of the open position, if this trade was opened by the order filled at 100.2

7. PosTradeEntryBar
Returns an absolute numerical value, indicating bar number of the trade entry order.

Usage
PosTradeEntryBar(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeEntryBar(0,1) will return a value of 25 for the second trade of the open position, if this trade was opened on 25th bar.

8. PosTradeEntryCategory
Returns an absolute numerical value, indicating trade entry order category. The following types are possible:

1 = Stop order (buy next bar at close – 1 point stop)
2 = Limit order (buy next bar at close + 1 point limit)
3 = Market order (buy next bar market)
4 = Market at Close order (buy this bar at close)
5 = Market at open order (buy next bar open)
8 = StopLimit order (buy 1 contracts next bar at close – 2 point stop close + 2 point limit)

Usage
PosTradeEntryCateory(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeEntryCategory(0,1) will return a value of 1 for the second trade of the open position, if the order type was Stop Order

9. PosTradeExitName
Returns exit order name. Exit Name is indicated on the chart and in Order and Position Tracker Window

Usage
PosTradeExitName(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeExitName(0,1) will return a value of “sell LX” for the second trade of the open position, if this trade was closed by the order with “sell LX” name.

10. PosTradeExitPrice
Returns an absolute numerical value, indicating the execution price of trade exit order.

Usage
PosTradeExitPrice(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeExitPrice(0,1) will return a value of 100.5 for the second trade of the open position, if this trade was closed by the order filled at 100.5.

11. PosTradeExitBar

Returns an absolute numerical value, indicating bar number of the trade exit order.

Usage
PosTradeExitBar(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeExitBar(0,1) will return a value of 28 for the second trade of the open position, if this trade was closed on 28th bar.

12. PosTradeExitCategory
Returns an absolute numerical value, indicating trade exit order category. The following types are possible:

1 = Stop order (buy next bar at close – 1 point stop)
2 = Limit order (buy next bar at close + 1 point limit)
3 = Market order (buy next bar market)
4 = Market at Close order (buy this bar at close)
5 = Market at open order (buy next bar open)
8 = StopLimit order (buy 1 contracts next bar at close – 2 point stop close + 2 point limit)

Usage
PosTradeExitCateory(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeExitCategory(0,1) will return a value of 3 for the second trade of the open position, if the closing order type was Market Order.

13. PosTradeIsOpen
Returns True value if the trade is open, False value if the trade is closed. It makes sense to check the trades of the open position. For other positions False is always returned.

Usage
PosTradeIsOpen(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeIsOpen(0,1) will return True for the second trade of the open position, if this trade is opened (haven’t close order).

14. PosTradeIsLong
Returns True value if the trade was opened by buy order, otherwise False value is returned.

Usage
PosTradeIsLong(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.
Example
PosTradeIsLong(0,1) will return True for the second trade of the open position, if this trade was opened by “buy” order.

15. PosTradeEntryDateTime
Returns double-precision decimal DateTime for entry order. As an example see computerdatetime .

Usage
PosTradeEntryDateTime(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.

16. PosTradeExitDateTime
Returns double-precision decimal DateTime for exit order. As an example see computerdatetime .

Usage
PosTradeExitDateTime(PosAgo, TradeNumber)
Where: PosAgo – a numerical expression, specifying the position:
0 – open position;
1 – one position back (the last position closed);
2 – two positions back, etc.
TradeNumber – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in specified position use PosTradeCount

Notes
This function can only be used in signals.

17. Portfolio_InvestedCapital
Returns absolute value in US dollars, indicating the amount of cash assets invested in portfolio securities on the moment of strategy calculation.

18. Entryname
Returns the name of the order which opened the position.

Usage

EntryName(TradeNumber)
Where: TradeNumber – a numerical expression, specifying the number of trade (zero-based).

Notes
Same as PosTradeEntryName(0, TradeNumber).

19. Exitname
Returns the name of the order which closed the position.

Usage

ExitName(TradeNumber)
Where: TradeNumber – a numerical expression, specifying the number of trade (zero-based).

Notes
Same as PosTradeExitName(0, TradeNumber).

20. AvgEntryPrice_at_Broker_for_The_Strategy
Returns a numerical value, indicating the average entry price at the broker for the strategy.
A positive value indicates a long position and a negative value indicates a short position. A zero (‘0’) is returned when the current position is flat, or if Automated Trading is not turned on.

Usage

AvgEntryPrice_at_Broker_for_The_Strategy

Notes
This function can only be used in signals and functions.

Important
If Automated Trading was manually turned off by the user, the value returned by the keyword stops changing, and may remain unequal to ‘0’.

21. AvgEntryPrice_at_Broker
Returns a numerical value, indicating the average entry price at the broker for the symbol.
A positive value indicates a long position and a negative value indicates a short position.
A zero (‘0’) is returned when the current position is flat, or if Automated Trading is not turned on.

Usage

AvgEntryPrice_at_Broker

Notes
This function can only be used in signals and functions.
This function can only be used with Interactive Brokers, Patsystems, and Zen-Fire.

Important
If Automated Trading was manually turned off by the user, the value returned by the keyword stops changing, and may remain unequal to ‘0’

22. q_time_s
Same as q_time. Time is indicated in HHmmss format.

23. ClearPrintLog
Same as cleardebug.

24. mc_tl_getactive
Returns a numerical value indicating the trendline ID number of the currently selected trendline; returns a value of -1 if no trendlines are currently selected.

Usage

Mc_tl_GetActive

Notes
A trendline-specific ID number is assigned by mc_tl_New when the trendline is created.

Example

Assign a value, indicating the trendline ID number of the currently selected trendline, to Value1 variable:
Value1=mc_TL_GetActive;

25. tl_getactive
This reserved word returns a numeric value representing the ID of the currently active trendline..

Value1 = TL_GetActive();

Value1 is any numeric variable or array. You must assign the trendline reserved word to a numeric variable or array so that you can determine whether or not the reserved word performed its operation successfully.

Remarks

When the reserved word performs its operation successfully, a 0 is returned. When a reserved word cannot perform its operation, it returns an error code.

26. mc_arw_getactive
Returns a numerical value indicating the arrow ID number of the currently selected arrow; returns a value of -1 if no arrows are currently selected.

Usage

Mc_arw_GetActive

Example

Assign a value, indicating the arrow ID number of the currently selected arrow, to Value1 variable:
Value1=mc_arw_GetActive;

27. mc_text_getactive
Returns a numerical value indicating the text ID number of the currently selected text; returns a value of -1 if no text is currently selected.

Usage

Mc_text_GetActive

Example

Assign a value, indicating the text ID number of the currently selected text, to Value1 variable:
Value1=mc_text_GetActive;

28. Boxsize
Returns the price-based interval setting associated with the specified price-based chart type an indicator or signal is applied to.
This value is set in the Chart Type section of the Settings tab within the Format Instrument dialog for a chart.

Chart Type Value Returned
Point & Figure Box Size value
Point Point value
Renko Box Size value

29. Revsize
Returns the Reversal of a Point & Figure chart, the Reversalof a Kagi chart, or the number of Line Breaks in a Line Break chart. This value is set in the Chart Type section of the Settings tab within the Format Instrument dialog for a chart.
Example
RevSize returns 2 if the reversal size of a P & F chart is set to 2.
RevSize returns 5 if the number of line breaks for a Line Break chart is set to 5.
RevSize returns 4 if the reversal size of a Kagi chart is set to 4%.

30. RecalcLastBarAfter
Initializes the calculation after expiration of the timeout, set in seconds

Usage

RecalcLastBarAfter(timeout)
Where timeout indicates the number of seconds.

Notes
RecalcLastBarAfter is used for the slow markets. Calculation of the studies is performed in events when the immediate tick has come to a chart. When the tick has not come since the moment of the last calculation and during timeout (sec) a new calculation is being initialized. When the tick has been received before timeout expiration, time counter is reset and countdown for RecalcLastBarAfter(timeout) starts anew

31. i_AvgEntryPrice_at_Broker

Returns the Average entry price of each open entry in a pyramided position.
Notes
I_AvgEntryPrice only returns the average entry price for open trades.
I_AvgEntryPrice can only be used in an indicator.
I_AvgEntryPrice will only return a value if a signal is applied to the same data.

Example
I_AvgEntryPrice returns 170 if three trades are currently open and were entered at a price of 140, 170, and 200.
I_AvgEntryPrice returns 53 if four trades are currently open and were entered at a price of 54, 48, 60, and 50.

32. i_AvgEntryPrice_at_Broker_for_The_Strategy
Is used for the extraction of strategy information in indicator. Returns the same information as AvgEntryPrice_at_Broker_for_The_Strategy.

33. PlaceMarketOrder
Places market order at the broker without position changing on the chart

Usage
PlaceMarketOrder(IsBuy, IsEntry, Contracts)

Where:

IsBuy indicates whether order is buy or sell,
IsEntry indicates whether order is entry or exit,
Contracts indicates the number of contracts/shares of the order.

Notes
Works with auto trading turned off. Can be used as a mean of synchronization of strategy market position with a broker

34. ChangeMarketPosition
Places the order with set name and price on the chart. Though when auto trading is off the order will not be sent to a broker.

Usage

ChangeMarketPosition(Delta, Price, Name)

Where
Delta – number of contracts by which current market position should be changed.
Price – order filling price.
Name – name of the order that changes the position.

Notes
Can be used as a mean of synchronization of strategy market position with a broker

Example

If marketposition = 2 then ChangeMarketPosition(-2, 100, “LX”)
Will place close order with the name “LX” and the price 100 if current marketposition =2

If marketposition = 0 then ChangeMarketPosition(-2, 100, “SE”)
Will place open order with the name “SE” and the price 100 if current marketposition =0

35. OpenEntriesCount
Same as CurrentEntries.

36. OpenEntryDate
Returns a numerical value, indicating the date of specified entry into the open position. The date is indicated in the YYYMMdd format, where YYY is the number of years since 1900, MM is the month, and dd is the day of the month.

Usage

OpenEntryDate(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

Example

OpenEntryDate(1) will return 1110402 for the open position if the second trade was generated at April 2nd, 2011.

37. OpenEntryTime
Returns a numerical value, indicating the time of specified entry into the open position. The time is indicated in the HHmm format, where HH is the hour in 24 hours format and mm are minutes.

Usage

OpenEntryTime(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

38. OpenEntryPrice
Returns a numerical value, indicating the price of specified entry into the open position.

Usage

OpenEntryPrice(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

39. OpenEntryContracts
Returns a numerical value, indicating the Quantity of contracts of specified entry order into the open position.

Usage
OpenEntryContracts(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

40. OpenEntryProfit
Returns a numerical value, indicating the profit (loss if negative) of specified entry into the open position in dollars.

Usage
OpenEntryProfit(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

41. OpenEntryMaxProfit
Returns a numerical value, indicating maximal value of OpenEntryProfit for the time from entry order execution

Usage
OpenEntryMaxProfut(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

42. OpenEntryMinProfit
Returns a numerical value, indicating minimal value of OpenEntryProfit for the time from entry order execution

Usage
OpenEntryMinProfut(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

43. OpenEntryProfitPerContract
Returns a numerical value, indicating the profit (loss if negative) per contract of specified entry in dollars.

Usage
OpenEntryProfitPerContract(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

44. OpenEntryMaxProfitPerContract
Returns a numerical value, indicating maximal value of OpenEntryProfitPerContract for the time from entry order execution

Usage
OpenEntryMaxProfitPerContract(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

45. OpenEntryMinProfitPerContract
Returns a numerical value, indicating minimal value of OpenEntryProfitPerContract for the time from entry order execution

Usage
OpenEntryMinProfitPerContract(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

46. OpenEntryComission
Returns a numerical value, indicating the amount of cash assets in US dollars spent on the commission for specified trade.

Usage
OpenEntryComission(EntryIndex)
Where: EntryIndex – a numerical expression, specifying the number of trade (zero-based). To retrieve the total number of trades in open position use OpenEntriesCount

Notes
This function can only be used in signals.

47. Not
Used in TrueFalse statements – negative

Example
condition1 = true;
condition2 = not condition1;
Assigns to condition2 value opposite to condition1.

Other changes

i_openequity –
Returns the current equity = netprofit + openpositionprofit
Usage
i_OpenEquity
Notes
This function can only be used in studies.
Example
i_OpenEquity will return 100 if the current equity is 100.
i_OpenEquity will return -100 if the current equity is -100.