0% found this document useful (0 votes)
784 views905 pages

Multi Charts Userguide

MultiCharts is a professional charting and automated trading platform, designed for futures, stock, and forex traders. It is compatible with industry-standard tradeStation(r) easyLanguage(r) studies. Studies can be customized, optimized, and back-tested prior to implementing them on the real market. Multicharts market scanner is an indispensable tool for screening quotes and ranking the financial instruments that you monitor.

Uploaded by

Yann Moncuit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
784 views905 pages

Multi Charts Userguide

MultiCharts is a professional charting and automated trading platform, designed for futures, stock, and forex traders. It is compatible with industry-standard tradeStation(r) easyLanguage(r) studies. Studies can be customized, optimized, and back-tested prior to implementing them on the real market. Multicharts market scanner is an indispensable tool for screening quotes and ranking the financial instruments that you monitor.

Uploaded by

Yann Moncuit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 905

www.tssupport.

com

MultiCharts 5.5
User Guide

August 2009

© 2009 TS Support, LLC


MultiCharts 5.5
Unleash the Power of Algorithmic & Automated Trading

MultiCharts is a professional charting and automated trading


platform, designed for futures, stock, and forex traders. A
key feature of MultiCharts is the compatibility with
industry-standard TradeStation® EasyLanguage®.

EasyLanguage® studies can be customized, optimized, and


back-tested prior to implementing them on the real market.

MultiCharts includes very powerful and flexible charting that


handles multi-symbol and multi-timeframe charts, and works
with most leading streaming data vendors. Time-based and
Count-based, as well as Bid, Ask, or Trade-based data
series can be mixed within the same chart.

MultiCharts market scanner is an indispensable tool for


screening quotes and ranking the financial instruments that
you monitor.

www.tssupport.com
Contents 5

Table of Contents

Part I Introduction 20

Part II Typographical Conventions 21

Part III System Requirements 22

Part IV MultiCharts 23
1 MultiCharts ...................................................................................................................................
Work Area 23
2 Understanding
...................................................................................................................................
Chart Window 30
3 Creating Charts
................................................................................................................................... 32
4 Chart Settings
................................................................................................................................... 38
Symbol Settings
.......................................................................................................................................................... 38
Changing.........................................................................................................................................................
Symbols 38
Chart Resolution
......................................................................................................................................................... 41
Quote Field......................................................................................................................................................... 47
Sessions ......................................................................................................................................................... 48
Data Range ......................................................................................................................................................... 49
Time Zone ......................................................................................................................................................... 51
Data Numbers
......................................................................................................................................................... 52
Using SubCharts
......................................................................................................................................................... 53
Chart Style .......................................................................................................................................................... 57
Chart Style......................................................................................................................................................... 57
OHLC Bar.........................................................................................................................................................
Chart 59
HLC Bar Chart
......................................................................................................................................................... 61
Hollow Candlestick
.........................................................................................................................................................
Chart 63
Candlestick.........................................................................................................................................................
Chart 65
Dot On Close
.........................................................................................................................................................
Chart 67
Line On Close
.........................................................................................................................................................
Chart 69
Invisible Chart
......................................................................................................................................................... 71
Chart Scaling.......................................................................................................................................................... 73
Chart Scaling
......................................................................................................................................................... 73
Scale Range......................................................................................................................................................... 75
Margins ......................................................................................................................................................... 79
Scale Type ......................................................................................................................................................... 80
Scale Labels
......................................................................................................................................................... 82
Volume Profile
......................................................................................................................................................... 88
5 Using Charts
................................................................................................................................... 90
Reloading Charts
.......................................................................................................................................................... 90
Adjusting Chart
.......................................................................................................................................................... 91
Using Pointers
.......................................................................................................................................................... 94
Making Screenshots
.......................................................................................................................................................... 96
Changing Visual
..........................................................................................................................................................
Order 97
Printing Charts
.......................................................................................................................................................... 98
6 Chart Window
................................................................................................................................... 99

© 2009 TS Support, LLC


6 MultiCharts 5.5 User Guide

.......................................................................................................................................................... 99
Chart Appearance
Background.......................................................................................................................................................... 100
Chart Window.......................................................................................................................................................... 102
Price Scale .......................................................................................................................................................... 105
Time Scale .......................................................................................................................................................... 107
Status Line .......................................................................................................................................................... 110
Volume Profile
.......................................................................................................................................................... 113
Data Window .......................................................................................................................................................... 114
................................................................................................................................... 115
7 Drawing Tools
Understanding
..........................................................................................................................................................
Drawing Tools 115
Trend Line .......................................................................................................................................................... 118
Horizontal Line
.......................................................................................................................................................... 121
Time Line .......................................................................................................................................................... 124
Regression Channel
.......................................................................................................................................................... 126
Equidistant Channel
.......................................................................................................................................................... 130
Andrews' Pitchfork
.......................................................................................................................................................... 133
Fibonacci Retracement
..........................................................................................................................................................
Price Lines 135
Fibonacci Speed/Resistance
..........................................................................................................................................................
Fan 138
Fibonacci Speed/Resistance
..........................................................................................................................................................
Arcs 141
Fibonacci Time
..........................................................................................................................................................
Zones 144
Fibonacci Trend-Based
..........................................................................................................................................................
Time Lines 146
Gann Fan .......................................................................................................................................................... 149
Gann Square.......................................................................................................................................................... 152
Retracement..........................................................................................................................................................
Calculator 155
Text .......................................................................................................................................................... 156
Rectangle .......................................................................................................................................................... 158
Ellipse .......................................................................................................................................................... 160
Arc .......................................................................................................................................................... 162
Arrow Down.......................................................................................................................................................... 164
Arrow Up .......................................................................................................................................................... 166
8 Studies ................................................................................................................................... 168
Using Studies.......................................................................................................................................................... 168
Indicator Settings
.......................................................................................................................................................... 173
Signal Settings
.......................................................................................................................................................... 178
Indicator Scaling
.......................................................................................................................................................... 181
Alerts .......................................................................................................................................................... 188
Study Templates
.......................................................................................................................................................... 192
Volume Profile
.......................................................................................................................................................... 194
9 Strategy Trading
................................................................................................................................... 195
Strategies .......................................................................................................................................................... 195
Understanding
.........................................................................................................................................................
Strategies 195
Strategy.........................................................................................................................................................
Properties 196
Backtesting .......................................................................................................................................................... 199
Understanding
.........................................................................................................................................................
Backtesting 199
Intra-Bar.........................................................................................................................................................
Price Movement Assumptions 200
Using Performance
.........................................................................................................................................................
Report 201
Bar Magnifier
......................................................................................................................................................... 204
Order Linking
......................................................................................................................................................... 205
Understanding
.........................................................................................................................................................
Precise Back Testing 206
Using Precise
.........................................................................................................................................................
Back Testing 207
Optimization.......................................................................................................................................................... 209
Understanding
.........................................................................................................................................................
Optimization 209
Performing
.........................................................................................................................................................
Optimization 212

© 2009 TS Support, LLC


Contents 7

Using Optimization
.........................................................................................................................................................
Report 216
Walk Forward
.........................................................................................................................................................
Optimization 218
AutoTrading.......................................................................................................................................................... 220
Understanding
.........................................................................................................................................................
Automated Trade Execution 220
Getting Started
.........................................................................................................................................................
With Auto Trading 222
Working.........................................................................................................................................................
with Auto Trading 229
Auto Trading
.........................................................................................................................................................
Status Messages 232
................................................................................................................................... 234
10 Portfolio Backtesting
Understanding
..........................................................................................................................................................
Portfolio Backtesting 234
Operating Portfolios
.......................................................................................................................................................... 236
Configuring ..........................................................................................................................................................
Strategies 240
Portfolio Settings
.......................................................................................................................................................... 244
Backtesting ..........................................................................................................................................................
a Portfolio 245
Portfolio Performance
..........................................................................................................................................................
Report 246
Portfolio Optimization
.......................................................................................................................................................... 247
11 Real-Time Market
...................................................................................................................................
Scanner 250
..........................................................................................................................................................
Understanding Real-Time Market Scanner 250
Working with
..........................................................................................................................................................
Grid 252
Working with
..........................................................................................................................................................
Symbols 253
Working with
..........................................................................................................................................................
Studies 256

Part V QuoteManager 259


1 Understanding
...................................................................................................................................
QuoteManager 259
2 Operating Symbol
...................................................................................................................................
List 260
3 Settings Symbols
................................................................................................................................... 263
Setting Properties
.......................................................................................................................................................... 263
Setting Custom
..........................................................................................................................................................
Session Templates 267
Symbol Dictionary
..........................................................................................................................................................
for Futures 268
4 Setting Exchanges
................................................................................................................................... 269
Setting Exchanges/ECNs
.......................................................................................................................................................... 269
Setting Holidays
.......................................................................................................................................................... 270
5 Setting Data
...................................................................................................................................
Sources 271
Operating Data..........................................................................................................................................................
Sources 271
Collecting Data
.......................................................................................................................................................... 273
Built-in Data..........................................................................................................................................................
Sources 274
Built-in Data
.........................................................................................................................................................
Sources 274
Bloomberg ......................................................................................................................................................... 276
CyberTrader
......................................................................................................................................................... 277
eSignal ......................................................................................................................................................... 278
Free Quotes
......................................................................................................................................................... 279
GlobalServer
......................................................................................................................................................... 280
Interactive
.........................................................................................................................................................
Brokers 281
IQFeed ......................................................................................................................................................... 282
MarketCast......................................................................................................................................................... 283
MetaStock ......................................................................................................................................................... 284
Open E .........................................................................................................................................................
Cry 285
Patsystems......................................................................................................................................................... 286
Quote.com ......................................................................................................................................................... 287
TradeStation
.........................................................................................................................................................
8 288
Trading .........................................................................................................................................................
Technologies 289
Universal .........................................................................................................................................................
DDE 290

© 2009 TS Support, LLC


8 MultiCharts 5.5 User Guide

Zen-Fire......................................................................................................................................................... 292
................................................................................................................................... 293
6 Managing Data
Importing Data
.......................................................................................................................................................... 293
Exporting Data
.......................................................................................................................................................... 296
Editing Data.......................................................................................................................................................... 297
Mapping ASCII
.......................................................................................................................................................... 299
Online Mode..........................................................................................................................................................
Data Collection 301
Data Cache .......................................................................................................................................................... 302
Import Symbol
..........................................................................................................................................................
List 303

Part VI PowerLanguage 304


1 Introduction
................................................................................................................................... 304
2 Language Elements
................................................................................................................................... 305
3 How Scripts
...................................................................................................................................
Work 308
4 PowerLanguage Editor
................................................................................................................................... 312
.......................................................................................................................................................... 312
Editor Overview
Editor Work ..........................................................................................................................................................
Area 313
Working with ..........................................................................................................................................................
Studies 314
Importing and..........................................................................................................................................................
Exporting Studies 318
Editing Study..........................................................................................................................................................
Scripts 320
Default Study..........................................................................................................................................................
Properties 322
Editor Settings
.......................................................................................................................................................... 325
5 Keyword Reference
................................................................................................................................... 326
Keyword Alphabetical
..........................................................................................................................................................
Index 326
Alerts .......................................................................................................................................................... 337
Alert ......................................................................................................................................................... 337
AlertEnabled
......................................................................................................................................................... 338
Cancel Alert
......................................................................................................................................................... 339
CheckAlert
......................................................................................................................................................... 340
Arrow Drawing
.......................................................................................................................................................... 341
Arw_Delete
......................................................................................................................................................... 341
Arw_GetActive
......................................................................................................................................................... 342
Arw_GetColor
......................................................................................................................................................... 343
Arw_GetDate
......................................................................................................................................................... 344
Arw_GetDirection
......................................................................................................................................................... 345
Arw_GetFirst
......................................................................................................................................................... 346
Arw_GetNext
......................................................................................................................................................... 347
Arw_GetSize
......................................................................................................................................................... 348
Arw_GetStyle
......................................................................................................................................................... 349
Arw_GetText
......................................................................................................................................................... 350
Arw_GetTextAttribute
......................................................................................................................................................... 351
Arw_GetTextBGColor
......................................................................................................................................................... 352
Arw_GetTextColor
......................................................................................................................................................... 353
Arw_GetTextFontName
......................................................................................................................................................... 354
Arw_GetTextSize
......................................................................................................................................................... 355
Arw_GetTime
......................................................................................................................................................... 356
Arw_GetTime_s
......................................................................................................................................................... 357
Arw_GetVal
......................................................................................................................................................... 358
Arw_New ......................................................................................................................................................... 359
Arw_New_s
......................................................................................................................................................... 360
Arw_New_self
......................................................................................................................................................... 361
Arw_New_self_s
......................................................................................................................................................... 362

© 2009 TS Support, LLC


Contents 9

Arw_SetColor
......................................................................................................................................................... 363
Arw_SetLocation
......................................................................................................................................................... 364
Arw_SetLocation_s
......................................................................................................................................................... 365
Arw_SetSize
......................................................................................................................................................... 366
Arw_SetStyle
......................................................................................................................................................... 367
Arw_SetText
......................................................................................................................................................... 368
Arw_SetTextAttribute
......................................................................................................................................................... 369
Arw_SetTextBGColor
......................................................................................................................................................... 370
Arw_SetTextColor
......................................................................................................................................................... 371
Arw_SetTextFontName
......................................................................................................................................................... 372
Arw_SetTextSize
......................................................................................................................................................... 373
Attributes .......................................................................................................................................................... 374
IntrabarOrderGeneration
......................................................................................................................................................... 374
LegacyColorValue
......................................................................................................................................................... 375
Colors .......................................................................................................................................................... 376
Black ......................................................................................................................................................... 376
Blue ......................................................................................................................................................... 377
Cyan ......................................................................................................................................................... 378
DarkBlue......................................................................................................................................................... 379
DarkBrown......................................................................................................................................................... 380
DarkCyan ......................................................................................................................................................... 381
DarkGray ......................................................................................................................................................... 382
DarkGreen......................................................................................................................................................... 383
DarkMagenta
......................................................................................................................................................... 384
DarkRed......................................................................................................................................................... 385
DarkYellow
......................................................................................................................................................... 386
GetBValue......................................................................................................................................................... 387
GetGValue......................................................................................................................................................... 388
GetRValue......................................................................................................................................................... 389
GradientColor
......................................................................................................................................................... 390
Green ......................................................................................................................................................... 391
LegacyColorToRGB
......................................................................................................................................................... 392
LightGray......................................................................................................................................................... 393
Magenta......................................................................................................................................................... 394
Red ......................................................................................................................................................... 395
RGB ......................................................................................................................................................... 396
RGBToLegacyColor
......................................................................................................................................................... 397
White ......................................................................................................................................................... 398
Yellow ......................................................................................................................................................... 399
Comparison..........................................................................................................................................................
and Loops 400
Above ......................................................................................................................................................... 400
And ......................................................................................................................................................... 401
Begin ......................................................................................................................................................... 402
Below ......................................................................................................................................................... 403
Cross ......................................................................................................................................................... 404
Crosses......................................................................................................................................................... 405
Downto ......................................................................................................................................................... 406
Else ......................................................................................................................................................... 407
End ......................................................................................................................................................... 408
False ......................................................................................................................................................... 409
For ......................................................................................................................................................... 410
If ......................................................................................................................................................... 411
Not ......................................................................................................................................................... 412
Or ......................................................................................................................................................... 413

© 2009 TS Support, LLC


10 MultiCharts 5.5 User Guide

Over ......................................................................................................................................................... 414


Then ......................................................................................................................................................... 415
To ......................................................................................................................................................... 416
True ......................................................................................................................................................... 417
Under ......................................................................................................................................................... 418
While ......................................................................................................................................................... 419
Data Information/General
.......................................................................................................................................................... 420
Ago ......................................................................................................................................................... 420
Bar ......................................................................................................................................................... 421
Bars ......................................................................................................................................................... 422
BarInterval
......................................................................................................................................................... 423
BarStatus......................................................................................................................................................... 424
BarType......................................................................................................................................................... 425
BarType_ex
......................................................................................................................................................... 426
BigPointValue
......................................................................................................................................................... 427
C ......................................................................................................................................................... 428
Category......................................................................................................................................................... 429
Close ......................................................................................................................................................... 430
CurrentBar
......................................................................................................................................................... 431
D ......................................................................................................................................................... 432
DailyLimit
......................................................................................................................................................... 433
Data ......................................................................................................................................................... 434
DataCompression
......................................................................................................................................................... 435
Date ......................................................................................................................................................... 436
Day ......................................................................................................................................................... 437
Days ......................................................................................................................................................... 438
DownTicks......................................................................................................................................................... 439
ExpirationDate
......................................................................................................................................................... 440
GetExchangeName
......................................................................................................................................................... 441
GetSymbolName
......................................................................................................................................................... 442
H ......................................................................................................................................................... 443
High ......................................................................................................................................................... 444
I ......................................................................................................................................................... 445
L ......................................................................................................................................................... 446
Low ......................................................................................................................................................... 447
MinMove......................................................................................................................................................... 448
Next ......................................................................................................................................................... 449
O ......................................................................................................................................................... 450
Open ......................................................................................................................................................... 451
OpenInt ......................................................................................................................................................... 452
Point ......................................................................................................................................................... 453
Points ......................................................................................................................................................... 454
PointValue
......................................................................................................................................................... 455
PriceScale
......................................................................................................................................................... 456
SessionLastBar
......................................................................................................................................................... 457
T ......................................................................................................................................................... 458
This ......................................................................................................................................................... 459
Ticks ......................................................................................................................................................... 460
Time ......................................................................................................................................................... 461
Time_s ......................................................................................................................................................... 462
Today ......................................................................................................................................................... 463
UpTicks......................................................................................................................................................... 464
V ......................................................................................................................................................... 465
Volume ......................................................................................................................................................... 466

© 2009 TS Support, LLC


Contents 11

Yesterday......................................................................................................................................................... 467
Date and Time..........................................................................................................................................................
Routines 468
ComputerDateTime
......................................................................................................................................................... 468
CurrentDate
......................................................................................................................................................... 469
CurrentTime
......................................................................................................................................................... 470
CurrentTime_s
......................................................................................................................................................... 471
DateTime2ELTime
......................................................................................................................................................... 472
DateTime2ELTime_s
......................................................................................................................................................... 473
DateTimeToString
......................................................................................................................................................... 474
DateToJulian
......................................................................................................................................................... 475
DateToString
......................................................................................................................................................... 476
DayFromDateTime
......................................................................................................................................................... 477
DayOfMonth
......................................................................................................................................................... 478
DayOfWeek......................................................................................................................................................... 479
DayOfWeekFromDateTime
......................................................................................................................................................... 480
EL_DateStr
......................................................................................................................................................... 481
EL_DateToDateTime
......................................................................................................................................................... 482
......................................................................................................................................................... 483
EL_TimeToDateTime
EL_TimeToDateTime_s
......................................................................................................................................................... 484
ELDateToDateTime
......................................................................................................................................................... 485
ELTimeToDateTime
......................................................................................................................................................... 486
ELTimeToDateTime_s
......................................................................................................................................................... 487
EncodeDate
......................................................................................................................................................... 488
EncodeTime
......................................................................................................................................................... 489
FormatDate
......................................................................................................................................................... 490
FormatTime
......................................................................................................................................................... 492
Friday ......................................................................................................................................................... 494
HoursFromDateTime
......................................................................................................................................................... 495
IncMonth......................................................................................................................................................... 496
JulianToDate
......................................................................................................................................................... 497
LastCalcJDate
......................................................................................................................................................... 498
LastCalcMMTime
......................................................................................................................................................... 499
LastCalcSSTime
......................................................................................................................................................... 500
MillisecondsFromDateTime
......................................................................................................................................................... 501
MinutesFromDateTime
......................................................................................................................................................... 502
Monday ......................................................................................................................................................... 503
Month ......................................................................................................................................................... 504
MonthFromDateTime
......................................................................................................................................................... 505
Saturday......................................................................................................................................................... 506
SecondsFromDateTime
......................................................................................................................................................... 507
StringToDate
......................................................................................................................................................... 508
StringToDateTime
......................................................................................................................................................... 509
StringToTime
......................................................................................................................................................... 510
Sunday ......................................................................................................................................................... 511
Thursday ......................................................................................................................................................... 512
Time_s2Time
......................................................................................................................................................... 513
Time2Time_s
......................................................................................................................................................... 514
TimeToString
......................................................................................................................................................... 515
Tuesday......................................................................................................................................................... 516
Wednesday......................................................................................................................................................... 517
Year ......................................................................................................................................................... 518
YearFromDateTime
......................................................................................................................................................... 519
Declaration .......................................................................................................................................................... 520
Array ......................................................................................................................................................... 520

© 2009 TS Support, LLC


12 MultiCharts 5.5 User Guide

Arrays ......................................................................................................................................................... 522


Input ......................................................................................................................................................... 523
Inputs ......................................................................................................................................................... 524
IntraBarPersist
......................................................................................................................................................... 525
Numeric......................................................................................................................................................... 526
NumericArray
......................................................................................................................................................... 527
NumericArrayRef
......................................................................................................................................................... 528
NumericRef
......................................................................................................................................................... 529
NumericSeries
......................................................................................................................................................... 530
NumericSimple
......................................................................................................................................................... 531
String ......................................................................................................................................................... 532
StringArray
......................................................................................................................................................... 533
StringArrayRef
......................................................................................................................................................... 534
StringRef......................................................................................................................................................... 535
StringSeries
......................................................................................................................................................... 536
StringSimple
......................................................................................................................................................... 537
TrueFalse......................................................................................................................................................... 538
......................................................................................................................................................... 539
TrueFalseArray
TrueFalseArrayRef
......................................................................................................................................................... 540
TrueFalseRef
......................................................................................................................................................... 541
TrueFalseSeries
......................................................................................................................................................... 542
TrueFalseSimple
......................................................................................................................................................... 543
Var ......................................................................................................................................................... 544
Variable......................................................................................................................................................... 545
Variables......................................................................................................................................................... 546
Vars ......................................................................................................................................................... 547
DLL Calling .......................................................................................................................................................... 548
#Events ......................................................................................................................................................... 548
ArraySize......................................................................................................................................................... 549
ArrayStartAddr
......................................................................................................................................................... 550
Bool ......................................................................................................................................................... 551
Byte ......................................................................................................................................................... 552
Char ......................................................................................................................................................... 553
DefineDLLFunc
......................................................................................................................................................... 554
Double ......................................................................................................................................................... 555
DWORD......................................................................................................................................................... 556
External......................................................................................................................................................... 557
Float ......................................................................................................................................................... 558
IEasyLanguageObject
......................................................................................................................................................... 559
Int ......................................................................................................................................................... 560
Long ......................................................................................................................................................... 561
LPBool ......................................................................................................................................................... 562
LPByte ......................................................................................................................................................... 563
LPDouble ......................................................................................................................................................... 564
LPDWORD ......................................................................................................................................................... 565
LPFloat ......................................................................................................................................................... 566
LPInt ......................................................................................................................................................... 567
LPLong ......................................................................................................................................................... 568
LPSTR ......................................................................................................................................................... 569
LPWORD ......................................................................................................................................................... 570
Method ......................................................................................................................................................... 571
OnCreate ......................................................................................................................................................... 572
OnDestroy......................................................................................................................................................... 573
Self ......................................................................................................................................................... 574

© 2009 TS Support, LLC


Contents 13

Unsigned ......................................................................................................................................................... 575


VarSize ......................................................................................................................................................... 576
VarStartAddr
......................................................................................................................................................... 577
Void ......................................................................................................................................................... 578
WORD ......................................................................................................................................................... 579
Dynamic Arrays.......................................................................................................................................................... 580
Array_Compare
......................................................................................................................................................... 580
Array_Copy......................................................................................................................................................... 581
Array_GetMaxIndex
......................................................................................................................................................... 582
Array_GetType
......................................................................................................................................................... 583
Array_SetMaxIndex
......................................................................................................................................................... 584
Array_SetValRange
......................................................................................................................................................... 585
Array_Sort......................................................................................................................................................... 586
Array_Sum ......................................................................................................................................................... 587
Fill_array......................................................................................................................................................... 588
Environment..........................................................................................................................................................
Information 589
BaseDataNumber
......................................................................................................................................................... 589
......................................................................................................................................................... 590
CurrentDataNumber
ExecOffset......................................................................................................................................................... 591
GetCountry......................................................................................................................................................... 592
GetCurrency
......................................................................................................................................................... 593
GetUserID ......................................................................................................................................................... 594
MaxBarsBack
......................................................................................................................................................... 595
MaxBarsForward
......................................................................................................................................................... 596
Execution Control
.......................................................................................................................................................... 597
Abort ......................................................................................................................................................... 597
fpCExact......................................................................................................................................................... 598
fpCHighAccuracy
......................................................................................................................................................... 599
fpCLowAccuracy
......................................................................................................................................................... 600
fpCMedAccuracy
......................................................................................................................................................... 601
fpCVeryHighAccuracy
......................................................................................................................................................... 602
fpCVeryLowAccuracy
......................................................................................................................................................... 603
RaiseRuntimeError
......................................................................................................................................................... 604
SetFPCompareAccuracy
......................................................................................................................................................... 605
Math and Trig .......................................................................................................................................................... 606
AbsValue ......................................................................................................................................................... 606
Arctangent......................................................................................................................................................... 607
AvgList ......................................................................................................................................................... 608
Ceiling ......................................................................................................................................................... 609
Cosine ......................................................................................................................................................... 610
Cotangent ......................................................................................................................................................... 611
ExpValue ......................................................................................................................................................... 612
Floor ......................................................................................................................................................... 613
FracPortion
......................................................................................................................................................... 614
IntPortion......................................................................................................................................................... 615
Log ......................................................................................................................................................... 616
MaxList ......................................................................................................................................................... 617
MaxList2......................................................................................................................................................... 618
MinList ......................................................................................................................................................... 619
MinList2......................................................................................................................................................... 620
Mod ......................................................................................................................................................... 621
Neg ......................................................................................................................................................... 622
NthMaxList......................................................................................................................................................... 623
NthMinList......................................................................................................................................................... 624

© 2009 TS Support, LLC


14 MultiCharts 5.5 User Guide

Pos ......................................................................................................................................................... 625


Power ......................................................................................................................................................... 626
Random......................................................................................................................................................... 627
Round ......................................................................................................................................................... 628
Sign ......................................................................................................................................................... 629
Sine ......................................................................................................................................................... 630
Square ......................................................................................................................................................... 631
SquareRoot......................................................................................................................................................... 632
SumList......................................................................................................................................................... 633
Tangent......................................................................................................................................................... 634
Output .......................................................................................................................................................... 635
ClearDebug......................................................................................................................................................... 635
File ......................................................................................................................................................... 636
FileAppend......................................................................................................................................................... 637
FileDelete......................................................................................................................................................... 638
MessageLog......................................................................................................................................................... 639
PlaySound ......................................................................................................................................................... 640
Print ......................................................................................................................................................... 641
Printer ......................................................................................................................................................... 642
Plotting .......................................................................................................................................................... 643
Default ......................................................................................................................................................... 643
GetBackgroundColor
......................................................................................................................................................... 644
GetPlotColor
......................................................................................................................................................... 645
GetPlotWidth
......................................................................................................................................................... 646
NoPlot ......................................................................................................................................................... 647
Plot ......................................................................................................................................................... 648
PlotPaintBar
......................................................................................................................................................... 650
PlotPB ......................................................................................................................................................... 651
SetPlotColor
......................................................................................................................................................... 652
SetPlotBGColor
......................................................................................................................................................... 653
Portfolio Strategy
..........................................................................................................................................................
Performance 654
Portfolio_GrossLoss
......................................................................................................................................................... 654
Portfolio_GrossProfit
......................................................................................................................................................... 655
Portfolio_MaxIDDrawdown
......................................................................................................................................................... 656
Portfolio_NetProfit
......................................................................................................................................................... 657
Portfolio_NumLossTrades
......................................................................................................................................................... 658
Portfolio_NumWinTrades
......................................................................................................................................................... 659
Portfolio_PercentProfit
......................................................................................................................................................... 660
Portfolio_StrategyDrawdown
......................................................................................................................................................... 661
Portfolio_TotalTrades
......................................................................................................................................................... 662
Portfolio Strategy
..........................................................................................................................................................
Position 663
Portfolio_CalcMaxPotentialLossForEntry
......................................................................................................................................................... 663
Portfolio_CurrentEntries
......................................................................................................................................................... 664
Portfolio_MaxOpenPositionPotentialLoss
......................................................................................................................................................... 665
Portfolio_OpenPositionProfit
......................................................................................................................................................... 666
Portfolio_SetMaxPotentialLossPerContract
......................................................................................................................................................... 667
Portfolio Strategy
..........................................................................................................................................................
Properties 668
Portfolio_GetMarginPerContract
......................................................................................................................................................... 668
Portfolio_GetMaxPotentialLossPerContract
......................................................................................................................................................... 669
Portfolio_MaxRiskEquityPerPosPercent
......................................................................................................................................................... 670
Portfolio_TotalMaxRiskEquityPercent
......................................................................................................................................................... 671
PortfolioEntriesPriority
......................................................................................................................................................... 672
Quote Fields.......................................................................................................................................................... 673
CurrentOpenInt
......................................................................................................................................................... 673

© 2009 TS Support, LLC


Contents 15

DailyClose
......................................................................................................................................................... 674
DailyHigh......................................................................................................................................................... 675
DailyLow......................................................................................................................................................... 676
DailyOpen......................................................................................................................................................... 677
DailyVolume
......................................................................................................................................................... 678
Description
......................................................................................................................................................... 679
ExchListed
......................................................................................................................................................... 680
InsideAsk......................................................................................................................................................... 681
InsideBid......................................................................................................................................................... 682
Last ......................................................................................................................................................... 683
PrevClose......................................................................................................................................................... 684
q_Ask ......................................................................................................................................................... 685
q_Bid ......................................................................................................................................................... 686
q_BigPointValue
......................................................................................................................................................... 687
q_Date ......................................................................................................................................................... 688
q_ExchangeListed
......................................................................................................................................................... 689
q_Last ......................................................................................................................................................... 690
......................................................................................................................................................... 691
q_OpenInterest
q_PreviousClose
......................................................................................................................................................... 692
q_Time ......................................................................................................................................................... 693
q_TotalVolume
......................................................................................................................................................... 694
SetPlotWidth
......................................................................................................................................................... 695
Symbol ......................................................................................................................................................... 696
SymbolName
......................................................................................................................................................... 697
TradeDate......................................................................................................................................................... 698
TradeTime......................................................................................................................................................... 699
Sessions .......................................................................................................................................................... 700
AutoSession
......................................................................................................................................................... 700
RegularSession
......................................................................................................................................................... 701
Sess1EndTime
......................................................................................................................................................... 702
Sess1FirstBarTime
......................................................................................................................................................... 703
Sess1StartTime
......................................................................................................................................................... 704
Sess2EndTime
......................................................................................................................................................... 705
Sess2FirstBarTime
......................................................................................................................................................... 706
Sess2StartTime
......................................................................................................................................................... 707
SessionCount
......................................................................................................................................................... 708
SessionCountMS
......................................................................................................................................................... 709
SessionEndDay
......................................................................................................................................................... 710
SessionEndDayMS
......................................................................................................................................................... 711
SessionEndTime
......................................................................................................................................................... 712
SessionEndTimeMS
......................................................................................................................................................... 713
SessionStartDay
......................................................................................................................................................... 714
SessionStartDayMS
......................................................................................................................................................... 715
SessionStartTime
......................................................................................................................................................... 716
SessionStartTimeMS
......................................................................................................................................................... 717
Skip Words .......................................................................................................................................................... 718
A ......................................................................................................................................................... 718
An ......................................................................................................................................................... 719
At ......................................................................................................................................................... 720
Based ......................................................................................................................................................... 721
By ......................................................................................................................................................... 722
Does ......................................................................................................................................................... 723
From ......................................................................................................................................................... 724
Is ......................................................................................................................................................... 725

© 2009 TS Support, LLC


16 MultiCharts 5.5 User Guide

Of ......................................................................................................................................................... 726
On ......................................................................................................................................................... 727
Place ......................................................................................................................................................... 728
Than ......................................................................................................................................................... 729
The ......................................................................................................................................................... 730
Was ......................................................................................................................................................... 731
Strategy Orders
.......................................................................................................................................................... 732
All ......................................................................................................................................................... 732
Buy ......................................................................................................................................................... 733
BuyToCover
......................................................................................................................................................... 735
Contract......................................................................................................................................................... 737
Contracts
......................................................................................................................................................... 738
Cover ......................................................................................................................................................... 739
Entry ......................................................................................................................................................... 740
Higher ......................................................................................................................................................... 741
Limit ......................................................................................................................................................... 742
Lower ......................................................................................................................................................... 743
Market ......................................................................................................................................................... 744
Sell ......................................................................................................................................................... 745
SellShort......................................................................................................................................................... 747
SetBreakeven
......................................................................................................................................................... 749
SetDollarTrailing
......................................................................................................................................................... 750
SetExitOnClose
......................................................................................................................................................... 751
SetPercentTrailing
......................................................................................................................................................... 752
SetProfitTarget
......................................................................................................................................................... 753
SetStopContract
......................................................................................................................................................... 754
SetStopLoss
......................................................................................................................................................... 755
SetStopPosition
......................................................................................................................................................... 756
SetStopShare
......................................................................................................................................................... 757
Share ......................................................................................................................................................... 758
Shares ......................................................................................................................................................... 759
Short ......................................................................................................................................................... 760
Stop ......................................................................................................................................................... 761
Total ......................................................................................................................................................... 762
Strategy Performance
.......................................................................................................................................................... 763
AvgBarsEvenTrade
......................................................................................................................................................... 763
AvgBarsLosTrade
......................................................................................................................................................... 764
AvgBarsWinTrade
......................................................................................................................................................... 765
AvgEntryPrice
......................................................................................................................................................... 766
GrossLoss
......................................................................................................................................................... 767
GrossProfit
......................................................................................................................................................... 768
i_AvgEntryPrice
......................................................................................................................................................... 769
i_ClosedEquity
......................................................................................................................................................... 770
i_CurrentContracts
......................................................................................................................................................... 771
i_CurrentShares
......................................................................................................................................................... 772
i_MarketPosition
......................................................................................................................................................... 773
i_OpenEquity
......................................................................................................................................................... 774
LargestLosTrade
......................................................................................................................................................... 775
LargestWinTrade
......................................................................................................................................................... 776
MaxConsecLosers
......................................................................................................................................................... 777
MaxConsecWinners
......................................................................................................................................................... 778
MaxContractsHeld
......................................................................................................................................................... 779
MaxIDDrawDown
......................................................................................................................................................... 780
MaxSharesHeld
......................................................................................................................................................... 781

© 2009 TS Support, LLC


Contents 17

NetProfit......................................................................................................................................................... 782
NumEvenTrades
......................................................................................................................................................... 783
NumLosTrades
......................................................................................................................................................... 784
NumWinTrades
......................................................................................................................................................... 785
PercentProfit
......................................................................................................................................................... 786
TotalBarsEvenTrades
......................................................................................................................................................... 787
TotalBarsLosTrades
......................................................................................................................................................... 788
TotalBarsWinTrades
......................................................................................................................................................... 789
TotalTrades
......................................................................................................................................................... 790
Strategy Position
.......................................................................................................................................................... 791
BarsSinceEntry
......................................................................................................................................................... 791
BarsSinceExit
......................................................................................................................................................... 792
ContractProfit
......................................................................................................................................................... 793
CurrentContracts
......................................................................................................................................................... 794
CurrentEntries
......................................................................................................................................................... 795
CurrentShares
......................................................................................................................................................... 796
EntryDate......................................................................................................................................................... 797
......................................................................................................................................................... 798
EntryPrice
EntryTime......................................................................................................................................................... 799
ExitDate......................................................................................................................................................... 800
ExitPrice......................................................................................................................................................... 801
ExitTime......................................................................................................................................................... 802
i_MarketPosition_at_Broker
......................................................................................................................................................... 803
i_MarketPosition_at_Broker_for_The_Strategy
......................................................................................................................................................... 804
MarketPosition
......................................................................................................................................................... 805
MarketPosition_at_Broker
......................................................................................................................................................... 806
MarketPosition_at_Broker_for_The_Strategy
......................................................................................................................................................... 807
MaxContractProfit
......................................................................................................................................................... 808
MaxContracts
......................................................................................................................................................... 809
MaxEntries
......................................................................................................................................................... 810
MaxPositionAgo
......................................................................................................................................................... 811
MaxPositionLoss
......................................................................................................................................................... 812
MaxPositionProfit
......................................................................................................................................................... 813
MaxShares......................................................................................................................................................... 814
OpenPositionProfit
......................................................................................................................................................... 815
PositionProfit
......................................................................................................................................................... 816
Strategy Properties
.......................................................................................................................................................... 817
Commission
......................................................................................................................................................... 817
GetStrategyName
......................................................................................................................................................... 818
Margin ......................................................................................................................................................... 819
Slippage......................................................................................................................................................... 820
Text Drawing.......................................................................................................................................................... 821
Text_Delete
......................................................................................................................................................... 821
Text_GetActive
......................................................................................................................................................... 822
Text_GetAttribute
......................................................................................................................................................... 823
Text_GetBGColor
......................................................................................................................................................... 824
Text_GetBorder
......................................................................................................................................................... 825
Text_GetColor
......................................................................................................................................................... 826
Text_GetDate
......................................................................................................................................................... 827
Text_GetFirst
......................................................................................................................................................... 828
Text_GetFontName
......................................................................................................................................................... 829
Text_GetHStyle
......................................................................................................................................................... 830
Text_GetNext
......................................................................................................................................................... 831
Text_GetSize
......................................................................................................................................................... 832

© 2009 TS Support, LLC


18 MultiCharts 5.5 User Guide

......................................................................................................................................................... 833
Text_GetString
Text_GetTime
......................................................................................................................................................... 834
Text_GetTime_s
......................................................................................................................................................... 835
Text_GetValue
......................................................................................................................................................... 836
Text_GetVStyle
......................................................................................................................................................... 837
Text_New ......................................................................................................................................................... 838
Text_New_s
......................................................................................................................................................... 839
Text_New_self
......................................................................................................................................................... 840
Text_New_self_s
......................................................................................................................................................... 841
Text_SetAttribute
......................................................................................................................................................... 842
Text_SetBGColor
......................................................................................................................................................... 843
Text_SetBorder
......................................................................................................................................................... 844
Text_SetColor
......................................................................................................................................................... 845
Text_SetFontName
......................................................................................................................................................... 846
Text_SetLocation
......................................................................................................................................................... 847
Text_SetLocation_s
......................................................................................................................................................... 848
Text_SetSize
......................................................................................................................................................... 849
......................................................................................................................................................... 850
Text_SetString
Text_SetStyle
......................................................................................................................................................... 851
Text Manipulation
.......................................................................................................................................................... 852
DoubleQuote
......................................................................................................................................................... 852
InStr ......................................................................................................................................................... 853
LeftStr ......................................................................................................................................................... 854
LowerStr......................................................................................................................................................... 855
MidStr ......................................................................................................................................................... 856
NewLine......................................................................................................................................................... 857
NumToStr ......................................................................................................................................................... 858
RightStr......................................................................................................................................................... 859
Spaces ......................................................................................................................................................... 860
StrLen ......................................................................................................................................................... 861
StrToNum ......................................................................................................................................................... 862
Text ......................................................................................................................................................... 863
UpperStr......................................................................................................................................................... 864
Trendline Drawing
.......................................................................................................................................................... 865
TL_Delete......................................................................................................................................................... 865
TL_GetActive
......................................................................................................................................................... 866
TL_GetAlert
......................................................................................................................................................... 867
TL_GetBeginDate
......................................................................................................................................................... 868
TL_GetBeginTime
......................................................................................................................................................... 869
TL_GetBeginTime_s
......................................................................................................................................................... 870
TL_GetBeginVal
......................................................................................................................................................... 871
TL_GetColor
......................................................................................................................................................... 872
TL_GetEndDate
......................................................................................................................................................... 873
TL_GetEndTime
......................................................................................................................................................... 874
TL_GetEndTime_s
......................................................................................................................................................... 875
TL_GetEndVal
......................................................................................................................................................... 876
TL_GetExtLeft
......................................................................................................................................................... 877
TL_GetExtRight
......................................................................................................................................................... 878
TL_GetFirst
......................................................................................................................................................... 879
TL_GetNext
......................................................................................................................................................... 880
TL_GetSize
......................................................................................................................................................... 881
TL_GetStyle
......................................................................................................................................................... 882
TL_GetValue
......................................................................................................................................................... 884
TL_GetValue_s
......................................................................................................................................................... 885

© 2009 TS Support, LLC


Contents 19

TL_New......................................................................................................................................................... 886
TL_New_s
......................................................................................................................................................... 887
TL_New_self
......................................................................................................................................................... 888
TL_New_self_s
......................................................................................................................................................... 889
TL_SetAlert
......................................................................................................................................................... 890
TL_SetBegin
......................................................................................................................................................... 891
TL_SetBegin_s
......................................................................................................................................................... 892
TL_SetColor
......................................................................................................................................................... 893
TL_SetEnd
......................................................................................................................................................... 894
TL_SetEnd_s
......................................................................................................................................................... 895
TL_SetExtLeft
......................................................................................................................................................... 896
TL_SetExtRight
......................................................................................................................................................... 897
TL_SetSize
......................................................................................................................................................... 898
TL_SetStyle
......................................................................................................................................................... 899
Tool_Dashed
......................................................................................................................................................... 900
Tool_Dashed2
......................................................................................................................................................... 901
Tool_Dashed3
......................................................................................................................................................... 902
......................................................................................................................................................... 903
Tool_Dotted
Tool_Solid
......................................................................................................................................................... 904

© 2009 TS Support, LLC


20 MultiCharts 5.5 User Guide

1 Introduction

Introduction

MultiCharts 23 is a professional technical analysis and automated strategy trading platform.


MultiCharts supports TradeStation® 20 EasyLanguage® 20 functionality, maintaining compatibility with a wide existing base
of EL studies, and offers the advanced features of PowerLanguage programming environment.
PowerLanguage Editor 312 is included with the MultiCharts platform.
QuoteManager 259 , a flexible and sophisticated quote data management system, is also provided with MultiCharts.
This User Guide describes MultiCharts features and gives step-by-step instructions on how to use the platform. The guide also
contains PowerLanguage Editor, PowerLanguage Reference, and QuoteManager sections.
Some familiarity with basic trading concepts and terminology on the part of the reader is assumed.

Copyrights and Trademarks 20

This document is part of the MultiCharts™ software product. It is protected under the license agreement together with the
software.
Software Copyright© 1999-2008 TS Support, LLC. All rights reserved.
Document Copyright© 1999-2008 TS Support, LLC. All rights reserved.
Contact Information: www.tssupport.com

TradeStation® and EasyLanguage® are registered trademarks of TradeStation Technologies, Inc.

The R | API™ software is Copyright © 2009 by Rithmic, LLC. All rights reserved.
Engine by Rithmic™ is a trademark of Rithmic, LLC. All rights reserved.
The OMNE™ software is Copyright © 2009 by Omnesys, LLC and Omnesys Technologies, Inc. All rights reserved.

is a trademark of Omnesys, LLC and Omnesys Technologies, Inc. All rights reserved.

All other product names mentioned are trademarks of their respective holder companies.

Disclaimer 20

Past performance is not a guarantee of future results. Only risk capital should be used to trade futures, stocks, options on
futures or stocks, mutual funds or any other type of financial instruments. Whether this product is used in conjunction with
futures, stocks, stock indices or mutual funds, all involve a high degree of inherent financial risk and the possibility of loss is
great.
TS Support, LLC does not assume any responsibilities, make any guarantees whatsoever, or make any trading
recommendations in MultiCharts. All such investment vehicles carry risks and all trading decisions are ultimately made by
you. You are solely and individually responsible for those decisions and the results of those decisions.

© 2009 TS Support, LLC


Typographical Conventions | 21

2 Typographical Conventions

Typographical Conventions

This User Guide employs the following typographical conventions:

· Page Referrer icon with page number is used to refer to the appropriate page
· Bold font is used for GUI elements, such as menu names, names of check boxes, etc.
· Key names and key combinations are capitalized and appear as follows: SHIFT, CTRL+S
· A monospaced font is used for PowerLanguage code examples

· An italic monospaced font is used for parameters in the PowerLanguage code examples

© 2009 TS Support, LLC


22 MultiCharts 5.5 User Guide

3 System Requirements

System Requirements

Before using the MultiCharts, make sure the PC meets the following system requirements:

Minimum
CPU 1 GHz
RAM 256 Mb
HDD 200 Mb of available hard-disk space
Monitor Resolution of 1024x768 or higher
OS Windows 2000, Windows XP SP2, Windows XP x64, Windows Vista, Windows Vista x64
Recommended
CPU Pentium 4 (3 GHz) or Dual Core
RAM 1 Gb
HDD 1 Gb of available hard-disk space
Monitor Multi-Monitor solution
OS Windows 2000, Windows XP SP2, Windows XP x64, Windows Vista, Windows Vista x64
Recommended for Power User*
CPU Quad Core
RAM 3 Gb
HDD 1 Gb of available hard-disk space
Monitor Multi-Monitor solution
OS Windows 2000, Windows XP SP2, Windows XP x64, Windows Vista, Windows Vista x64

* A power user is a person who uses 1 or more of the following: 5 or more tick charts, 10 or more interval charts, 15 or more
indicators or signals on a chart.

© 2009 TS Support, LLC


MultiCharts | MultiCharts Work Area 23

4 MultiCharts
4.1 MultiCharts Work Area

The Application Window

The application window consists of Toolbars, Workspaces, and Windows (Chart or/and Scanner). For detailed information
about Windows, click here 23 .
Understanding Workspaces 23

Workspaces help manage the working process. Several Workspaces can be open at the same time. It is possible to create,
save, open, close, rename, and delete Workspaces, as well as to switch between Workspaces that are open in the
application window. Each Workspace can contain multiple windows.
Names of all open Workspaces are shown in the tabs at the bottom of application window. The tab of the currently selected
(active) Workspace is highlighted. To switch to another open Workspace click the tab of the Workspace you wish to switch
to.
To achieve peak performance limit the number of simultaneously open workspaces to the ones you actually need.

Creating Workspaces 23

To create a new Workspace, click the New Workspace icon on the Main toolbar.
Workspaces can also be created by using the Ctrl + N hot key, or by selecting File in the main menu, then pointing
to New and clicking New Workspace.
Note: If there are no open Workspaces when a new Chart Window is created, a new Workspace for that
window will be created automatically.

Saving Workspaces 23

A Workspace, complete with Chart/Scanner Windows and all settings, is saved as a file with .wsp extension.

To save a Workspace, click the Save Workspace icon on the Main toolbar. Workspaces can also be saved by
using the Ctrl + S hot key, or by selecting File in the main menu and clicking Save Workspace.
If the Workspace has not yet been named, the Save As dialog box will appear, allowing to choose a file name for the
workspace.
In order to save an already named Workspace under a new name, select File in the main menu and click Save
Workspace As.
To save Workspaces automatically on application exit, see Workspaces Preferences 23 .

Opening Workspaces 23

Saved Workspaces can be opened by using Windows Explorer/File manager as well as from the application.

To open a Workspace from the application, click the Open Workspace icon on the Main toolbar; in the Open
dialog box that appears, navigate to and select the Workspace file (.wsp extension) and click the Open button.
Workspaces can also be opened by using the Ctrl + O hot key, or by selecting File in the main menu and clicking
Open Workspace.

Recently used Workspaces can be opened by clicking the down-arrow to the right of the Open Workspace
icon on the Main toolbar and then clicking a Workspace name, or by selecting File in the main menu, then pointing
to Recent Workspaces and clicking a Workspace name.
To open Workspaces automatically on application startup, see Workspaces Preferences 23 .

Closing Workspaces 23

To close a Workspace, click the Close Workspace icon on the Main toolbar. Workspaces can also be closed
by using the F4 key, or by selecting File in the main menu and clicking Close Workspace.

© 2009 TS Support, LLC


24 MultiCharts 5.5 User Guide

If any changes have been made to a Workspace since it was last saved, and: Do not show "Save Workspace"
dialog on Exit checkbox in Workspace Preferences 23 is not selected, the Save Workspace dialog box will
appear:
- click Yes to save the changes and close the Workspace;
- click No to discard the changes and close the Workspace;
- click Cancel to cancel the operation and keep the Workspace open.
To disable the dialog box and close workspaces without confirmation, see Workspaces Preferences 23 .
Important: If both the Do not show "Save Workspace" dialog on Exit checkbox and Do not save workspaces
option are selected in the Workspace 23 tab of the Preferences window then no changes to the
workspace will be saved on exit!

Renaming Workspaces 23

Workspaces can be renamed by two different methods:


· Save a copy of the Workspace under a different name. See Saving Workspaces 23 ; or:
· Use Windows Explorer or another program to rename a Workspace file as any other Windows file.
Note: Workspaces that are open cannot be renamed by Windows Explorer. Close the Workspace prior to
renaming it.

Deleting Workspaces 23

Use Windows Explorer or another program to delete the Workspace file as you would any other Windows file.
Deleting a Workspace does not delete the data or the studies.
Note: A Workspace that is open cannot be deleted. Close the Workspace prior to deleting it.

Workspaces Preferences 23

Workspaces preferences settings determine which workspaces, if any, will be opened on application startup, whether
changes to workspaces will be saved on application exit, and if a confirmation prompt will appear when Chart/
Scanner Windows are closed.
To set workspace preferences:
1. Open the Preferences window by selecting File in the main menu and then clicking Preferences; the
window can also be opened by using ALT+F, ALT+F keyboard shortcut sequence.
2. Select the Workspaces tab.
3. To open Workspaces on startup, select the Open Workspaces on Start checkbox; clear the checkbox
to not open any Workspaces on startup.
4. To show the Workspaces dialog box on startup, select the Show the dialog checkbox; clear the
checkbox to not display the dialog box.
5. Select the Workspaces to be opened on startup.
6. To show Save Workspace dialog box on exit, clear the Do not show "Save Workspace" dialog on
Exit checkbox; select the checkbox to not display the dialog box.
7. Select Save workspaces or Do not save workspaces to save or not to save the workspaces on exit,
respectively.
8. To prompt for a confirmation when a Chart/Scanner Window is closed (deleted), clear the Do not
prompt for confirmation when I want to close a window checkbox; check the checkbox to prompt for
a confirmation when a window is closed.

Understanding Windows (Chart/Scanner) 23

Chart Windows contain charts, studies, and drawings. The number of windows that can be added to Workspaces is limited
only by your computer's hardware configuration.
In Workspaces with multiple windows only one window at a time is active. The active window is the window to which any
changes will be applied, and is distinguished by the color of its title bar. Any one of the windows in a Workspace can be
selected as the active at any time.
Windows can be moved within a workspace or detached and positioned anywhere on your computer’s desktop, arranged in
any order, resized, maximized, minimized, and closed. Closing a window deletes it from the Workspace. Windows are
saved only as a part of the Workspace that contains them.

Creating Windows 23

A Chart Window is always created at the same time as the chart/grid that is placed in it. It is not possible to create an
empty window, without a chart/grid. A Chart/Scanner Window is always created in the currently selected Workspace.

© 2009 TS Support, LLC


MultiCharts | MultiCharts Work Area 25

To read more about creating charts click here 32


To read more about Workspaces click here 23

Selecting a Window as Active 23

Before making changes to a Window you should make sure that it is active. Only one window at a time can be active.
A Window can be selected as active by one of the following methods:
· Click anywhere on the window to make it active; or:
· Select Window in the main menu and click the name of the window.

Color change of the window's title bar will indicate that the window has become active.

Detaching and Attaching Windows 23

By default, Windows are displayed within a Workspace. Windows can be detached from a Workspace and
positioned anywhere on your computer's desktop; on a multiple-monitor system, one or more Windows can be
displayed on each monitor.
A Window can be detached by one of the following methods:

· Click the Detach Window button on the title bar of the window; or:
· Select Window in the main menu and click Detach Window.
Note: Detached windows' last chosen positions are retained the next time that the application is started
A Window can be attached back to the Workspace by one of the following methods:
· Click the Attach Window button on the title bar of the window; or:
· Select Window in the main menu and click Attach Window.

Detached Windows "Always on Top" Feature 23

To keep a detached Window displayed always on top of other windows click the Stick button on the title bar

of the window; the button will change to .

To cancel the feature click the Unstick button again; the button will change to .
Note: Detached window's last chosen Always on Top status is retained the next time that the application is
started.

Arranging Windows 23

It is possible to arrange windows in any order. A Window can be positioned anywhere by placing the mouse pointer
over the window’s title bar, holding the left mouse button, and dragging the window to the desired position. Windows
within a workspace can also be arranged automatically:
· To arrange all open windows for convenient viewing select Window in the main menu and click Arrange All any
minimized windows will be placed at the bottom of the Workspace, below any open windows.
· To arrange all windows horizontally or vertically select Window in the main menu and click Arrange Horizontally
or Arrange Vertically, respectively.
· To arrange all open windows in a cascade select Window in the main menu and click Cascade; any minimized
windows will be placed at the bottom of the Workspace, below any open windows.
Note: Windows' last chosen positions are retained the next time that the application is started.

Deleting Windows 23

A window can be deleted from a Workspace. To close a Window means to delete it. It is possible to delete all of the
windows from a Workspace, leaving the Workspace empty.
To delete a Window from a Workspace click the Close button on the title bar of the window; in the dialog box that
appears, click Yes to delete the window, or click Cancel to cancel the operation and keep the window open.
To disable the dialog box and delete windows without confirmation, see Workspaces Preferences 23 .

Switching between Windows 23

Within a Workspace you can switch between the open windows by using the Ctrl + F6 hotkey combination, or by

© 2009 TS Support, LLC


26 MultiCharts 5.5 User Guide

clicking anywhere on the window you wish to switch to.

Copying Windows 23

The active Chart/Scanner Window can be copied, complete with all settings, data series, and studies, and pasted to
any open Workspace.

To copy an active window use one of the following methods:


· Select File in the main menu and click Copy Window; or:
· Use CTRL+SHIFT+C hot key combination.

To paste the copied Window:


· Select File in the main menu and click Paste Window, or:
· Use Ctrl + Shift + V hot key combination.

Understanding Toolbars 23

Toolbars provide convenient access to commonly used functions. These functions can also be accessed by using the
menus, but the toolbars let you do it with just one click.
There are six toolbars: Chart Analysis, Command Line, Control, Drawing, Main, and Resolution. Any of the toolbars can be
made floating, allowing them to be positioned anywhere, or hidden if they are not needed.

Hiding and Redisplaying Toolbars 23

All toolbars are displayed by default.


To hide a toolbar select View in the main menu, then click Toolbars and uncheck the toolbar that is to be hidden.
A floating toolbar can also be hidden by clicking the Close button on the toolbar’s title bar.
To redisplay a toolbar select View in the main menu, then click Toolbars and check the toolbar that is to be
displayed.

The Resolution toolbar can also be hidden or redisplayed by clicking the Resolution icon.

Floating or Docking Toolbars 23

By default, toolbars are displayed docked to the top of the application window. Any of the toolbars can be made
floating or docked. A floating toolbar has its own title bar and can be positioned anywhere on your computer’s
desktop.
Toolbars can be made floating by using one of the following methods:
· Double-click the move handle of a docked toolbar; or:
· Position the mouse pointer over the toolbar's move handle; hold the left mouse button and drag the toolbar to the
desired position.

Toolbars can be docked by one of the following methods:


· Double-click the toolbar's title bar. The toolbar will dock along the top border of the application window; or:
· Position the mouse pointer over the title bar of a floating toolbar; hold the left mouse button and drag the toolbar to
any of the four borders of the application window. Once the mouse pointer comes close to a border of the window,
an outline will indicate where the toolbar will be docked. Releasing the mouse button will dock the toolbar.
Note: Toolbars' last chosen positions are retained the next time that the application is started.

Resizing Floating Toolbars 23

A floating toolbar can be resized the same way as any other window.
Note: Toolbars' last chosen sizes are retained the next time that the application is started.

Toolbar Icons Reference 23


Main Toolbar

New Workspace Creating Workspaces 23

Save Workspace Saving Workspace 23

© 2009 TS Support, LLC


MultiCharts | MultiCharts Work Area 27

Open Workspace Opening Workspace 23

Close Workspace Closing Workspace 23

New Chart Window Creating Chart 32

New Scanner Window Understanding Real-Time Scanner 250

New QuoteManager Understanding QuoteManager 259

New PowerLanguage Editor Understanding PowerLanguage Editor 312

Control Toolbar

Decrease Bar Spacing Changing Bar Spacing 91

Increase Bar Spacing Changing Bar Spacing 91

Compress Price Scale Changing Price Scale Compression 91

Expand Price Scale Changing Price Scale Compression 91

Move Up Moving a Data Series Vertically 91

Move Down Moving a Data Series Vertically 91

Scroll Left Scrolling Horizontally through a Chart 91

Scroll Right Scrolling Horizontally through a Chart 91

Increase Weight Changing Bar Weight 57

Decrease Weight Changing Bar Weight 57

Zoom In Zooming In 91

Zoom Out Zooming Out 91

Reset Scales Resetting Both Scales 91

Reset Time Scale Resetting Time Scale (Bar Spacing) 91

Reset Price Scale Resetting Price Scale 91

Hide Object Using Studies 23

Chart Analysis Toolbar


Inserting Additional Symbols into a Chart
Insert Symbol Window 32

Insert Study Inserting Studies 168

Show/Hide Drawing Tools Inserting Drawing Tools 115

Format Symbol Changing Symbols 38

Format Window Chart Appearance 99

Bar Chart Setting OHLC Chart Style 59

Hollow Candlestick Chart Selecting Hollow Candlestick Chart Style 63

Line on Close Chart Selecting line on Close Chart Style 69

Arrow Pointer Pointer 94

Cross Pointer Cross Pointer 94

© 2009 TS Support, LLC


28 MultiCharts 5.5 User Guide

Show/Hide Chart Hint Understanding Hint Modes 94

Show/Hide Cross Cross Mode 94

Tracking Time and Price Cross Mode 94

Data Window Data Window 114

Resolution Toolbar

Tick Bar Understanding Tick-Based Charts 41

Volume Bar Understanding Volume-Based Charts 41

Range Bar Understanding Range-Based Charts 41

Second Bar Setting Resolution of Time-Based Charts 41

Minute Bar Setting Resolution of Time-Based Charts 41

Hourly Bar Setting Resolution of Time-Based Charts 41

Daily Bar Setting Resolution of Time-Based Charts 41

Weekly Bar Setting Resolution of Time-Based Charts 41

Monthly Bar Setting Resolution of Time-Based Charts 41

Quarterly Bar Setting Resolution of Time-Based Chartse 41

Yearly Bar Setting Resolution of Time-Based Charts 41

Drawing Toolbar

Trend Line Inserting Trend Line 118

Horizontal Line Inserting Horizontal Line 121

Time Line Inserting Time Line 124

Regression Channel Inserting Regression Channel 126

Equidistant Channel Inserting Equidistant Channel 130

Andrews' Pitchfork Inserting Andrews' Pitchfork 133


Inserting Fibonacci Retracement Price Lines
Fibonacci Retracement Price Lines 135

Fibonacci Speed/Resistance Fan Inserting Fibonacci Speed/Resistance Fan 138


Inserting Fibonacci Speed/Resistance Arcs
Fibonacci Speed/Resistance Arcs 141

Fibonacci Time Zones Inserting Fibonacci Time Zones 144


Inserting Fibonacci Trend-Based Time Lines
Fibonacci Trend-Based Time Lines 146

Gann Fan Inserting Gann Fan 149

Gann Square Inserting Gann Square 152

Retracement Calculator Inserting Retracement Calculator 155

Text Inserting Text 156

Rectangle Inserting Rectangle 158

Ellipse Inserting Ellipse 160

© 2009 TS Support, LLC


MultiCharts | MultiCharts Work Area 29

Arc Inserting Arc 162

Arrow Down Inserting Arrow Down 164

Arrow Up Inserting Arrow Up 166

Command Line Toolbar


Click the Resolution icon to hide or redisplay
the Resolution Toolbar.
Setting Resolution of Time-Based Charts 41
Resolution
Command Line Understanding Command Line 23

Understanding Command Line 23

Command Line
Command Line toolbar allows the active window's chart resolution or symbol to be changed simply by entering a text
command.

Type the appropriate command in the Command Line combo box and
press Enter. To select a previously used command use the drop-down function.
Examples: Type in: "5 minutes" to change the chart resolution to 5 minutes.
Type in: "AMD" to change the symbol to AMD.

Customizing Toolbars 23

With Custom Toolbars, the user can not only choose which toolbar to display, but also which buttons appear on the
toolbar. Adding more toolbars and buttons makes it easier to access certain functions. Consolidating the most
frequently used buttons onto one toolbar saves space and permits a larger display area in the workspace.
To customize the toolbars,
1. Select View from the main menu, then select Toolbars and Customize. The Customize window will
appear.
2. In the Toolbars pane, select the type of toolbar to customize. Check the selected toolbar’s check box to
display the toolbar. Uncheck the selected toolbar to remove the toolbar.
3. In the Commands pane, select which buttons will appear on the toolbar.
4. Select the Close button.

© 2009 TS Support, LLC


30 MultiCharts 5.5 User Guide

4.2 Understanding Chart Window

Understanding Chart Window

Chart Window consists of several Chart Window Areas:

Where:
1 - Status Line Area
2 - Chart Area
3 - Subchart Divider
4 - Subchart Area
5 - Time Scale Area
6 - Price Scale Area
Each area intended for manipulation for its own set of objects.
Note: There can be several Subchart Areas in a Chart window.
Note: There can be one or two Price Scale Areas in a Chart window.
Chart Number Format 30

MultiCharts uses the Regional Settings of the Windows operating system to format numbers. The Regional Settings can
be edited by going to Customize Regional Options in the Windows operating system. The items that can be edited
include the following:
· Decimal symbol
· Digit grouping symbol
· Negative sign symbol
· Negative number format
· Display leading zeros
· List separator
· Measurement system

To access the Customize Regional Options, please refer to the help files from the Windows operating system.
The number of digits behind a decimal depends on whether the number is associated with a symbol or study. For symbols,

© 2009 TS Support, LLC


MultiCharts | Understanding Chart Window 31

the number of digits after a decimal is defined in the Price Scale. For studies, the number of digits after a decimal is based
on the number of significant digits.

© 2009 TS Support, LLC


32 MultiCharts 5.5 User Guide

4.3 Creating Charts

Creating Charts

A Chart is created for a financial instrument, designated by a Symbol, such as "GOOG".


A new chart can be created by entering the symbol parameters into the Command Line toolbar, or by using the Format
Symbol window.
If the symbol name is known, the simplest way to create a new chart is to enter the symbol name and all known symbol
parameters into the command line. Any omitted symbol parameters will automatically be selected, and the symbol plotted.
Creating Charts Using the Command Line Toolbar 32

A new chart can be created by entering the symbol parameters into the Command Line toolbar:

By default, the Command Line toolbar is displayed docked to the top of the application window. If the toolbar is not
displayed, it may have been hidden. To learn how to redisplay the toolbar, see Floating or Docking Toolbars 23
To learn more about toolbars, see Understanding Toolbars 23

Symbol parameters consist of the Symbol Name, Data Source, Category, and Exchange parameters. Depending on the
data source and the symbol category, one or more parameters are required on order to precisely identify the symbol to be
plotted.

Automatic Selection of Omitted Symbol Parameters 32

MultiCharts simplifies the process of symbol selection by automatically selecting, whenever possible, any omitted
symbol parameters, by analyzing the Symbol Name.
Note: When symbol parameters are entered into the command line the first time that MultiCharts is used, the
Data Source must be specified. Automatic selection of omitted symbol parameters is based on both the
Symbol Name and on the Data Source. Once specified a single time, the Data Source will be selected
automatically if DataSource parameter is not specified.
Entering a symbol name alone is often sufficient to create a chart for a stock. For example, a plot for Google, Inc.
can be created by simply typing goog into the command line toolbar; all the other parameters will be selected
automatically. However, for some symbol categories and data sources, additional parameters may be required in
order to precisely identify the symbol to be plotted.
If the exact symbol name is not known, but only the symbol description or the symbol root, or if plotting the symbol
through the command line does not work, QuoteManager 259 can be used to search for and identify the correct
symbol.
Note: When symbol parameters are entered into the command line the first time that that MultiCharts is
used, the Data Source must be specified.

Entering Symbol Parameters into a Command Line 32

Symbol parameters are entered in the following format:


DataSource: SymbolName; Exchange; Category

Please note that Data Source and Symbol Name are separated by a colon (:), while Symbol Name, Exchange
Name, and Category are separated by a semicolon (;).
· If DataSource parameter is not specified, SymbolName parameter does not have to be preceded by a colon.
· In neither Exchange nor Category parameters are specified, SymbolName does not have to be followed by a
semicolon.
· If Category parameter is not specified, Exchange parameter does not have to be followed by a semicolon.
· If Exchange parameter is not specified, and Category parameter immediately follows the SymbolName parameter,
two semicolons must separate SymbolName and Category parameters (SymbolName;; Category).

DataSource - an optional parameter; specifies the data source

© 2009 TS Support, LLC


MultiCharts | Creating Charts 33

· DataSource is specified by the DataSource abbreviation:


Data Source Name Abbreviation
AGN Futures AGN
ASCII Mapping ASC
Bloomberg BL
CyberTrader CT
Free Quotes F
GlobalServer GS
IQFeed IQ
Interactive Brokers IB
MarketCast MC
Metastock MS
Open E Cry OEC
Patsystems PS
QFeed QF
Tenfore TF
TradeStation TS
TransAct Futures TA
Universal DDE DDE
eSignal ES
otFeed OT
Note: DataSource parameter is not case-sensitive
A list of available data sources and corresponding abbreviations can also be found in the Data Sources window in

QuoteManager. To open the Data Sources window in QuoteManager, click the Data Sources icon, or
select Tools in the main menu and click Data Sources.

· If DataSource is not specified, the most recently used Data Source will be used.
· If DataSource is not specified and cannot be selected automatically, a Format Symbol window will open.

SymbolName - a required parameter; specifies the symbol name


· SymbolName parameter is not case-sensitive.
· The maximum symbol name length is 31 characters; longer symbol names will be truncated to 31 characters.
· Symbol name can contain any number of spaces and characters, separated by spaces.
· Spaces at the beginning and at the end of a symbol name are discarded.

Exchange - an optional parameter; specifies the exchange abbreviation


· Exchange is specified by the exchange abbreviation; the list of available exchanges and corresponding
abbreviations can be found in the Exchanges & ECNs window in QuoteManager. To open the Exchanges &

ECNs window in QuoteManager, click the Exchanges & ECNs icon, or select Tools in the main menu and
click Exchanges & ECNs.
· If the specified exchange abbreviation is not in the Exchanges & ECNs list, a Format Symbol window will open.
· If Exchange parameter is not specified, a default exchange will be selected based on the data source and
category (category selection takes place prior to default exchange selection):
Data Source Category Exchange
Interactive Brokers Future GLOBEX
Cash/Forex IDEALPRO
Other SMART
OpenTick Future EM
Other Q
TransAct Futures All CME
GlobalServer Future CME

© 2009 TS Support, LLC


34 MultiCharts 5.5 User Guide

Cash/Forex CFOREX
Other NASDAQ
TradeStation Future CME
Cash/Forex FOREX
Bond AMEX
Other NASDAQ
All other data sources All UNDEF

Category - an optional parameter; specifies the symbol category


· Category is specified by the category name abbreviation:
Category Abbreviation
Stock Stk
Index Idx
Future Fut
Stock Option Opt
Forex Fx
Bond B
Cash C
Spread Spd
Note: Category parameter is not case-sensitive

· If the specified Category is not a valid category abbreviation, a Format Symbol window will open.
· If Category is not specified, the symbol name will be analyzed in order to select the symbol category
automatically;

Automatic Symbol Category Selection 32

Symbol category is automatically selected by evaluating the symbol name according to the following rules,
in the order that they are listed; once a symbol name satisfies any one rule, a category is assigned and
MultiCharts proceeds to exchange selection.

Symbol category is Future if any of the following are true:


· Symbol name ends with a number
· Symbol name ends with a #F, preceded by a space
· Symbol name begins with an @
· Symbol name begins with a c# (except TradeStation symbols)

Symbol category is Index if any of the following are true:


· Symbol name begins with a $
· Symbol name ends with a .X

Symbol category is Forex if any of the following are true:


Note: For InteractiveBroker data source, symbol category will be Cash
· Symbol name ends with a -FX
· Symbol name contains any two different sets of the following combinations of letters:
EUR, USD, GBP, AUD, CAD, CHF, JPY, HKD, KRW, SEK, MXN, NOK, PLZ, CZK, ILS, HUF, MXP,
NZD, PLN, RUR, BRE, USS, SKK, TWD, SIT, SGD, RUB, SON, MTL, LVL, LTL, SEK, HRK, EEK, DKK,
CYP
if the Category cannot be selected automatically, category Stock will be selected; category selection takes place
prior to default exchange selection.

Sample Entries and Corresponding Parameters


Command Line Entry Data Source * Symbol Exchange Category
ES:O #F eSignal O #F UNDEF Futures

© 2009 TS Support, LLC


MultiCharts | Creating Charts 35

ES:ES H8 ES H8 UNDEF Futures


ES:$INDU $INDU UNDEF Indexes
ES:EURGBP A0-FX EURGBP A0-FX UNDEF Forex
IQ:@ES# IQfeed @ES# UNDEF Futures
IQ:NUH8 NUH8 UNDEF Futures
IQ:ADR.X ADR.X UNDEF Indexes
IB:ESH8 IB ESH8 GLOBEX Futures
IB:MSFT MSFT SMART Stock
IB:EUR.USD EUR.USD IDEALPRO Cash
OEC:6AH8 OEC 6AH8 UNDEF Futures
OT:/ESH8 OT /ESH8 EM Futures
OT:$ACBQ $ACBQ Q Indexes
OT:#ES #ES EM Futures
TA:ESH8 TA ESH8 CME Futures
TS:ESH08 TS ESH08 CME Futures
TS:AUDCAD AUDCAD FOREX Forex
TS:$TSTOP $TSTOP NASDAQ Indexes
TS:@ES @ES CME Futures
* The Data Source is specified in the table's Command Line entries for illustration purposes only; once specified a single
time, the Data Source will be selected automatically even if DataSource parameter is not specified.
Creating Chart Using Format Symbol Window 32

To create a new chart:


1. Open the Format Symbol window by one of the following methods:

· Click the New Chart Window icon on the Main toolbar; or:
· Use the Insert key on the keyboard; or:
· In the main menu select File, then point to New and click New Chart Window.

2. Select the Symbol tab.


3. Select a data feed from the Data Source drop-down list box.
4. Select a symbol from the list of available symbols in All Symbols tab, or use the category tabs to list only a
particular category of symbols; the list can be sorted by any column, in ascending or descending order, by
clicking on the column header. If you can’t find a symbol, see Adding Symbols to Symbol List 260
5. Double-click the symbol, or click OK, to create a chart with the default settings.

Merging Data Sources into a Single Chart 32

In some instances real-time data and historical data must be obtained from two separate data sources. A real-time
data source and a historical data source can be merged into a single chart.
To create a new chart:
1. Open the Format Symbol window by one of the following methods:

· Click the New Chart Window icon on the Main toolbar; or:
· Use the Insert key on the keyboard; or:
· In the main menu select File, then point to New and click New Chart Window.

2. Select the Symbol tab.


3. Check Merge Data Sources into a Single Chart check box.
4. From the For drop-down list box, select History.
5. Select a data feed for the historical data from the Data Source drop-down list box.
6. Select a symbol from the list of available symbols in All Symbols tab, or use the category tabs to list
only a particular category of symbols; the list can be sorted by any column, in ascending or descending
order, by clicking on the column header. If you can’t find a symbol, see Adding Symbols to Symbol List
260

© 2009 TS Support, LLC


36 MultiCharts 5.5 User Guide

7. From the For drop-down list box, select RealTime.


8. Select a data feed for the real-time data from the Data Source drop-down list box.
9. Select a symbol from the list of available symbols in All Symbols tab, or use the category tabs to list
only a particular category of symbols; the list can be sorted by any column, in ascending or descending
order, by clicking on the column header. If you can’t find a symbol, see Adding Symbols to Symbol List
260

10.Double-click the symbol, or click OK, to create a chart with default settings.

To learn more about changing the symbol settings read the following:
Changing Symbols 38
Chart Resolution 41
Quote Field 47
Sessions 48
Data Range 49
Time Zone 51
Data Numbers 52
Using SubCharts 53
Chart Style 57
Chart Scaling 73

Understanding Multi-Symbol Charts 32

It is possible to add several symbols' data series to the same Chart Window. Each data series in a multi-symbol chart has a
unique Data Number. The Data Number is assigned according to the order in which the data series was added to the Chart
Window.
Important: Any data series can be deleted from the Chart Window, except for the data series that was added first (Data #1
52 ).

Inserting Additional Symbols into a Chart Window 32

To insert an additional symbols’ data series into a Chart Window, click the Insert Symbol icon on the Chart
Analysis toolbar.
Additional data series can also be inserted by one of the following methods:
1. Use the F5 key; or:
2. Select Insert in the main menu and click Symbol; or:
3. Right-click on the chart area and then click Insert Symbol; or:
4. If the Chart Window already contains more then one data series, right-click on the chart area, then click
Format Symbols, and click the Add button.

Deleting Symbols from a Multi-Symbol Chart 32

Any of the symbols (data series) can be deleted from a multi-symbol Chart Window, except for the first symbol that
was added (the symbol with the Data # = 1).
To delete a symbol (data series), right-click on the chart area and then click Format Symbols; in the Format
Objects window that appears, select the data series that is to be deleted and click the Remove button.
Data series can also be deleted by one of the following methods:

· Position the mouse pointer over the data series that is to be deleted; once the Pointer changes into a Hand

, right-click and then click Remove Series; or:

· Position the mouse pointer over the data series that is to be deleted; once the Pointer changes into a Hand

, click on the data series and then press the Delete key on the keyboard.

Selecting the Active Symbol (Data Series) in a Multi-Symbol Chart 32

In a multi-symbol Chart Window only one of the data series at a time is active. The active data series is the data
series to which any changes will be applied. Any one of the data series in a multi-symbol chart can be selected as
active at any time.

© 2009 TS Support, LLC


MultiCharts | Creating Charts 37

Before making changes to a particular symbol’s chart within a multi-symbol Chart Window you should first make sure
that it is the active symbol (data series).
The first symbol (data series) added to a multi-symbol Chart Window is the active symbol by default.
To select a symbol (data series) as active simply click on the data series.

Understanding Data Server Mode 32

Data server mode selection provides flexibility for working with data feeds. This feature makes it possible to overcome
limitations of some of the data feeds. If a data feed is available only on weekdays, the locally stored data can be used on
weekends. If a data feed makes gap filling impractical by forcing a lengthy download of 24 hours of data for any intraday
query, the gap filling feature can be disabled.
Three Data server modes are available:
On-Demand – First, the locally stored data is used for a historical chart. Then a check for the gaps is performed, and any
gaps found are filled by connecting to a historical data feed. Once the historical chart is completed, the real-time data will
be received from a real-time data feed.
Online – The locally stored data is used to for a historical chart. A check for gaps is not performed. Once the historical
chart is completed, the real-time data will be received from a real-time data feed.
Offline – Only the locally stored data is used. No connections to data feeds are made.

Setting Data Server Mode 32

To change the Data server mode close all the Workspaces containing windows, or close all the windows in open
Workspaces. Once a new Data server mode has been set, all Chart Windows will function according to the new
mode, even if they were originally created under another Data server mode.
Note: The Data server mode can not be changed while there are any open Chart Windows in any of the open
Workspaces.
To set the Data server mode:
1. In the main menu select File and click Preferences.
2. Select the Data Server Mode tab.
3. Choose the data mode.
4. Check Show this dialog box on startup check box to display the Data Server Mode dialog box on
startup, or uncheck the box to simply use the last selected Data mode.

© 2009 TS Support, LLC


38 MultiCharts 5.5 User Guide

4.4 Chart Settings


4.4.1 Symbol Settings
4.4.1.1 Changing Symbols

Changing Symbols

Symbols can be changed using either Command Line Toolbar or Format Symbol Window.

Changing Symbol Using the Command Line Toolbar 38

To learn more review Creating Charts Using the Command Line Toolbar 32

Changing Symbol Using Format Symbol Window 38

Symbols can be selected either by the symbol name or by the security description.

Changing Symbol by Symbol Name 38

Only the symbols which have already been added to the Symbol List will be available. The 32 most common Futures
symbols are pre-loaded into the Symbol List; all other symbols must be added by the user.
N To learn more see Adding Symbols to Symbol List 260
ot
e:
To change a symbol by symbol name:
1. Open the Format Symbol window.

Opening Format Symbol Window 38

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Symbol tab.
3. Select a data source in the Data Source drop-down list box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 39

4. Click the Symbol/Description selector and choose Symbol.


5. Enter all or part of the symbol name in the name/description combo box; as the name is entered, a
dynamically filtered list of the available matching symbols and their descriptions will be displayed.
6. Select a symbol from the list of available symbols in All Symbols tab, or use the category tabs to list
only a particular category of symbols; the list can be sorted by any column, in ascending or descending
order, by clicking on the column header. If you can't find a symbol, see Adding Symbols to Symbol List
260

7. Double-click the symbol or click OK.

Changing Symbol by Security Description 38

Symbols can be selected by the security description as well as by the symbol name.
Only the symbols which have already been added to the Symbol List will be available. The 32 most common Futures
symbols are pre-loaded into the Symbol List; all other symbols must be added by the user.
Note: To learn more see Adding Symbols to Symbol List 260
To change a symbol by security description:
1. Open the Format Symbol window.

Opening Format Symbol Window 38

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Symbol tab.
3. Select a data source in the Data Source drop-down list box.

4. Click the Symbol/Description selector and choose Description.


5. Enter all or part of the security description in the name/description combo box; as the description is
entered, a dynamically filtered list of the available matching symbols and their descriptions will be
displayed.
6. Select a symbol from the list of available symbols in All Symbols tab, or use the category tabs to list
only a particular category of symbols; the list can be sorted by any column, in ascending or descending
order, by clicking on the column header. If you can't find a symbol, see Adding Symbols to Symbol List

© 2009 TS Support, LLC


40 MultiCharts 5.5 User Guide

260 .

7. Double-click the symbol or click OK.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 41

4.4.1.2 Chart Resolution

Chart Resolution

A Tick is the information about each real trade (or each bid, or each ask, of a potential trade) received from a data vendor. A
tick consists of the price, time, and volume.
A Bar Chart is the most popular format for visually presenting a Data Series. Each Bar is a vertical line connecting the High
and the Low price points (ticks), and graphically represents the range of an instrument’s price movement over a defined
Interval. The price of the first tick of the group, on which the bar is based, is indicated on the left side of the line by a mark
known as the bar's Open component. The price of the last tick of the group, on which the bar is based, is indicated on the right
side of the line by a mark known as the bar's Close component.
Defining the Interval on which each of the chart's bars is based determines the Chart Resolution. Chart resolution is also
sometimes referred to as the Chart Compression.
Chart resolution can be based on a Time interval (seconds, minutes, hours, days, weeks, months, or years), or on a Count
interval (tick, volume, change, or range).
The choice of time- versus count-based charts depends on the user's preference and trading style. Daily or weekly bars can be
used to help identify long-term trends, while tick bars are better suited for day trading.
Count-based charts are becoming increasingly popular because they focus in on the price movement and filter out the periods
of low market activity.
Understanding Tick-Based Charts 41

Each bar in a tick-based chart is based on a tick group that consists of a defined number of successive ticks. The first tick
of the group forms the bar's Open component, the tick with the highest price forms the bar's High component, the tick with
the lowest price forms the Low component, and the last tick of the group forms the bar's Close component. The bar is
closed once the defined number of ticks has been reached. The first tick of the following group forms the next bar’s Open
component.
A 1-tick chart consists of the dots, representing the price values of each of the incoming raw ticks (quotes).
Note: If 1-Tick resolution is used, only the following chart types are available: Dot on Close, Line on Close, Invisible
Bar
You can elect to use the price data from Trades, Asks, or Bids by Setting Quote Field.

How to plot 41

Resolution of tick-based charts can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 41

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

© 2009 TS Support, LLC


42 MultiCharts 5.5 User Guide

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Resolution Interval text box, enter the number of ticks to be used for each
bar.
4. In the Resolution Unit drop-down list box select Tick.
Note: The maximum number of ticks that can be used to create a single bar is 1,000,000.
Resolution of tick-based charts can also be set by one of the following methods:

- Click the Tick Bar icon on the Resolution toolbar; from the drop-down list select the number of ticks to be
used for each bar; or:

- Click the down-arrow to the right of the Resolution icon on the Command Line toolbar, then point to Tick
Bar and select the number of ticks to be used for each bar from the drop-down list;
or:
- Enter the appropriate command into the Command Line toolbar combo box. Click here 23 to find out how to use
the Command Line.

Understanding Time-Based Charts 41

Each bar in a time-based chart is based on a tick group that consists of all ticks over a defined interval of time. The first tick
of the group forms the bar's Open component, the tick with the highest price forms the bar’s High component, the tick with
the lowest price forms the Low component, and the last tick of the group forms the bar's Close component. The first tick
with a time stamp past the original bar’s interval forms the next bar’s Open component.
You can elect to use the price data from Trades, Asks, or Bids by Setting Quote Field.

Setting Resolution of Time-Based Charts 41

Resolution of time-based charts can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 41

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Settings tab.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 43

3. In the Chart section, in the Resolution Interval text box, enter the number of time periods to be used for
each bar.
4. In the Resolution Unit drop-down list box select the time period.
Note: The maximum interval values that can be used for each of the time period units are: 86400 seconds,
1440 minutes, 24 hours, 30 days, 52 weeks, 12 months, 4 quarters, or 10 years.
Resolution of time-based charts can also be set by one of the following methods:

- Click the Second Bar or the Minute Bar icon on the Resolution toolbar; from the drop-down list select
the number seconds or minutes, respectively, to be used for each bar; or:

- Click the Hourly Bar , the Daily Bar , the Weekly Bar , the Monthly Bar , the Quarterly Bar

, or the Yearly Bar icon on the Resolution toolbar to select a 1-hour, 1-day, 1-week, 1-month, 1-quarter,
or 1-year bar, respectively;
-or-

- Click the down-arrow to the right of the Resolution icon on the Command Line toolbar and select the time
period. For Second and Minute bars the number of time period units can also be selected from a drop-down list;
-or-
- Enter the appropriate command into the Command Line toolbar combo box. Click here 23 to find out how to use
the Command Line.

Understanding Range-Based Charts 41

Each bar in a range-based chart is based on a tick group that consists of successive ticks over a defined price range. The
bar’s Open component is always one tick above or below the Close component of the previous bar, and the bar’s Close
component is always at the High or the Low of the bar. All the bars are of the same height, equal to the range. The next bar
is started once the tick with a price outside of the original bar's range has been received. If the price movement is greater
than the combined range of two consecutive bars, additional "virtual" bars are inserted between the bars to fill the gap.
You can elect to use the price data from Trades, Asks, or Bids by Setting Quote Field.
A range-based chart can only be created from tick data.
Note: The maximum period of the price data that can be used to create a single bar in a range-based chart is one
trading day, including all of the trading sessions on that day.

Setting Resolution of Range-Based Charts 41

Resolution of range-based charts can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 41

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

© 2009 TS Support, LLC


44 MultiCharts 5.5 User Guide

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Resolution Interval text box, enter the price movement, in points, that is to
trigger creation of the next bar.
4. In the Resolution Unit drop-down list box select Point.
Note: The maximum number of points that can be used to create a single bar is 10,000.
Resolution of range-based charts can also be set by one of the following methods:

- Click the Range Bar icon on the Resolution toolbar; from the drop-down list select the number of points to
be used for each bar;
-or-

- Click the down-arrow to the right of the Resolution icon on the Command Line toolbar, then point to Range
Bar and select the number of points to be used for each bar from the drop-down list;
-or-
- Enter the appropriate command into the Command Line toolbar combo box. Click here 23 to find out how to use
the Command Line.

Understanding Volume-Based Charts 41

Each bar in a volume-based chart is based on a tick group that consists of successive ticks for a defined number of
contracts. The first tick of the group forms the bar's Open component, the tick with the highest price forms the bar's High
component, the tick with the lowest price forms the Low component, and the last tick of the group forms the bar's Close
component. The bar is closed once a tick, bringing the current bar’s total to the defined number of contracts, has been
received. If the last tick’s volume is grater than is required to complete the current bar, the tick is split. The volume required
for the current bar is used for that bar, and the balance is used to start the next bar.
You can elect to base this chart on the actual volume of all transactions, or on the total number of transactions (ticks) only,
by using the Build Volume On selector.
You can elect to use the data from Trades, Asks, or Bids for this chart by Setting Quote Field.

Setting Resolution of Volume-Based Charts 41

Resolution of volume-based charts can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 41

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

© 2009 TS Support, LLC


MultiCharts | Chart Settings 45

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Resolution Interval text box, enter the number of contracts to be used for
each bar.
4. In the Resolution Unit drop-down list box select Contract.
Note: The maximum number of contracts that can be used to create a single bar depends on the data vendor.
Resolution of volume-based charts can also be set by one of the following methods:

- Click the Volume Bar icon on the Resolution toolbar; from the drop-down list select the number of contracts
to be used for each bar; or:

- Click the down-arrow to the right of the Resolution icon on the Command Line toolbar, then point to
Volume Bar and select the number of contracts to be used for each bar from the drop-down list;
or:
- Enter the appropriate command into the Command Line toolbar combo box. Click here 23 to find out how to use
the Command Line.

Build Volume On Selector 41

You can elect to base a chart on the actual volume of all transactions, or on the total number of transactions
(ticks) only, by using the Build Volume On selector.
Build Volume On selector is set from the Format Symbol window:
1. Open the Format Symbol window.
2. Select the Settings tab.
3. In the Chart section, in the Build Volume On drop-down list box, select Trade Volume or Tick
Count to base the chart on the actual volume, or on the number of ticks, respectively.

Understanding Change-Based Charts 41

Each bar in a change-based chart is based on a tick group that consists of successive ticks over a defined number of price
changes. The first tick of the group forms the bar's Open component, the tick with the highest price forms the bar's High
component, the tick with the lowest price forms the Low component, and the last tick of the group forms the bar's Close
component. The bar is closed once the tick with a price, bringing the current bar's total number of price changes to the
defined number, has been received. The first tick of the following group forms the next bar’s Open component.
You can elect to base this chart on the Trades, on the Asks, or on the Bids by Setting Quote Field.

Setting Resolution of Change-Based Chart 41

Resolution of change-based charts can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 41

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

© 2009 TS Support, LLC


46 MultiCharts 5.5 User Guide

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Resolution Interval text box, enter the number of price changes to be used
for each bar.
4. In the Resolution Unit drop-down list box select Change.

Resolution of change-based charts can also be set by entering the appropriate command into the Command Line
toolbar combo box. Click here 23 to find out how to use the Command Line.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 47

4.4.1.3 Quote Field

Quote Field

There are three types of quotes:


Asks - the prices asked for by the sellers
Bids - the prices offered by the buyers
Trades - the prices of completed trades
Setting Quote Field 47

You can elect to use the data from the Trades only, from the Asks only, or from the Bids only, by setting the Quote Field.
Quote Field is set from the Format Symbol window:
1. Open the Format Symbol window.

How? 47

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Quote Field drop-down list box, select Ask, Bid, or Trade, to use ask, bid, or trade
data, respectively.

© 2009 TS Support, LLC


48 MultiCharts 5.5 User Guide

4.4.1.4 Sessions

Sessions

Trading sessions are the hours in which a contract is available for trading. The trading session for each contract varies
depending on the contract and the exchange.
A user may also want to only plot certain hours of the trading session instead of the entire session. Additionally, the user may
want to plot the same symbol using different trading sessions.
Setting Sessions 48

Sessions are set from the Format Symbol window:


1. Open the Format Symbol window.

How? 48

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Chart section, in the Sessions drop-down list box, select an applicable trading session.
Tip: To create custom session templates, see Setting Custom Session Templates 267

© 2009 TS Support, LLC


MultiCharts | Chart Settings 49

4.4.1.5 Data Range

Data Range

Data Range is the entire period of data that is covered by the chart. Data Range can be defined by two different methods:
· By defining the number of bars, or days, back from a particular date; or:
· By defining the start and end dates.

Setting Bars/Days Back 49

Data Range is set from the Format Symbol window:


1. Open the Format Symbol window.

How? 49

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Data Range section click the top radio button.
4. In the text box enter the number of bars or days back to be used.
5. In the drop-down list box choose Bars Back or Days Back.
6. In the …Back From combo box, your computer's system date is set up by default; if required, enter another
date or use the drop-down calendar.

Setting Dates Range 49

Data Range is set from the Format Symbol window:


1. Open the Format Symbol window.

How? 49

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

© 2009 TS Support, LLC


50 MultiCharts 5.5 User Guide

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Data Range section click the bottom radio button.
4. In the From combo box enter the starting date or use the drop-down calendar; your computer's system date is
set up by default.
5. In the To combo box, your computer's system date is set up by default; if required, enter another date or use
the drop-down calendar.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 51

4.4.1.6 Time Zone

Time Zone

You can elect for the Local Time or for the Exchange Time to be displayed on the chart's time scale, by setting the Time Zone.
Local Time is the system time of your computer, and the Exchange Time is the local time at the location where the exchange
is based.
Setting Time Zone 51

Time Zone is set from the Format Symbol window:


1. Open the Format Symbol window.

How? 51

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Display section, in the Time Zone drop-down list box, choose Local or Exchange Time Zone.

© 2009 TS Support, LLC


52 MultiCharts 5.5 User Guide

4.4.1.7 Data Numbers

Data Numbers

Each data series in a multi-symbol chart has a unique Data Number. Data Numbers are used to differentiate data series in
multi-symbol charts, and for the calculation of indicators that use several data series. The Data Number is automatically
assigned according to the order in which the data series was added to a Chart Window.
The Data Number can also be set manually while a series is being added, except for the very first series to be added to a Chart
Window, which is always Data #1. A Data Number can no longer be changed once the series has been plotted.
Important: Any data series can be deleted from a multi-symbol Chart Window, except for the data series with the Data # 1.
Data series # 1 can only be deleted by closing the Chart Window.
Setting Data Number 52

The Data Number can be set manually from the Format Symbol window only when the series is being added. Once the
series has been plotted, the Data Number can not be changed.
To manually set a Data Number to a data series:
1. Follow the instructions for inserting an additional data series into a Chart Window; to learn how insert an
additional series, see Inserting Additional Symbols into a Chart Window.
2. Before clicking OK select the Settings tab in the Format Symbol window.
3. In the Display section, in the Data Number drop-down list box, select a Data Number for the data series being
created.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 53

4.4.1.8 Using SubCharts

Using SubCharts

When additional objects are inserted into a Chat Window, the window is divided horizontally into SubCharts. A single window
can contain up to 20 SubCharts.
SubCharts allow several data series or other objects to be synchronized and viewed alongside each other.
Each SubChart is assigned a sequential number according to its position in a Chart Window, starting from the top. A chart that
is the only chart in the Chart Window is SubChart number 1.
SubCharts can be Resized, Maximized, and Hidden. Each SubChart can contain a number of charts or studies, and objects
can be moved from one SubChart to another.
Resizing SubCharts 53

To Resize SubCharts, position the mouse pointer over the border line between two SubCharts; once the pointer changes

into a Splitter , hold the left mouse button and drag the border to the desired position.
Maximizing and Restoring SubCharts 53

A SubChart can be maximized to fill the entire Chart Window, and a maximized SubChart can be restored to its original
size.

Maximizing SubCharts 53

To maximize a SubChart, right-click on the chart area of the SubChart to be maximized and then click Maximize
SubChart.

Restoring SubCharts 53

To restore a maximized SubChart to its original size, right-click on the chart area and then click Restore SubChart.
Moving Data Series between SubCharts 53

A data series in one SubChart can be moved to an existing or a new SubChart within the same Chart Window. Each
SubChart can contain a number of objects.

Moving Data Series to Existing SubChart 53

A data series can be moved using the Format Symbol window:


1. Open the Format Symbol window.

How? 53

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:

© 2009 TS Support, LLC


54 MultiCharts 5.5 User Guide

- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Display section, in the SubChart scrolling list box, select the SubChart # you wish to move the
series to.

A data series can also be moved by the following method:


- Position the mouse pointer over the over the series or the Status Line of the series to be moved; once the Pointer

changes into a Hand , hold the left mouse button and drag the pointer to another SubChart. Release the
mouse button to complete moving the series.

Moving Data Series to New SubChart 53

A data series can be moved using the Format Symbol window:


1. Open the Format Symbol window.

How? 53

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Display section, in the SubChart scrolling list box, select Show On Top or Show On Bottom to
move the series to a new SubChart at the top or at the bottom of the Chart Window, respectively.

A data series can also be moved by the following method:

- Position the mouse pointer over the series or the Status Line of the series to be moved; once the Pointer

changes into a Hand , hold the left mouse button and drag the pointer to the upper or lower border of the Chart

Window, or of another SubChart. Once the pointer changes into the Create New SubChart symbol, release the
mouse button to create a new SubChart.

Hiding and Redisplaying SubCharts 53

In some instances displaying a SubChart may not be necessary. A SubChart can be hidden by hiding all of the objects it
contains. Hidden objects retain their full functionality.

Hiding Subcharts 53

© 2009 TS Support, LLC


MultiCharts | Chart Settings 55

A SubChart can be hidden by hiding all of the objects it contains.


Objects can be hidden by using the Format Symbol window:
1. Open the Format Symbol window.

How? 53

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Settings tab.
3. In the Display section, in the SubChart scrolling list box, select Hide.

An object can also be hidden by one of the following methods:


- Click the Hide Object icon on the Control toolbar; or:
- Select Format in the main menu and click Hide Object.
To hide a SubChart you may have to repeat the procedure for any additional objects that the SubChart may contain.

Redisplaying Hidden SubCharts 53

A hidden object or a data series can be redisplayed in a SubChart.


To redisplay a data series:
1. Open the Format Objects window.

How? 53

Format Objects window will appear only if the active Chart Window contains multiple series;
otherwise, Format Symbol window will appear.
To open the Format Objects window, right-click on an empty area of the chart and then click Format
Symbols.
The Format Objects window can also be opened by one of the following methods:

- Click the Format Symbol icon on the Chart Analysis toolbar;


or:
- Select Format in the main menu and click Symbol.
2. Select the object to be redisplayed and click the Format button to display the Format Symbol window.
3. Select the Settings tab.

© 2009 TS Support, LLC


56 MultiCharts 5.5 User Guide

4. In the Display section, in the SubChart scrolling list box, select Show On Top, Show On Bottom, or
SubChart #n, to redisplay the data series in a new SubChart at the top, a new SubChart at the bottom, or in
an existing SubChart, respectively, in the Chart Window.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 57

4.4.2 Chart Style


4.4.2.1 Chart Style

Chart Style

Several types of charts can be created. Chart style can be customized for each type of a chart.
The following types of charts are available:
OHLC Bar Chart 59
HLC Bar Chart 61
Candlestick Chart 65
Dot On Close Chart 67
Line On Close Chart 69
Invisible Chart 71
Each chart type offers an alternative visual representation that has its own advantages.
The type and style of a chart are set in the Style tab of the Format Symbol window.
Chart Type is selected in the Chart Type section, and Chart Style settings can be customized in the Chart Style section.
Changes to Chart Type and Chart Style settings will be applied to the Chart Window in real time.
Last Price Marker 57

Last Price Marker is a special label displayed on the price scale that indicates the latest price value of the data series.
If multiple data series are plotted in different subcharts within the same chart window, then the marker is displayed for each
data series.
However, if multiple data series are plotted in the same subchart, then the marker is displayed only for the series that was
added first (Data #1 52 ).
To turn off/on Last Price Marker for a data series:
1. Open the Format Symbol window.

How? 57

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.

© 2009 TS Support, LLC


58 MultiCharts 5.5 User Guide

3. Under the Advanced group box, check or uncheck the Last Price Marker checkbox.

Changing Bar Weight 57

Chart's bars' Weight can be changed by clicking Increase Weight or Decrease Weight icons on the Control
toolbar, or by selecting Format in the main menu and clicking Increase Weight or Decrease Weight.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 59

4.4.2.2 OHLC Bar Chart

OHLC Bar Chart

OHLC Bar Chart visually presents the data series as a sequence of bars.
Each OHLC bar is a vertical line connecting the High and the Low price points (ticks), and graphically represents the range of
an instrument's price movement over a defined interval. The price of the first tick of the group, on which the bar is based, is
indicated on the left side of the line by a mark known as the bar's Open component. The price of the last tick of the group, on
which the bar is based, is indicated on the right side of the line by a mark known as the bar's Close component.
An OHLC Bar has three components: Open, High/Low, and Close. The color and width of each of the bar's components can
be customized in the Chart Style section.
Selecting OHLC Chart Type 59

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 59

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select OHLC Bar.

OHLC Chart Type can also be selected by one of the following methods:

- Click the Bar Chart icon on the Chart Analysis toolbar; or:
- In the main menu select View and click Bar Chart.
Setting OHLC Chart Style 59

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 59

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

© 2009 TS Support, LLC


60 MultiCharts 5.5 User Guide

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. From the drop-down list select a style.
5. To apply the most recently selected component's style of to all components, click the Apply to all components
button.
6. To display the Last Price Marker check the Last Price Marker check box, or uncheck the box to hide the
marker; the color of the marker is the same as of the Close component.
7. To use these style settings for all new charts of this type, check Use as Default check box.

Changing Bar Weight 59

To change bars' Weight, click Increase Weight or Decrease Weight icon on the Control toolbar,
or
select Format in the main menu and click Increase Weight or Decrease Weight.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 61

4.4.2.3 HLC Bar Chart

HLC Bars Chart

HLC Bar Chart visually presents the data series as a sequence of bars.
Each HLC bar is a vertical line connecting the High and the Low price points (ticks), and graphically represents the range of
an instrument’s price movement over a defined interval. The price of the last tick of the tick group, on which the bar is based, is
indicated on the right side of the line by a mark known as the bar's Close component.
An HLC Bar has two components: High/Low and Close. The color and width of each of the bar's components can be
customized in the Chart Style section.
Selecting HLC Chart Type 61

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 61

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select HLC Bar.

Setting HLC Chart Style 61

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 61

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

© 2009 TS Support, LLC


62 MultiCharts 5.5 User Guide

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. From the drop-down list select a style.
5. To apply the most recently selected component's style of to all components, click the Apply to all components
button.
6. To display the Last Price Marker check the Last Price Marker check box, or uncheck the box to hide the
marker; the color of the marker is the same as of the Close component.
7. To use these style settings for all new charts of this type, check Use as Default check box.

Changing Bar Weight 61

To change bars' Weight, click Increase Weight or Decrease Weight icon on the Control toolbar,
or
select Format in the main menu and click Increase Weight or Decrease Weight.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 63

4.4.2.4 Hollow Candlestick Chart

Hollow Candlestick Chart

A Hollow Candlestick Chart plots the data series using a sequence of candlestick figures. A single candlestick consists of a
body and a wick. The entire length of the candlestick represents the distance from the high to the low.
The body represents the distance between the open price and the close price.
The wick can be on either end or both ends. A wick above the body represents the distance from the high to the open/close,
whichever is closer. A wick below the body represents the distance from the low to the open/close, whichever is closer.
On the chart, the body of a candlestick takes the form of a pillar-like rectangle. The wick is the line above and/or below the
body.

The body of a candlestick can be either hollow or solid.


Hollow A candlestick with a hollow body is called a bullish candlestick. The close is higher than the open.
Solid A candlestick with a solid body is called a bearish candlestick. The close is lower than the open.

Additionally, a candlestick can be one of three colors.


Green (Up) The close of the current candlestick is higher than the close of the previous candlestick.
Grey (Neutral) The close of the current candlestick is the same as the close of the previous candlestick.
Red (Down) The close of the current candlestick is lower than the close of the previous candlestick.
Tip: These are the default colors. To change the colors,
1. Double-click on the data series in the chart.
2. Select the Style tab.
3. Select Hollow Candlestick under Chart Type.
4. Click the color bars under Chart Style to select different colors.

Selecting Hollow Candlestick Chart Type 63

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 63

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.

© 2009 TS Support, LLC


64 MultiCharts 5.5 User Guide

2. Select the Style tab.


3. In the Chart Type list box select Hollow Candlestick.

Candlestick Chart Type can also be selected by one of the following methods:

· Click the Hollow Candlestick Chart icon on the Chart Analysis toolbar; or:
· In the main menu select View and click Hollow Candlestick.

Selecting Hollow Candlestick Chart Style 63

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 63

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. In the Color column select one of the standard 40 colors from the palette box, or click the Other button to
create custom colors.
5. From the Width drop-down list box select a width to change the thickness of the candlestick.
6. To apply the most recently selected component's style to all components, click the Apply to All Components
button.
7. To display the Last Price Marker select the Last Price Marker check box, or clear the box to hide the marker;
the color of the marker is the same as the color of the Down component.
8. To use these style settings for all new charts of this type, select Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 65

4.4.2.5 Candlestick Chart

Candlestick Chart

Candlestick Chart visually presents the data series as a sequence of "Candlesticks".


A Candlestick emphasizes the range between the Open and the Close price points (ticks), and the direction of price
movement (trend) between them.
Each candlestick consists of a "Body" and a "Wick". The body is a pillar-like rectangle, connecting the Open and the Close (the
first and the last ticks’) prices of the tick group, on which the candlestick is based. The body’s color indicates the trend – the
direction of price movement – between the Open and the Close ticks. The wick consists of two vertical lines, one extending
from the top and one from the bottom of the body, to the High and Low price points. Each part of the wick is displayed only if its
corresponding price point falls outside of the body’s range.
A Candlestick has three components: Up, Down, and Wick; Up is the body in an uptrend, and Down is the body in a
downtrend.
The color of each of the components, the width of the wick, and the body's border is customized in the Chart Style section.
Selecting Candlestick Chart Type 65

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 65

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select Candlestick.

Selecting Candlestick Chart Style 65

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 65

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

© 2009 TS Support, LLC


66 MultiCharts 5.5 User Guide

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. In the Color column select one of the standard 40 colors from the palette box, or click the Other button to
create custom colors.
5. From the Width drop-down list box select a width of the body border and the wick.
6. To show candlestick borders, select Show Candlestick Border check box;clear the box to hide the border. The
style of the border is the same as of the Wick.
7. To apply the most recently selected component's style to all components, click the Apply to All Components
button.
8. To display the Last Price Marker select the Last Price Marker check box, or clear the box to hide the marker;
the color of the marker is the same as the color of the Down component.
9. To use these style settings for all new charts of this type, select Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 67

4.4.2.6 Dot On Close Chart

Dot On Close Chart

Dot On Close chart visually presents the data series as a sequence of dots that are not connected by a line.
Each dot graphically represents the Close (last tick's) price of each tick group.
The color and size of the dots can be customized in the Chart Style section.
Selecting Dot on Close Chart Type 67

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 67

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select Dot on close.

Selecting Dot on Close Chart Style 67

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 67

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

© 2009 TS Support, LLC


68 MultiCharts 5.5 User Guide

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. From the drop-down list select a style.
5. To display the Last Price Marker check the Last Price Marker check box, or uncheck the box to hide the
marker; the color of the marker is the same as of the Close component.
6. To use these style settings for all new charts of this type, check Use as Default check box.

Changing Dot Weight 67

To change the Weight (size) of the dots, click Increase Weight or Decrease Weight icon on the Control
toolbar, or select Format in the main menu and click Increase Weight or Decrease Weight.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 69

4.4.2.7 Line On Close Chart

Line On Close Chart

Line On Close chart visually presents the data series as a sequence of dots that are connected by a line.
Each dot graphically represents the Close (last tick's) price of each tick group.
The color and width of the line can be customized in the Chart Style section.
Selecting Line on Close Chart Type 69

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 69

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select Line on Close.

Line on Close Chart Type can also be selected by one of the following methods:

- Click the Line on Close Chart icon on the Chart Analysis toolbar; or:
- In the main menu select View and click Line on Close.
Selecting line on Close Chart Style 69

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 69

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

© 2009 TS Support, LLC


70 MultiCharts 5.5 User Guide

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Style section click on the component element to be changed.
4. From the drop-down list select a style.
5. To display the Last Price Marker check the Last Price Marker check box, or uncheck the box to hide the
marker; the color of the marker is the same as of the Close component.
6. To use these style settings for all new charts of this type, check Use as Default check box.

Changing Line Weight 69

To change the line's Weight, click Increase Weight or Decrease Weight icon on the Control toolbar, or select
Format in the main menu and click Increase Weight or Decrease Weight.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 71

4.4.2.8 Invisible Chart

Invisible Chart

In an Invisible Chart the data series is present, but not visually presented.
An invisible chart can be used when the data series is needed for a calculation, but the visual presentation of the data series is
not required.
Selecting Invisible Chart Type 71

Chart type can be selected from the Format Symbol window:


1. Open the Format Symbol window.

How? 71

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. In the Chart Type list box select Invisible Chart.

Selecting Invisible Chart Style 71

Chart style can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 71

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

© 2009 TS Support, LLC


72 MultiCharts 5.5 User Guide

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Style tab.
3. To display the Last Price Marker check the Last Price Marker check box, or uncheck the box to hide the
marker; the color of the marker is the same as the Dot on Close Chart's Close component.
4. To use this style setting for all new charts of this type, check Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 73

4.4.3 Chart Scaling


4.4.3.1 Chart Scaling

Chart Scaling

The Price Scale is located on the left and/or the right side of the chart, and consists of a vertical line with marks, indicating
values, and identified by Labels. The values on the scale are specific to the symbol or indicator plotted on the chart. The scale
represents the value range, within which the chart is plotted. To determine the value of a point on a chart, the vertical position
of the point is referenced to a value on the Price Scale.
The Range of the Price Scale and the chart's top and bottom Margins 79 can be set.
The Labels 82 , identifying scale's marks, can be customized.

Five Price Scale range modes (scaling modes) are available:


Screen 75
Entire Series 75
User Defined 75
Movement Size 75
Price Range 75

Two Scaling Types are available (except for the Movement Size scaling mode):
Linear 80
Semi-Log 80

Each scale range setting and scaling type offers its own advantages.

Expanding Scale to Indicator 73

If the price scale is based on the data series and an indicator is overlaid on the data series, the range of the price scale
may not be wide enough to capture all parts of the indicator. In this case, the parts of the indicator that fall outside of the
range of the price scale will not be displayed in the chart. To automatically expand the range of the price scale so that it will
capture all parts of the indicator
1. Open the Format Symbol window.

How? 73

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the

© 2009 TS Support, LLC


74 MultiCharts 5.5 User Guide

symbol and click the Format button.


2. Select the Scaling tab.
3. In the General section, select Expand Scale to Indicators.
Note: This feature only works if the indicator's scaling range is set to Same as Symbol.
Overlaying Data Series 73

When two or more data series exist in the same subchart, it is possible to overlay the data series.
1. Open the Format Symbol window.

How? 73

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Scaling tab.
3. In the General section, select Overlay Data Series.

By default, the price scale of the first data series is shown. To change to the price scale of another data series,
1. Right-click on the price scale.
2. Select the data series in the window.
Tip: Two different Price Scales can be displayed at the same time by setting the left and right price scales.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 75

4.4.3.2 Scale Range

Scale Range

Five types of Price Scale Range can be used: Screen, Entire Series, User Defined, Price Range, and Movement Size.
Screen Scale Range 75

The range of the price scale is equal to the range of the data series that's visible on the chart. The price scale will adjust
automatically if the user scrolls to another part of the data series.

Setting Screen Scale Range 75

Scale range can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 75

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Range list box, select Screen.
4. Select the Use Margins check box to set a margin between the plot and the chart’s upper and lower
borders.
5. Enter numbers in the Top Margin % box and Bottom Margin % box to define the top margin and
bottom margins.
6. In the Scaling Type section select Linear 80 or Semi-Log 80 .
7. Select the Center Last Price check box to center the last price of the data series in the middle of the
price scale.
Note: To use these scaling settings for all new charts, check Use as Default check box.
Entire Series Scale Range 75

The range of the price scale is equal to the range of the entire data series, including parts of the data series not currently
shown on the chart. Since the range of the price scale is that of the entire data series, the range of the price scale will not
change if the user scrolls to another part of the data series.

Setting Entire Series Scale Range 75

© 2009 TS Support, LLC


76 MultiCharts 5.5 User Guide

Scale range can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 75

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Range list box, select Entire Series.
4. Select the Use Margins check box to set a margin between the plot and the chart’s upper and lower
borders.
5. Enter numbers in the Top Margin % box and Bottom Margin % box to define the top margin and
bottom margins.
6. In the Scaling Type section select Linear 80 or Semi-Log 80 .
7. Select the Center Last Price check box to center the last price of the data series in the middle of the
price scale.
Note: To use these scaling settings for all new charts, check Use as Default check box.
User Defined Scale Range 75

The range of the price scale is defined manually. Any part of the data series that falls outside of the defined range will not
be displayed in the Chart Window.

Setting User Defined Scale Range 75

Scale range can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 75

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

© 2009 TS Support, LLC


MultiCharts | Chart Settings 77

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Range list box, select User Defined.
4. In the Maximum box, enter the maximum value of the range.
5. In the Minimum box, enter the minimum value of the range.
6. In the Scaling Type section select Linear 80 or Semi-Log 80 .
Note: User Defined scale range can not be used as a default.
Movement Size Scale Range 75

The range of the price scale is defined manually. The scale will be based on the number of points within a unit of length. For
example, the user can specify that each inch of the price scale represents 10 points.

Setting Movement Size Scale Range 75

Scale range can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 75

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Range list box, select Movement Size.

© 2009 TS Support, LLC


78 MultiCharts 5.5 User Guide

4. Enter a unit length.


5. Select either inches or centimeters in the drop-down box.
6. Enter the number of points that the unit of length in Step 4 will represent.
Note: To use these scaling settings for all new charts, check Use as Default check box.
Price Range Scale Range 75

The range of the price scale is defined manually. The range of the scale will be based on the number of points above and
below the Last Price Marker. For example, if the last price market is at 100, the user can specify that the range of the scale
will be 20 points above and 20 points below the Last Price Marker (i.e., 120 to 80)

Setting Price Range Scale Range 75

Scale range can be set from the Format Symbol window:


1. Open the Format Symbol window.

How? 75

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Range list box, select Price Range.
4. In the Above box, enter the number of points above the Last Price Marker. This is the maximum value of
the range.
5. In the Below box enter the number of points below the Last Price Marker. This is the minimum value of
the range.
Note: To use these scaling settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 79

4.4.3.3 Margins

Margins

Margins are the extra spaces between the visual representation of a data series and the chart's upper and lower borders, and
are set as a percentage of the data series' price range. Margins can not be set for a chart with a User Defined price scale.
How to set 79

Margins are set from the Format Symbol window:


1. Open the Format Symbol window.

How? 79

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Scaling tab.
3. In Use Margins section, check the Use Margins check box to add margins; uncheck the box to not add
margins.
4. In the Top Margin text box enter the top margin as a percentage of the series price range.
5. In the Bottom Margin text box enter the bottom margin as a percentage of the series price range.
Note: To use these margin settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


80 MultiCharts 5.5 User Guide

4.4.3.4 Scale Type

Scale Type

Two types of chart Scaling can be selected: Linear or Semi-Log.


Linear Scaling 80

A Linear price scale is the conventional, absolute scale. A $10 change in price will always be represented by the same
displacement along the vertical axis, regardless of the base price from which the change took place.

Setting Linear Scaling Type 80

Scaling Type is set from the Format Symbol window:


1. Open the Format Symbol window.

How? 80

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Type section, click the Linear radio button.

To center the last quote in the middle of the price scale, check the Center Last Price check box; the last quote can
not be centered for a chart with a User Defined price scale.
To use these scaling settings for all new charts, check Use as Default check box.

Semi-Log Scaling 80

A Semi-Log (percent-of-change) price scale is a percentage-based scale. A 10% change in price will always be represented
by the same displacement along the vertical axis, regardless of the absolute price change. A $5 price change from a $50
base price (10%) will be represented by the exact same vertical displacement as a $10 price change from a $100 base
price (10%), even though the absolute values of $5 and $10 are not equal.
Important: Margins should not be used with a Semi-Log price scale.

Setting Semi-Log Scaling Type 80

Scaling Type is set from the Format Symbol window:


1. Open the Format Symbol window.

How? 80

© 2009 TS Support, LLC


MultiCharts | Chart Settings 81

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Scaling Type section, click the Semi-Log radio button.

To center the last quote in the middle of the price scale, check the Center Last Price check box; the last quote can
not be centered for a chart with a User Defined price scale.
To use these scaling settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


82 MultiCharts 5.5 User Guide

4.4.3.5 Scale Labels

Scale Labels

Scale Labels are the numbers that appear next to the marks on the price scale that indicate what value the marks represent.
If a chart contains multiple objects, the object, for which the label values are displayed, can be selected. The object is selected
separately for the right and for the left price scales, making it possible to display different label values on the right than on the
left scale of the chart.
The numbers displayed on the labels can be abbreviated, and either the increment (step size) between the labels or the total
number of labels can be set.
Selecting Object for Label Values 82

The object, for which the label values on a price scale are displayed, can be selected by right-clicking on the price scale
and then clicking the #) Object Name, where # is the number, indicating the order in which the object has been added to
the chart.
Dividing Scale Label Values 82

The values of some indicators, for example volume, can be rather large, such as 25,000,000,000.
The numbers displayed on the labels can be abbreviated by dividing the values they represent by a set factor.
For example, a label for the value of 25,000,000,000, divided by a factor of 1,000,000,000, will read "25.00". Characters can
also be added to the end of the label, for example a "b", resulting in a label that reads "25.00 b" instead of the
"25,000,000,000".
Tip: Tip: You can elect to set the division factor automatically or manually.

Dividing Label Values Automatically 82

The division factor with the corresponding characters is selected automatically. To change the characters, see
Dividing Label Values Manually.
Automatic selection of the division factor can be chosen from the Format Symbol window:
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, check Divide Scale Labels check box.

© 2009 TS Support, LLC


MultiCharts | Chart Settings 83

4. Select the Auto radio button.


Tip: To use these scaling settings for all new charts, check Use as Default check box.

Dividing Label Values Manually 82

The division factor can be set manually, and the corresponding characters assigned, from the Format Symbol
window:
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, check Divide Scale Labels check box.
4. Select the Manual radio button.
5. In the drop-down list box select the division factor.
6. In the Displayed as text box enter the characters to be added to the end of the label for the selected
division factor; these characters will also be used when Dividing Label Values Automatically.
Tip: To use these scaling settings for all new charts, check Use as Default check box.

Canceling Label Value Division 82

Label value division is canceled from the Format Symbol window:


1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

© 2009 TS Support, LLC


84 MultiCharts 5.5 User Guide

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, uncheck Divide Scale Labels check box.
Tip: To use these scaling settings for all new charts check Use as Default check box.
Setting Label Step 82

You can choose from three different settings that determine the increment (step size) between labels:
Automatic - the increment is optimized dynamically to aid the visual assessment of price levels
Set Step Size - the increment between labels is set manually
Set Number of Labels - a set number of labels is always displayed

Automatic 82

Increment between the labels is set from the Format Symbol window:
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Set Labels Manually section, uncheck Set Labels Manually check box.
Tip: To use these scaling settings for all new charts, check Use as Default check box.

Set Step Size 82

© 2009 TS Support, LLC


MultiCharts | Chart Settings 85

Increment between the labels is set from the Format Symbol window:
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Set Labels Manually section, check Set Labels Manually check box.
4. Select the Set Step Size radio button.
5. In the Set Step Size text box enter the increment value (step size), in units displayed on the scale.
Note: A label at each step will only be displayed if there is enough room on the scale.
Tip: To use these scaling settings for all new charts, check Use as Default check box.

Set Number of Labels 82

A fixed total number of labels can be set from the Format Symbol window:
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart
Analysis toolbar; if the Format Objects window appears, select the symbol and click the
Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into

a Hand , right-click and then click Format 'Symbol Name';

or:

© 2009 TS Support, LLC


86 MultiCharts 5.5 User Guide

- Right-click on an empty area of the chart and then click Format Symbols; if the Format
Objects window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears,
select the symbol and click the Format button.
2. Select the Scaling tab.
3. In the Set Labels Manually section, check Set Labels Manually check box.
4. Select the Set Number of Labels radio button.
5. In the Set Number of Labels text box enter the fixed number of labels desired.
Note: The set number of labels will only be displayed if there is enough room on the scale.
Tip: To use these scaling settings for all new charts, check Use as Default check box.
Using Fractional Price Scale Format 82

MultiCharts can display prices in both decimal and fractional format.


Configuring Fractional Price Scale Format for Symbols 263

Configuring Fractional Price Scale Format for Studies 181

Configuring Fractional Price Scale Format for Drawings 115

Fractional format is available for the following values:


Open
High
Low
Close
Last
Bid
Ask
Net Change
Last Price Marker
Price value in the Status Line
Price value in the Chart Hint
Price value in the Drawing Properties
Minimum and Maximum check boxes values under the Scale tab of the Format Symbol dialog window
Fractional format is not available in the following scenarios:
When exporting data from the chart
When exporting data from Strategy Performance Report
When accepting/rejecting orders in the dialog window
When closing open positions in the dialog window
When assigning market position at the broker in the dialog window
In the Alert messages
Setting the Number of Digits After the Decimal 82
1. Open the Format Symbol window.

How? 82

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis
toolbar; if the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer

changes into a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a

Hand , right-click and then click Format 'Symbol Name';

© 2009 TS Support, LLC


MultiCharts | Chart Settings 87

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects
window appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Scaling tab.
3. In the General section, select No. of digits after decimal.
4. Select the number of digits in the drop-down list.

© 2009 TS Support, LLC


88 MultiCharts 5.5 User Guide

4.4.3.6 Volume Profile

Volume Profile

Volume Profile displays a histogram of the transaction volume at each price level over a certain time period.
1. Open the Format Symbol window.
How? 88

To open the Format Symbol window, click the Format Symbol icon on the Chart Analysis toolbar; if
the Format Objects window appears, select the symbol and click the Format button.

The Format Symbol window can also be opened by one of the following methods:

- Position the mouse pointer over the symbol's data series; double-click once the Pointer changes into

a Hand ;

or:

- Position the mouse pointer over the symbol's data series; once the Pointer changes into a Hand
, right-click and then click Format 'Symbol Name';

or:
- Right-click on an empty area of the chart and then click Format Symbols; if the Format Objects window
appears, select the symbol and click the Format button;

or:
- Select Format in the main menu and click Symbol; if the Format Objects window appears, select the
symbol and click the Format button.
2. Select the Volume Profile tab.
3. Select the Data Type drop-down box to choose whether the volume for each bar will be plotted on the open, high,
low, close, or mid price of the bar. All of the volume for the bar will be aggregated and plotted on the chosen price.
4. In the Data Range section,
· Select Last Session to base the time period of the volume profile on the last session, or
· Select Screen to base the time period of the volume profile on the data shown on the screen, or
· Select Entire Series to base the time period of the volume profile on the entire data series, or
· Select Back to base the time period of the volume profile on the specified number of bars.

5. In the Volume Bar Step section,


· Select Pixels to base the bins of the volume profile on the specified number of pixels, or
· Select Points to base the bins of volume profile on the specified number of ticks, or
· Select Units to base the bins of volume profile on the specified number of ticks in price format. For example, if 1
tick equals 0.25, then basing the bins on 1 point is the same as basing the bins on 0.25 units.

6. Select OK to close the Format Symbol window.


7. Open the Format Window window.
How? 88

To open the Format Window window, click the Format Window icon on the Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:

© 2009 TS Support, LLC


MultiCharts | Chart Settings 89

- Select Format in the main menu and click Window.


8. Select the Volume Profile tab.
9. In the Settings section, select the Left checkbox to display the volume profile on the left side of the chart. Select
the Right checkbox to display the volume profile on the right side of the chart. Enter the width of the display after
selecting either the left or right side.
10.In the Style section, select the color of the volume profile.
11.Select OK.

© 2009 TS Support, LLC


90 MultiCharts 5.5 User Guide

4.5 Using Charts


4.5.1 Reloading Charts

Reloading Charts

Occasionally a bad tick, an error, or a gap in the price data causes a chart to plot improperly.
Reloading will redraw the chart based on a fresh set of data from the data source. In the process of reloading, a new set of
data is downloaded from the data feed.
It is possible to reload the entire length of the data series or to reload only a certain number of days back. Any existing data, for
which no replacement data is available from the data source, is retained.
Reloading Charts 90

Reloading the Entire Data Series


· Select View in the main menu, select Reload, and select Reload All Data, or
· Press CTRL+R using the keyboard.
Tip: A chart can also be reloaded by typing .rld into the Command Line toolbar.

Reloading Only a Number of Days Back


1. Select View in the main menu and select Reload.
2. Select the number of days back.

Global Reload
In addition to reloading the data for a single chart, all of the data, for some or all of the charts, can be reloaded by entering
a Global Reload command into the Command Line toolbar.
Usage

.rld glob[, res = Resolution]

Parameters inside the square brackets are optional

Where:
.rld – reload command
glob – an optional parameter; specifies a global reload
res – an optional parameter, limits the global reload to charts with the specified resolution only; must be preceded by
a comma
Resolution – an optional parameter, used in combination with the res parameter; specifies the resolution of the
charts that the global reload will be limited to.

Examples
.rld will reload the chart in the active window
.rld glob will reload all charts
.rld glob, res=1minute will reload all charts with a resolution of 1 minute
Note: After reloading charts with 1-Tick resolutions, it is necessary to exit and re-start the application. Make sure to
wait at least 30 seconds before restarting the application in order to make sure that all of its processes have
ended. You can also end the processes manually by using the Task Manager.
Note: In some instances it may be necessary to completely restart the computer in order to complete the process of
reloading a chart with a 1-Tick resolution.

© 2009 TS Support, LLC


MultiCharts | Using Charts 91

4.5.2 Adjusting Chart

Adjusting Charts

It is possible to scroll through charts horizontally, move the data series up or down vertically, adjust horizontal and vertical
scales, and zoom in and out.
Scrolling Horizontally through a Chart 91

Scrolling horizontally through a chart allows viewing the parts of a data series that extend outside the visible range of the
Chart Window. Make sure that the Chart Window, containing the chart to be scrolled through, is selected as the active
window. A chart can be scrolled through only if the data series extends beyond the visible range.
To scroll through a chart use the scroll bar at the bottom of the Chart Window: position the mouse pointer over the "bar" of
the scroll bar, click and hold the left mouse button, and drag the "bar" to the left or to the right, or click the left or the right
button on the scroll bar; please note that the scroll bar will not appear if it is hidden in the Appearance settings.
A chart can also be scrolled through horizontally by one of the following methods:
· Use the mouse wheel to scroll through the chart; or:

· Click the Scroll Left or the Scroll Right icon on the Control toolbar; or:

· Position the mouse pointer over a data series; once the Pointer changes into a Hand , hold the left mouse
button and drag the chart to the right or to the left; or:

· Position the mouse pointer over the chart area and press and hold the space bar; once the Pointer changes into a

Horizontal Double-Headed Arrow , hold the left mouse button and drag the chart to the right or to the left; or:
· Use the Arrow Left and Arrow Right keys on the keyboard; or:
· Select Format in the main menu and click Scroll Left or Scroll Right.

Moving a Data Series Vertically 91

Make sure that the data series to be moved vertically is selected as the active series.

To move a series vertically in the chart click the Move Up or the Move Down icon on the Control toolbar.
A data series can also be moved vertically by one of the following methods:

· Position the mouse pointer over the price scale and press and hold the space bar; once the Pointer changes into

a Vertical Double-Headed Arrow , hold the left mouse button and drag the series up or down; or:
· Use the Arrow Up or the Arrow Down key on the keyboard; or:
· Select Format in the main menu and click Move Up or Move Down.

Adjusting Chart Scales 91

Horizontal chart scale can be adjusted by changing the bar spacing, and vertical scale by changing the price scale
compression.

Changing Bar Spacing 91

Make sure that the Chart Window containing the chart, the bar spacing of which is to be changed, is selected as the
active window.

To change the chart's bar spacing click the Decrease Bar Spacing or the Increase Bar Spacing icon
on the Control toolbar.
The chart's bar spacing can also be changed by one of the following methods:
· Position the mouse pointer over the time scale; hold the left mouse button and drag the pointer to the right or to

© 2009 TS Support, LLC


92 MultiCharts 5.5 User Guide

the left (the pointer will change into an Increase Spacing or Decrease Spacing symbol); or:
· Use Ctrl + Plus and Ctrl + Minus hotkey combinations; the numeric pad keys as well as the regular keyboard
keys can be used; or:
· Select Format in the main menu and click Increase Bar Spacing or Decrease Bar Spacing; or:
· Set Bar Spacing, in pixels, in the X - Time Scale tab of the Format Appearance window.

Displaying Entire Series 91

To display the entire data series select Format in the main menu and click Display Entire Series.

Changing Price Scale Compression 91

Make sure that the data series, the price scale compression of which is to be changed, is selected as the active
series.

To change the compression of a series' price scale click the Compress Price Scale or the Expand Price

Scale icon on the Control toolbar.


The series' price scale compression can also be changed by one of the following methods:
· Position the mouse pointer over the price scale; hold the left mouse button and drag the pointer up or down (the

pointer will change into an Expand or Compress symbol); or:


· Select Format in the main menu and click Compress Price Scale or Expand Price Scale.

Resetting Scales 91

Chart scales can be reset, canceling any changes made to the time scale (bar spacing) or the price scale (compression and
series vertical position).
Scales can be reset individually or both at once.

Resetting Both Scales 91

Make sure that the Chart Window containing the chart, the scales of which are to be reset, is selected as the active
window.

To reset both scales of a Chart Window click the Reset Scales icon on the Control toolbar.
Tip: Both scales can also be reset by selecting Format in the main menu and clicking Reset Scales.

Resetting Time Scale (Bar Spacing) 91

Make sure that the Chart Window containing the chart, the time scale of which is to be reset, is selected as the
active window.

To reset the time scale (bar spacing) of a Chart Window click the Reset Time Scale icon on the Control
toolbar.
The time scale (bar spacing) can also be reset by one of the following methods:
· Double-click on the time scale; or:
· Right-click on the time scale and then click Reset Scale; or:
· Select Format in the main menu and click Reset Time Scale.

Resetting Price Scale 91

Make sure that the Chart Window containing the chart, the price scale of which is to be reset, is selected as the
active window. Resetting cancels the price scale compression as well as any vertical displacement of the data
series.

To reset a Chart Window's price scale click the Reset Price Scale icon on the Control toolbar.
The compression of a chart's price scale can also be reset by one of the following methods:
· Double-click on the price scale; or:

© 2009 TS Support, LLC


MultiCharts | Using Charts 93

· Right-click on the price scale and then click Reset Scale; or:
· Select Format in the main menu and click Reset Price Scale.

Zooming In 91

To zoom in on a section of a chart:

1. Click the Zoom In icon on the Control toolbar, or select Format in the main menu and click Zoom In;

the Pointer will change into a Magnifying Glass .


2. Use the mouse pointer to define a rectangular zoom-in area on the chart: position the pointer in one corner of
the rectangle, hold the left mouse button, and drag the pointer diagonally across to the opposite corner; the
zoom-in area borders will be indicated during the selection.
3. Release the mouse button; the chart will zoom in on the defined rectangle.

There is no limit to the number of times a zoom-in can be performed within the same chart: to zoom in further, repeat steps
2 and 3; each zoom-in constitutes a "Zoom Step".
Zooming Out 91

To zoom out one "Zoom Step" click the Zoom Out icon on the Control toolbar, or select Format in the main menu
and click Zoom Out.
Each zoom-out reverses a single zoom-in step; to zoom out a step further, repeat the zoom-out again.
Note: The Zoom Out icon is enabled only if the chart is zoomed in.

© 2009 TS Support, LLC


94 MultiCharts 5.5 User Guide

4.5.3 Using Pointers

Using Pointers

A pointer is a movable marker that indicates a position on the screen and follows the movement of the mouse. Commands and
options can be selected by positioning the pointer over the desired choice and clicking a mouse button.
Two kinds of markers can be chosen: Conventional (Arrow) Pointer and Cross Pointer.
The pointers can be used in three modes: Hint, Cross, and Tracking.
Pointer 94

To choose the conventional mouse pointer, click the Pointer icon on the Chart Analysis toolbar.
The conventional mouse pointer can also be chosen by selecting View in the main menu and clicking Pointer.
Cross Pointer 94

Cross Pointer looks like the crosshairs of a target sight and is preferred by some users.

To choose the Cross Pointer, click the Cross Pointer icon on the Chart Analysis toolbar.
The Cross Pointer can also be chosen by selecting View in the main menu and clicking Cross Pointer.
Understanding Hint Modes 94

Chart Hint 94

A Chart Hint window displays the time, price, and other data specific to the pointer's position on a chart.
To show the Chart Hint window temporarily, click and hold the left mouse button while the mouse pointer is
positioned or dragged over a chart; once the mouse button is let go, the hint window will disappear.

To toggle the Chart Hint window on and off, click the Show Chart Hint icon on the Chart Analysis toolbar.
The Chart Hint window can also be toggled on and off by selecting View in the main menu and clicking Show Chart
Hint.
To toggle Hint windows between transparent and opaque modes select View in the main menu and click
Transparent Hint.

Drawing Hint 94

A Drawing Hint window appears next to the mouse pointer during the drawing operations, and displays the drawing
tool data specific to the pointer's position on a chart.
To toggle the Drawing Hint window on and off select View in the main menu and click Show Drawing Hint.
To toggle Hint windows between transparent and opaque modes select View in the main menu and click
Transparent Hint.

Cross Mode 94

The Cross mode aids in determining the pointer's position. The perpendicular lines of the "cross" reference the pointer's
exact location in respect to the axes, with the corresponding values displayed in the Labels on each axis.

To toggle the Cross mode on and off click the Show Cross icon on the Chart Analysis toolbar. The Cross mode can
also be toggled on and off by selecting View in the main menu and clicking Show Cross.
To toggle the Cross mode Labels between transparent and opaque modes select View in the main menu and click Solid
Labels.

Understanding Tracking Modes 94

Tracking modes can only be used in combination with the Cross mode. Tracking modes replicate the Cross mode
lines in all of the Workspace's Chart Windows in which the lines fall within the range of the chart.
The Labels are displayed in the original window only. A Tracking mode is also known as the Global Cursor. The
Tracking Time and Price mode replicates both Time and Price lines, and the Tracking Time mode replicates only
the Time line.

© 2009 TS Support, LLC


MultiCharts | Using Charts 95

Tracking Time and Price 94

In order to use a Tracking mode the Cross mode must first be enabled.
To toggle the Tracking Time and Price mode on and off click the Tracking Time and Price icon on the Chart
Analysis toolbar.
The Tracking Time and Price mode can also be toggled on and off by selecting View in the main menu, then
pointing to Tracking Settings and clicking Tracking Time and Price.
Note: The Tracking Time and Price icon is enabled only if the Cross mode is on.

Tracking Time 94

In order to use a Tracking mode the Cross mode must first be enabled.
To toggle the Tracking Time mode on and off select View in the main menu, then point to Tracking Settings and
click Tracking Time.
Note: Enabling the Tracking Time mode while the Tracking Time and Price mode is on will switch the mode
from Tracking Time and Price to Tracking Time.

© 2009 TS Support, LLC


96 MultiCharts 5.5 User Guide

4.5.4 Making Screenshots

Making Screenshots

An image of the active Chart Window can be copied to the clipboard for use in another application, saved as a file, or sent via
e-mail.
An image of the entire application window can also be saved as a file.
Copying Image to Clipboard 96

To copy an image of the active Chart Window to the clipboard:


Select File in the main menu and click Copy Image to Clipboard.
Tip: The clipboard image can now be pasted in another application.
Saving Image as File 96

To save an image of the active Chart Window or the entire application window as a file:
1. Select File in the main menu and click Save as Image.
2. In the Save as Image window that appears, choose the Active Window or the Application Window radio
button.
3. In the Reduce Image to drop-down list box select the size of the image to be saved, in percent; reducing the
image lowers the resolution and decreases the image file size.
4. Check the Show Image check box to display the image file once it has been saved.
5. Click OK.
6. In the Save As dialog box that appears, choose the file name and the image format type, and click the Save
button.
7. If the Show Image check box has been checked, the saved image will be displayed.

Sending Image via E-mail 96

To send an image of the active Chart Window via e-mail:


Select File in the main menu and click Send Image via E-mail; the computer's e-mail client will be started and a new e-
mail created with the image file already attached.

© 2009 TS Support, LLC


MultiCharts | Using Charts 97

4.5.5 Changing Visual Order

Changing Visual Order

When a number of objects are displayed in a single SubChart, the objects are displayed in "layers" – one object is in the
"front", the next is "behind" it, and so on. The order of the layers constitutes the Visual Order of the objects. The Visual Order
can be changed to prevent a thick line in the "front" layer from obscuring a thin line in the "back" layer.
The Visual order can be changed by two different methods:
Right-click on the chart area and then click Visual Order; in the Visual Order window that appears, select an object and use
the order buttons to change its visual order; or:

Position the mouse pointer over an object; once the Pointer changes into a Hand , right-click, then point to Visual
Order and use the shortcut menu order commands to change the visual order of the object.

Visual Order commands/buttons:


Bring to Front – the object will be placed in the front of all other objects
Send to Back – the object will be placed behind all other objects
Bring Forward – the object will be moved one layer to the front
Send Backward – the object will be moved one layer back

© 2009 TS Support, LLC


98 MultiCharts 5.5 User Guide

4.5.6 Printing Charts

Printing Charts

For a print preview:


Select File in the main menu and click Print Preview; page setup can be accessed, and the chart printed, directly from the
print preview window.

To print the chart in the active Chart Window:


Select File in the main menu and click Print, or use the Ctrl + P hotkey combination.

For the page setup:


Select File in the main menu and click Page Setup.

© 2009 TS Support, LLC


MultiCharts | Chart Window 99

4.6 Chart Window


4.6.1 Chart Appearance

Chart Appearance

The appearance of the following Chart Window elements can be customized from the Format Appearance Window:
Background 100

Background Color 100


Grid 100
Session Brakes 100
Chart Window 102

Setting SubChart Dividers 102


Title Bar 102
Setting Scroll Bar 102
Price Scale 105

Time Scale 107

Status Line 110

Volume Profile 113


Note: Changes to Chart Appearance settings will be applied to the Chart Window in real time.

© 2009 TS Support, LLC


100 MultiCharts 5.5 User Guide

4.6.2 Background

Setting Background

Chart Background consists of Background Color, Grid, and Session Break lines.
Setting Background Color 100

Background Color is set from the Format Window window:


1. Open the Format Window window.

How? 100

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Background tab.
3. In the Background Color section select one of the standard 40 colors from the palette box, or click the Other
button to create custom colors.
Tip: To use these background settings for all new charts, check Use as Default check box.
Setting Grid 100

Grid aids in the visual assessment of price levels and time increments. Grid Type and Color can be selected, or the Grid
can be hidden. The available Grid Types are: Point, Solid, Horizontal, Dotted, and Detailed Dotted.
Grid is set from the Format Window window:
1. Open the Format Window window.

How? 100

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Background tab.
3. In Show Grid section check the Show Grid check box to display the Grid on the chart; uncheck the box to hide
the Grid.
4. Select Grid type in the Type drop-down list box.
5. Select Grid color in the Color drop-down palette box.
Tip: To use these background settings for all new charts, check Use as Default check box.
Setting Session Breaks 100

Session Breaks are indicated on the chart by vertical lines. The lines' Color, Style, and Weight can be selected, or Session
Break lines can be hidden.
Session Breaks are set from the Format Window window:
1. Open the Format Window window.

How? 100

© 2009 TS Support, LLC


MultiCharts | Chart Window 101

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Background tab.
3. In Show Session Breaks section check Show Session Breaks check box to display the lines on the chart;
uncheck the box to hide the Session Break lines.
4. Select line color in the Color drop-down palette box.
5. Select line style in the Style drop-down list box.
6. Select line weight in the Weight drop-down list box; line weight can only be selected for the solid line style.
Tip: To use these background settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


102 MultiCharts 5.5 User Guide

4.6.3 Chart Window

Chart Window

The appearance of SubChart Dividers and of the Chart Window's Title Bar and Scroll Bar are set from the Format Window
window.
Setting SubChart Dividers 102

SubChart Dividers separate the SubCharts in the Chart Window. The Dividers' Style and Color can be selected, or Dividers
can be hidden.

Hiding and Redisplaying Dividers 102

SubChart Dividers are set from the Format Window window:


1. Open the Format Window window.

How? 102

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Chart Window tab.
3. In Show SubChart Dividers section, check Show SubChart Dividers check box to display the dividers;
uncheck the box to hide the dividers.
Tip: To use these settings for all new charts, check Use as Default check box.

Setting Line Divider 102

Line SubChart Divider consists of a flat line. The Color and Style of the line can be selected.
SubChart Dividers are set from the Format Window window:
1. Open the Format Window window.

How? 102

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Chart Window tab.
3. In Show SubChart Dividers section, check Show SubChart Dividers check box to display the Dividers.
4. Click the Line radio button.
5. Select line color in the Color drop-down palette box.
6. Select line style in the Style drop-down list box.
Tip: To use these settings for all new charts, check Use as Default check box.

Setting 3D Divider 102

3D SubChart Divider color and style are determined by the operating system appearance settings. SubChart Dividers
are set from the Format Window window:
1. Open the Format Window window.

© 2009 TS Support, LLC


MultiCharts | Chart Window 103

How? 102

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Chart Window tab.
3. In Show SubChart Dividers section, check Show SubChart Dividers check box to display the Dividers.
4. Click the 3D radio button.
Tip: To use these settings for all new charts, check Use as Default check box.
Setting Title Bar 102

A Title Bar is a horizontal bar, located at the top of a window and containing title text and maximize, minimize, and close
buttons. A window is moved by dragging its title bar with the mouse.
Chart Window Title Bar displays the name, resolution, and data source of the first data series that was added to the chart.
The Title Bar can be set to be hidden, displayed, or displayed only when the Chart Window is active (Auto-Hide).
Title Bar is set from the Format Window window:
1. Open the Format Window window.

How? 102

To open the Format Window window, click the Format Window icon on the Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Chart Window tab.
3. In the Title Bar section:
· Click the Off radio button to hide the Title Bar.
· Click the On radio button to display the Title Bar.
· Click the Auto-Hide radio button to auto-hide the Title Bar.
Tip: To use these settings for all new charts, check Use as Default check box.
Setting Scroll Bar 102

The Scroll Bar offers a fast and convenient method for viewing the parts of a data series that extend outside the visible
range of the Chart Window. The chart is scrolled through by positioning the mouse pointer over the “bar” of the Scroll Bar,
holding the left mouse button, and dragging the “bar” to the left or to the right, or by clicking move left or move right buttons
on the Scroll Bar.
The Scroll Bar can be set to be hidden, displayed, or displayed only when the Chart Window is active (Auto-Hide). Please
note that the Scroll Bar will only appear if the series actually extends beyond the visible range of the Chart Window.
Scroll Bar is set from the Format Window window:
1. Open the Format Window window.

How? 102

To open the Format Window window, click the Format Window icon on the Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:

© 2009 TS Support, LLC


104 MultiCharts 5.5 User Guide

- Select Format in the main menu and click Window.


2. Select the Chart Window tab.
3. In the Scroll Bar section:
· Click the Off radio button to hide the Scroll Bar.
· Click the On radio button to display the Scroll Bar.
· Click the Auto-Hide radio button to auto-hide the Scroll Bar.
Tip: To use these settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Window 105

4.6.4 Price Scale

Price Scale

The Price Scale is located on the left or/and on the right side of the chart and consists of a vertical Line with marks, indicating
values, and identified by Labels. The values on the scale are specific to the symbol or indicator plotted on the chart. The scale
represents the value range, within which the chart is plotted. To determine the value of a point on a chart, the vertical position
of the point is referenced to a value on the Price Scale.
Price Scale Line and Label styles can be set, or Price Scale and Labels can be hidden completely.
Price Scale Position 105

Price scale position can be set from the Format Window window:
1. Open the Format Window window.

How? 105

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Y - Price Scale tab.
3. In the Settings section, check Left or/and Right check boxes to display the scale on the left or/and on the right
side of the chart, respectively; uncheck both boxes to hide the Price Scale and Labels.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Price scale position can also be set by right-clicking on the price scale and then checking Left Price Scale or/and Right
Price Scale, to display the scale on the left or/and on the right side of the chart, respectively; uncheck both options to hide
the Price Scale and Labels.
Price Scale Style 105

Price scale style is set from the Format Window window:


1. Open the Format Window window.

How? 105

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Y - Price Scale tab.
3. In the Style section, select scale line color in the Line Color drop-down palette box.
4. Select scale line style in the Line Style drop-down list box.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Price Scale Labels 105

Price Scale Labels are set from the Format Window window:
1. Open the Format Window window.

How? 105

© 2009 TS Support, LLC


106 MultiCharts 5.5 User Guide

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Y - Price Scale tab.
3. In the Settings section, the Label Width is set for the Right or/and the Left scales individually:
· to determine label width automatically, click the Automatic radio button.
· to determine label width manually, click the Manual radio button and enter the desired width, in characters,
into the Characters textbox.

4. In the Style section, select label color in the Label Color drop-down palette box.
5. In the Font section, select label font in the Font drop-down list box.
6. In the Size section, select label font size in the Size drop-down list box.
7. In the Font Style section, check Bold, Italic, and/or Underline check boxes to select bold, italic, and/or
underline label font style.
Tip: To use these appearance settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Chart Window 107

4.6.5 Time Scale

Time Scale

The Time Scale is located at the bottom of the chart and consists of a horizontal Line with time stamp marks identified by
Labels. The increment (step size) between the labels is optimized dynamically to aid in the visual assessment of time stamp
data.
The values on the scale are specific to the resolution of the chart. The scale represents the data range, within which the chart
is plotted. To determine the time value of a point on a chart, the horizontal position of the point is referenced to a value on the
Time Scale. Chart's Bar Spacing, Right Margin, and Empty Periods settings affect the span of the scale displayed.
Bar Spacing and Right Margin can be set, and Empty Periods displayed or hidden. Time scale Line and Label styles can be
selected, or Time Scale and Labels can be hidden completely.
Setting Bar Spacing 107

Bar Spacing can be set from the Format Window window:


1. Open the Format Window window.

How? 107

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the X - Time Scale tab.
3. In the Settings section, in the Bar Spacing text box, enter the bar spacing, in pixels.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
The chart's bar spacing can also be changed by one of the following methods:

- Click the Increase Bar Spacing or the Decrease Bar Spacing icon on the Control toolbar; or:
- Use Ctrl + Plus and Ctrl + Minus hotkey combinations; the numeric pad keys as well as the regular keyboard keys can
be used; or:
- Select Format in the main menu and click Increase Bar Spacing or Decrease Bar Spacing.
Setting Right Margin 107

Studies that visualize the predicted price movement require a Right Margin on the chart.
Right Margin is set from the Format Window window:
1. Open the Format Window window.

How? 107

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the X - Time Scale tab.
3. In the Settings section, in the Right Margin text box, enter the right margin, in bars.
Tip: To use these appearance settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


108 MultiCharts 5.5 User Guide

Display of Empty Periods 107

Empty Periods occur when there is no market activity or a period of no data.


Empty Periods display is turned on or off from the Format Window window:
1. Open the Format Window window.

How? 107

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the X - Time Scale tab.
3. In the Settings section, check Show Empty Periods check box to display the empty periods on the chart;
uncheck the box to hide the empty periods.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Time Scale Line 107

Time Scale Line is set from the Format Window window:


1. Open the Format Window window.

How? 107

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the X - Time Scale tab.
3. In the Settings section, check Show Scale check box to display the scale; uncheck the box to hide the Time
Scale and Labels.
4. In the Style section, select scale line color in the Line Color drop-down palette box.
5. In the Style section, select scale line style in the Line Style drop-down list box.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Time Scale Labels 107

Time Scale Labels are set from the Format Window window:
1. Open the Format Window window.

How? 107

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the X - Time Scale tab.
3. In the Style section, select label text color in the Label Color drop-down palette box.

© 2009 TS Support, LLC


MultiCharts | Chart Window 109

4. In the Font section, select label font in the Font drop-down list box.
5. In the Size section, select label font size in the Size drop-down list box.
6. In the Font Style section, check Bold, Italic, and/or Underline check boxes to select bold, italic, and/or
underline label font style.
Tip: To use these appearance settings for all new charts, check Use as Default check box.

© 2009 TS Support, LLC


110 MultiCharts 5.5 User Guide

4.6.6 Status Line

Status Line

Status Line is located at the top of the chart and displays symbol information and market snapshots for the data series and
studies being plotted. Status Line Fields, Color, Font, and Style can be configured, or the Status Line can be hidden.
In Tracking Mode, Status Line tracks the position of the mouse pointer. The information is displayed for each series for only
the single bar, corresponding to the pointer’s current horizontal position along the time scale. If the mouse pointer is not
positioned over the chart, or if the Tracking Mode is not enabled, information displayed is for the series’ entire current trading
sessions.
In MultiLine Mode, a separate Status Line for each of the plotted series or studies is displayed at the top of the chart. If the
MultiLine Mode is not enabled, all information is displayed in a single Status Line.
Data series and studies can be Linked, Moved, and Deleted by using the Status Line Management Controls.
Status Line Mode 110

Status Line Mode is set from the Format Windowwindow:


1. Open the Format Window window.

How? 110

To open the Format Window window, click the Format Window icon on the Chart Analysis
toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
2. Select the Status Line tab.
3. In the Enable Status Line section:
· To enable the status line, check the Enable Status Line check box; uncheck the box to hide the status line.
· To enable the Tracking Mode, check the Enable Tracking Mode check box; uncheck the box to disable the
Tracking Mode.
· To enable the MultiLine Mode, check the Enable MultiLine Mode check box; uncheck the box to disable the
MultiLine Mode.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Status Line Fields 110

Status Line Fields are configured from the Format Window window:
3..1.Open the Format Window window.

How? 110

To open the Format Window window, click the Format Window icon on the
Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
3..2.Select the Status Line tab.
3..3.In the Enable Status Line section, select a field in the Status Line Fields scrolling list box.
· To display a field in the status line, check the check box next to the field’s name, or select the field and
click the Show button.
· To hide a field, uncheck the check box next to the field’s name, or select the field and click the Hide
button.

© 2009 TS Support, LLC


MultiCharts | Chart Window 111

· To change the order in which fields are displayed in the status line, select a field and use the Move Up
or Move Down buttons.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Status Line Style 110

Status Line Style is set from the Format Window window:


3..4.Open the Format Window window.

How? 110

To open the Format Window window, click the Format Window icon on the
Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
3..5.Select the Status Line tab.
3..6.In the Status Line Colors section, select a color for each text or value type in the Color drop-down
palette box.
3..7.In the Font section, select status line font in the Font drop-down list box.
3..8.In the Size section, select status line font size in the Sizedrop-down list box.
3..9.In the Font Style section, check Bold, Italic, and/or Underline check boxes to select bold, italic, and/or
underline status line font style.
Tip: To use these appearance settings for all new charts, check Use as Default check box.
Status Line Management Controls 110

It is possible to Delete, Move between SubCharts, and Link series and studies by using the Status Line.

Deleting Series or Study 110

Series or study can be deleted by using the Status Line:


3..10.To delete a series or indicator click the Remove button on the series status line; note that the
Remove button will not appear if it is hidden in the Status Line settings.
Important: Any series can be deleted, except for the data series that was added first (Data #1).

Moving Series or Study 110

A series or a study can be moved to another existing or new SubChart within the same Chart
Window.
3..11.To move a series to an existing SubChart, position the mouse pointer over the Status Line of the series

to be moved; once the Pointer changes into a Hand , hold the left mouse button and drag the
pointer to another SubChart. Release the mouse button to complete moving the series.
3..12.To move a series to a new SubChart, position the mouse pointer over the Status Line of the series to

be moved; once the Pointer changes into a Hand , hold the left mouse button and drag the
pointer to the upper or lower border of the Chart Window, or of another SubChart. Once the pointer

changes into the Create New SubChart symbol, release the mouse button to create a new
SubChart.

Symbol and Resolution Linking 110

It is possible to Link charts in groups based on the symbol name or resolution. Each group is identified
by one of 14 different colors. When any one chart of the linked group is changed, the changes will
automatically be applied to the rest of the linked charts. Different Chart Windows as well as SubCharts
within the same window can be linked.
Linking can save a considerable amount of time when working with complex workspaces.

© 2009 TS Support, LLC


112 MultiCharts 5.5 User Guide

Linking Charts by Symbol 110

When the symbol for any one chart of the linked group is changed, the changes will automatically
be applied to the rest of the linked charts.
3..13.To link a chart by symbol, click the Symbol Link button on the Status Line of the series to be
linked; please note that the Symbol Link button will not appear if it is hidden in the Status Line settings.
3..14.To assign the series to a Link Group, select the Link Group Color Code from the drop-down list.

3..15.To un-link the series, select Not Linked .

3..16.To link the series to all charts in all open Workspaces, select Linked to All .
Note: The resolution of the linked charts will not be affected. All studies or signals previously
applied to the chart will be recalculated for the new symbol. All manually placed drawing
objects will remain in their original location. Objects based on formula calculations (such
as signal arrows, etc.) may disappear if the new data series does not match the
calculation criteria.

Linking Charts by Resolution 110

When the resolution of any one chart of the linked group is changed, the changes will
automatically be applied to the rest of the linked charts.
Charts are linked from the Status Line:
3..17.To link a chart by resolution, click the Resolution Link button on the Status Line of the series to
be linked; please note that the Resolution Link button will not appear if it is hidden in the Status Line
settings.
3..18.To assign the series to a Link Group, select the Link Group Color Code from the drop-down list.

3..19.To un-link the series, select Not Linked .

3..20.To link the series to all charts in all open Workspaces, select Linked to All .
Note: The symbols of the linked charts will not be affected. All studies or signals previously
applied to the chart will be recalculated for the new resolution. All manually placed
drawing objects will remain in their original location. Objects based on formula
calculations (such as signal arrows, etc.) may disappear if the new data series does not
match the calculation criteria.

© 2009 TS Support, LLC


MultiCharts | Chart Window 113

4.6.7 Volume Profile

Volume Profile

Learn more about setting Volume Profile 88

© 2009 TS Support, LLC


114 MultiCharts 5.5 User Guide

4.6.8 Data Window

Data Window

The Data Window displays information about a specific bar on the chart. When the user points the mouse pointer at a bar on
the chart, the Data Window will automatically show data series information, strategy information, and indicator information.
The data series information will show the date and time stamp, price level of the mouse pointer, symbol name, open, high, low,
close, up volume, down volume, and bar number.
The strategy information will show the direction of the signal, quantity, and the entry/exit price.
The indicator information will show the indicator names and values.
Displaying Data Window 114

To display the Data Window:


· Select View from the main menu, then select Show Data Window, or
· Press CTRL+SHIFT+D, or

· Click the Data Window toolbar icon.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 115

4.7 Drawing Tools


4.7.1 Understanding Drawing Tools

Drawing Tools

Drawing tools are the objects one can draw on the chart to assist in the market analysis process. These tools allow traders to
make visual clues on a market's movements.
There are two different types of drawing objects:
Non-analytical - such as the Arc, Ellipse, Rectangle and others used to highlight the particular segment of a chart, or enter the
text as with the Text drawing tool.
Analytical - such as the Fibonacci tools, Gann tools, trend line and others used to analyze the necessary price data.
All drawing tools can be applied, moved, and formatted directly on a chart. Many drawing tools can be extended the right or left
to help analyze or highlight a new data on a chart. Some drawing tools can be cloned.
Drawing tools will be saved with the symbol. If drawing tools are applied to a symbol and the symbol is changed to a different
symbol, then the drawing tools will be saved with the old symbol. The new symbol will not have any drawing tools automatically
applied. If the symbol is changed back to the old symbol, then the saved drawing tools will be automatically applied.
Note: If the data series or resolution is changed the drawing tools will be displayed on the chart with the same time and
price coordinates.
Note: If a drawing tool is applied to a data series and the data series is deleted, then the drawing tool will also be
deleted. If a drawing tool is applied to a data series and the data series is hidden, then the drawing tool will also
be hidden.
Inserting Drawing Tools 115

In MultiCharts it is possible to apply the several similar drawing tools to the same chart. In this case each instance of the
drawing tool has its own format settings.
There are 3 ways to insert a drawing tool:
1. In the menu select Insert, point to Drawing and select the desired drawing tool.

2. Click the arrow next to the Drawing tools icon on the Main toolbar and select the desired drawing tool
from the menu.
3. Click the icon of the desired drawing tool on the Drawing toolbar.

Read more about inserting in the corresponding topics devoted to each drawing tool.
Note:
To display or hide the Drawing toolbar click the Drawing tools icon.
Operating Drawing Tools 115

In MultiCharts it is possible to format, move, reshape, clone, remove, hide and redisplay (change the status) the drawing
tools.
Note: Moving, cloning, and reshaping can be performed directly from a chart ONLY.
Note: Hiding and redisplaying (changing the status) as well as getting information about drawing tools applied can be
performed in the Format Objects window ONLY.
Note: Formatting and removing can be performed directly from a chart as well as in the Format Objects window.
Note: It is easier to format or remove drawing tools from the Format Objects window in case many objects are
displayed in the chart.

Accessing Format Objects Window 115


1. Right-click in any part of the Chart Area (except for the data series).
2. Select the Format Drawings… from the shortcut menu.
3. The Format Objects window will appear.
4. Select the Drawings tab.
5. Select the drawing tool that is to be formatted and press the Format… button.

Or

© 2009 TS Support, LLC


116 MultiCharts 5.5 User Guide

1. Click the Format Symbol icon on the Main toolbar.


2. The Format Objects window will appear.
3. Select the Drawings tab.
4. Select the drawing tool that is to be formatted and press the Format… button.

Getting Information about Applied Drawing Tools 115

The general information about all drawing tools applied to the given Chart Window is displayed in the Format
Objects window:
Status: In the Status column the status of a drawing tool is displayed which can be either on (when the drawing tool
is displayed), or off (when the drawing tool is hidden).
Number: Each drawing tool has its own number that is shown in the Number column.
Name: In the Name column the names of all applied drawing tools are shown.
Base Data: The symbols to which the drawing tools are applied appear in the Base Data column.
Subchart: One can see to which subchart the particular drawing tool is applied in the Subchart column or, if the
subchart is hidden, there will be written that the drawing tool is hidden.

Formatting Drawing Tool 115

Each instance of a drawing tool has its own Format window. The title of a drawing tool and its number (if there are 2
or more similar drawing tools in the same Chart Window) are shown in the titlebar of each Format window.
Read more about formatting in the corresponding topics devoted to each drawing tool.

Removing Drawing Tool 115

To remove a drawing tool:


1. Drag the cursor to the drawing tool that is to be removed.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Remove Drawing from the shortcut menu.

Or
1. In the Format Objects window select the Drawings tab.
2. Select the drawing tool that is to be removed and press the Remove button.
3. Press the Close button to close the Format Objects window.

Removing All Drawing Tools 115

To remove all drawing tools from the chart:


1. Right-click in any part of the Chart Area (except for the data series).
2. Select Remove All Drawings from the shortcut menu.

Changing Drawing Tool Status 115

To display or hide a drawing tool:


1. In the Format Objects window select the Drawings tab.
2. Select the drawing tool that is to be hidden or displayed and press the Status button.
3. Press the Close button to close the Format Objects window.

Cloning Drawing Tools 115

To clone a drawing tool (if applicable):


1. Drag the cursor to the drawing tool that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.
Note: The Time Line, Regression Channel, Fibonacci Time Zones, Fibonacci Trend-based Time Lines and

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 117

Retracement Calculator can not be cloned.

Alerts 115

Alert is a visual or/and audio notification triggered when the market price touches the line of a drawing tool.
Alerts on Drawing Tools are set up in the same way as they are on Indicators.
Please refer to the Alerts 188 section to get more info.
E-mail alerts are available only for the following drawing tools:
· Andrew's Pitchfork
· Equidistant
· Fibonacci Retracement Price Lines
· Fibonacci Speed Resistance Fan
· Fibonacci Trend Based Price Extension Lines
· Gann Fan
· Horizontal Line
· Time Line
· Trend Line
· Regression Channel

Configuring Fractional Price Scale Format for Drawings 115

If a drawing is applied to a symbol whose price scale is in fractional format, then the price values of the drawing will
also be in fractional format.
If a drawing is applied to a study whose price scale is in fractional format, then the price values of the drawing will
also be in fractional format.

© 2009 TS Support, LLC


118 MultiCharts 5.5 User Guide

4.7.2 Trend Line

Trend Line

A Trend Line is an analytical drawing tool used to indicate the direction of price movement. The upward trend line is called
bullish, the downward trend line is called bearish. A trend reversal may take place if a market moves away from its current
trend. The Trend Line can be represented as a Ray Line or as an Extended Line.
Ray Line - is a trend line that can be extended to the right only. It is an analytical drawing tool used to indicate the possible
future direction of the price movement.
Extended Line - is a trend line that is extended to the left and to the right. It is an analytical drawing tool used to indicate the
past and future direction of the price movement.
Inserting Trend Line 118

1. Select one of three ways to insert a Trend line:


a) In the menu select Insert, point to Drawing and click Trend Line.

b) Click the Trend line icon on the Drawing toolbar.

c) Click the arrow next to the Drawing tools icon on the Main toolbar and select Trend Line from the menu.

2. The cursor will change to the Trend line .


3. In the Chart Area click where the Trend line is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Trend line.
5. Release the button.

Moving Trend Line 118

To move a Trend line without changing its slope or length:


1. Point the cursor at the Trend line that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the Trend line to the desired position.
4. Release the button.

Reshaping Trend Line 118

To reshape a Trend line (change its slope or length):


1. Point the cursor at the Trend line that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Trend line and 2 small squares will appear at both ends of the Trend line.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.

Formatting Trend Line 118

In MultiCharts one can change the settings of the Trend Line. All the changes are performed in the Format Trend Line
window.
Each instance of a Trend line has its own Format window. The number (if there are 2 or more Trend lines in the same
Chart Window) are shown in the titlebar of each Format Trend Line window.
One can change the style of the Trend line: its color, style and weight. One can choose any element of the Trend line to be
displayed or hidden. It is possible to extend the Trend line to the left or/and to the right. One can also select one of 4
calculation types available to compute a Trend line. It is also possible to change the time and price coordinates of the Trend
line.

Setting Style 118

1. Access the Format Trend Line window.

How? 118

To access the Format Trend Line window:

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 119

1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Trend Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Trend line that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Others… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other Trend lines.
7. Click OK.

Extending Trend Line to Left or Right 118

1. Access the Format Trend Line window.

How? 118

To access the Format Trend Line window:


1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Trend Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Trend line that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Extend section check the Left or/and Right check boxes to extend the Trend line to the left or/and right.
4. Check the Use as Default check box to use these settings as the default settings when creating other Trend lines.
5. Click OK.

Setting Calculation Type 118

1. Access the Format Trend Line window.

How? 118

To access the Format Trend Line window:


1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Trend Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Trend line that is to be formatted and press the Format… button.

© 2009 TS Support, LLC


120 MultiCharts 5.5 User Guide

2. Select the Properties tab.


3. In the Calculation type section select desired calculation type:
Freestyle - allows drawing a trend line in any angle and in any position. Using this calculation type one can select
the desired time and price coordinates.
Note. Both time and price coordinates are available for this calculation type.
Extreme - allows drawing a trend line attached to the extreme values of the beginning and ending bars included in
the trend line.
Note. Only time coordinates are available for this calculation type.
Fixed Point - allows drawing a trend line attached to a defined price (Open, High, Low or Close) of the beginning
and ending bars included in the trend line. One should select the desired bar price type from the Fixed point drop-
down list.
Note. Only time coordinates are available for this calculation type.
Regression - allows drawing a trend line as a linear regression line based on the bar price selected for all bars
included in the trend line. One should select the desired bar price type from the Regression drop-down list to
calculate the linear regression line.
Note. Only time coordinates are available for this calculation type.
4. Click OK.

Setting Coordinates Precisely 118

1. Access the Format Trend Line window.

How? 118

To access the Format Trend Line window:


1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Trend line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Trend Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Trend line that is to be formatted and press the Format… button.
2 Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Trend Line 118

To clone a Trend line:


1. Drag the cursor to the Trend line that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 121

4.7.3 Horizontal Line

Horizontal Line

A Horizontal Line is an analytical drawing tool used to indicate price levels as well as the support and resistance levels.
However, you should apply other analysis techniques to confirm price breakouts and make more precise decisions.
Inserting Horizontal Line 121

1. Select one of three ways to insert a Horizontal line:


a) In the menu select Insert, point to Drawing and click Horizontal Line.

b) Click the Horizontal Line icon on the Drawing toolbar.

c) Click the arrow next to the Drawing tools icon on the Main toolbar and select Horizontal Line from the menu.

2. The cursor will change to the Horizontal line .


3. In the Chart Area click where the Horizontal line to begin.
4. Release the button.
Moving Horizontal Line 121

To move a Horizontal Line:


1. Point the cursor at the Horizontal line that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Formatting Horizontal Line 121

In MultiCharts one can change the settings of the Horizontal line. All the changes are performed in the Format Horizontal
Line window.
Each instance of a Horizontal line has its own Format window. The number (if there are 2 or more Horizontal lines in the
same Chart Window) are shown in the titlebar of each Format Horizontal Line window.
One can change the settings of the Horizontal line: its color, style and weight. One can also choose to show or not the
labels, select their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the
labels. If shown the labels can be displayed to the left, to the right, or in the middle of the Horizontal line. It is also possible
to change the price coordinate of the Horizontal line.

Setting Style 121

1. Access the Format Horizontal Line window.

How? 121

To access the Format Horizontal Line window:


1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Horizontal Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Horizontal line that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Others… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other Horizontal

© 2009 TS Support, LLC


122 MultiCharts 5.5 User Guide

lines.
7. Click OK.

Setting Labels 121

1. Access the Format Horizontal Line window.

How? 121

To access the Format Horizontal Line window:


1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Horizontal Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Horizontal line that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. Check the Use as Default check box to use these settings as the default settings when creating other Horizontal
lines.
11. Click OK.

Setting Coordinates Precisely 121

1. Access the Format Horizontal Line window.

How? 121

To access the Format Horizontal Line window:


1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Horizontal line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Horizontal Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Horizontal line that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired price coordinate in the Value field.
4. Click OK.
Cloning Horizontal Line 121

To clone a Horizontal line:


1. Drag the cursor to the Horizontal line that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 123

3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


124 MultiCharts 5.5 User Guide

4.7.4 Time Line

Time Line

A Time Line is a non-analytical drawing tool used to show on the time axis the desired moment of time, the beginning or the
end of the needed period of time.
Inserting Time Line 124

1. Select one of three ways to insert a Time line:


a) In the menu select Insert, point to Drawing and click Time Line.

b) Click the Time line icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Time Line from the menu.

2. The cursor will change to the Time line .


3. In the Chart Area click where the Time line to begin.
4. Release the button.
Moving Time Line 124

To move a Time line:


1. Point the cursor at the Time line that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Formatting Time Line 124

In MultiCharts one can change the settings of the Time Line. All the changes are performed in the Format Time Line
window.
Each instance of a Time line has its own Format window. The number (if there are 2 or more Time lines in the same Chart
Window) are shown in the titlebar of each Format Time Line window.
One can change the settings of the Time line: its color, style and weight. One can also choose to show or not the labels,
select their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the labels. If
shown the labels can be displayed horizontally or vertically and placed at the top, center or bottom of the Time line. One
can also change the time coordinate of the Time line.

Setting Style 124

1. Access the Format Time Line window.

How? 124

To access the Format Time Line window:


1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Time Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Time line that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Others… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other Time lines.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 125

7. Click OK.

Setting Labels 124

1. Access the Format Time Line window.

How? 124

To access the Format Time Line window:


1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Time Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Time line that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. From the Orientation drop-down list select the desired orientation to display labels horizontally or vertically.
11. Check the Use as Default check box to use these settings as the default settings when creating other Time
lines.
12. Click OK.

Setting Coordinates Precisely 124

1. Access the Format Time Line window.

How? 124

To access the Format Time Line window:


1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Time line that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Time Line'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Time line that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinate in the Date field or use the drop-down calendar.
4. Click OK.

© 2009 TS Support, LLC


126 MultiCharts 5.5 User Guide

4.7.5 Regression Channel

Regression Channel

The Regression Channel is an analytical drawing tool used to precisely define a price trend and its boundaries with regard to
the support and resistance levels. To create the Regression Channel two parallel equidistant lines are drawn above and below
a linear regression regression channel that is based on a user specified price (High, Low, Open, Close). The bottom line is the
support level, and the top line - the resistance level. All these channels are based on the linear regression regression channel.
Prices may extend outside the channel for a short period of time. But if prices stay outside the Regression Channel for a long
period of time, a reversal trend may occur.
The distance of the channel lines from the median regression line is based on either:
1. The highest point among the peaks and lowest point among the troughs between the points upon which the median
regression line is drawn.
2. A user specified number of standard deviations above/below the median regression line.
3. The maximal upward or downward oscillation.
4. A user specified number of standard errors above/below the median regression line.
Markets tend to have a "balancing point" that is a point towards which prices tend to move. The Regression analysis allows you
to determine this "balancing point". On the other hand, the Standard Error analysis helps determine the "extreme points".
In MultiCharts there are 4 types of regression channels:
1. Segment High-Low.
2. Standard Deviation.
3. Raff Regression.
4. Standard Error.
Inserting Regression Channel 126

1. Select one of three ways to insert the Regression Channel:


a) In the menu select Insert, point to Drawing and click Regression Channel.

b) Click the Regression channel icon on the Drawing toolbar.

c) Click the arrow next to the Drawing tools icon on the Main toolbar and select Regression Channel from the
menu.

2. The cursor will change to the Regression channel .


3. In the Chart Area click where the Regression Channel is to begin.
4. Then keeping the left mouse button pressed move the pointer left or right to position the Regression Channel.
5. Release the button.
Moving Regression Channel 126

To move a Regression Channel without changing its period length:


1. Point the cursor at the Regression Channel that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Regression Channel 126

To reshape a Regression Channel (change its length):


1. Point the cursor at the Regression Channel that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Regression Channel and 2 small squares will appear at both ends of the regression line.
4. Drag one of these squares till the drawing tool becomes of the desired shape. Keep in mind that the Regression Channel
will dynamically calculate the regression.
5. Release the button.
Formatting Regression Channel 126

In MultiCharts one can change the settings of the Regression Channel. All the changes are performed in the Format
Regression Channel window.
Each instance of a Regression channel has its own Format window. The number (if there are 2 or more Regression
channels in the same Chart Window) are shown in the titlebar of each Format Regression Channel window.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 127

One can change the settings of a Regression Channel: the color, style and weight of the Regression, Upper Channel and
Lower Channel lines. It is possible to extend the Regression Channel to the left or/and to the right. One can choose to show
or not the labels and select their font, its style and size, and the character set. It is possible to apply the strikeout or
underline effects. If shown the labels can be displayed to the left or to the right of the Upper Channel and Lower Channel
lines. One can also select one of 4 calculation types available to compute the Regression Channel and the price types to
compute the regression line. It is also possible to change the time coordinates of the Regression Channel.

Setting Style 126

1. Access the Format Regression Channel window.

How? 126

To access the Format Regression Channel window:


1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Regression Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Regression channel that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Regression channel check or uncheck the Regression, Upper Channel or
Lower Channel check boxes.
4. In the Color column, using the drop-down lists, select the desired colors of the preset 40 colors for the
Regression, Upper Channel or Lower Channel lines or click the Others… button to select the custom colors.
5. In the Style column, using the drop-down lists, select the desired styles for the Regression, Upper Channel or
Lower Channel lines.
6. In the Weight column, using the drop-down lists, select the desired weights for the Regression, Upper Channel or
Lower Channel lines.
7. Check the Use as Default check box to use these settings as the default settings when creating other Regression
Channels.
8. Click OK.

Extending Regression Channel to Left or Right 126

1. Access the Format Regression Channel window.

How? 126

To access the Format Regression Channel window:


1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Regression Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Regression channel that is to be formatted and press the Format… button.
2. Select the Data tab.
3. In the Extend section check the Left or/and Right check boxes to extend the Regression channel to the left or/
and right.
4. Check the Use as Default check box to use these settings as the default settings when creating other Regression
Channels.
5. Click OK.

© 2009 TS Support, LLC


128 MultiCharts 5.5 User Guide

Setting Labels 126

1. Access the Format Regression Channel window.

How? 126

To access the Format Regression Channel window:


1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Regression Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Regression channel that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. Check the Use as Default check box to use these settings as the default settings when creating other
Regression Channels.
11. Click OK.

Setting Calculation Type 126

1. Access the Format Regression Channel window.

How? 126

To access the Format Regression Channel window:


1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Regression Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Regression channel that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Regression Line section, using the Based on drop-down list, select the price on which the regression line
is based.
4. In the Calculation section select the desired calculation type. There are 4 calculation types:
Segment High/Low
Raff Regression
Standard Deviation
Note. Using this type one should specify the number of standard deviations to plot the Upper and Lower Channel
lines.
Standard Error
Note. Using this type one should specify the number of standard errors to plot the Upper and Lower Channel lines.
5. Check the Use as Default check box to use these settings as the default settings when creating other Regression
Channels.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 129

6. Click OK.

Setting Coordinates Precisely 126

1. Access the Format Regression Channel window.

How? 126

To access the Format Regression Channel window:


1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Regression channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Regression Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Regression channel that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendar.
4. Check the Use as Default check box to use these settings as the default settings when creating other Regression
Channels.
5. Click OK.

© 2009 TS Support, LLC


130 MultiCharts 5.5 User Guide

4.7.6 Equidistant Channel

Equidistant Channel

The Equidistant Channel is an analytical drawing tool used to indicate the support and resistance levels for the price ranges
contained in it. The narrower the Equidistant Channel is, the less volatile is the market.
The Equidistant Channel is represented by parallel equidistant lines and may be of several variations:
Parallel Lines - are trend lines used to delineate the Equidistant Channel in which the market trades. The upper horizontal line
is the resistance line. The lower horizontal line is the support line. If either of these lines is penetrated there may occur a price
breakout.
Extended Parallel Lines - are the parallel trend lines extended to the left and to the right. They delineate the Equidistant
Channel in which the market trades and show the past and future direction of the price movement.
Ray Parallel Lines - are the parallel trend lines extended to the right only. They delineate the Equidistant Channel in which the
market trades and show the possible future direction of the price movement.
Horizontal Parallel Lines - are parallel lines used to delineate the Equidistant Channel in which the market trades, especially
when it is a sideway market and there is no significant price movements. The upper horizontal line is the resistance line. The
lower horizontal line is the support line. If either of these lines is penetrated there may occur a price breakout.
Inserting Equidistant Channel 130

1. Select one of three ways to insert the Equidistant Channel:


a) In the menu select Insert, point to Drawing and click Equidistant Channel.

b) Click the Equidistant Channel icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Equidistant Channel from the
menu.

2. The cursor will change to the Equidistant channel .


3. In the Chart Area click where the Equidistant Channel is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Equidistant Channel.
5. Release the button.
Moving Equidistant Channel 130

To move an Equidistant Channel without changing the distance between the equidistant lines or their slope:
1. Point the cursor at the Equidistant Channel that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Equidistant Channel 130

To reshape an Equidistant Channel (change the distance between the equidistant lines or the slope of the Equidistant
Channel):
1. Point the cursor at the Equidistant Channel that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Equidistant Channel and 3 small squares will appear on the equidistant lines.
4. To change the distance between the equidistant lines, drag the square located on the upper line and release the button.
5. To change the slope of the Equidistant Channel, drag one of 2 squares located on the lower line and release the button.
Formatting Equidistant Channel 130

In MultiCharts one can change the settings of the Equidistant Channel. All the changes are performed in the Format
Equidistant Channel window.
Each instance of a Equidistant channel has its own Format window. The number (if there are 2 or more Equidistant
channels in the same Chart Window) are shown in the titlebar of each Format Equidistant Channel window.
One can change the settings of the Equidistant Channel: its color, style and weight. It is possible to extend the equidistant
lines to the left or/and to the right. One can also change the distance between the lines and their direction. Moreover, more
than 2 lines can be reflected. It is also possible to change the time and price coordinates of the Equidistant Channel.

Setting Style 130

1. Access the Format Equidistant Channel window.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 131

How? 130

To access the Format Equidistant Channel window:


1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Equidistant Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Equidistant channel that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Others… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other Equidistant
Channels.
7. Click OK.

Extending Equidistant Channel to Left or Right 130

1. Access the Format Equidistant Channel window.

How? 130

To access the Format Equidistant Channel window:


1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Equidistant Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Equidistant channel that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Extend section check the Left or/and Right check boxes to extend the equidistant lines to the left or/and
right.
4. Check the Use as Default check box to use these settings as the default settings when creating other Equidistant
Channels.
5. Click OK.

Setting Calculation Properties 130

1. Access the Format Equidistant Channel window.

How? 130

To access the Format Equidistant Channel window:


1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Equidistant channel that is to be formatted.

© 2009 TS Support, LLC


132 MultiCharts 5.5 User Guide

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Equidistant Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Equidistant channel that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Channel section enter the desired distance between the lines in the Distance field.
4. In the Channel section select the desired direction from the Direction drop-down list.
5. In the Channel section enter the desired number of reflections in the Reflection field or select it.
6. Check the Use as Default check box to use these settings as the default settings when creating other Equidistant
Channels.
7. Click OK.

Setting Coordinates Precisely 130

1. Access the Format Equidistant Channel window.

How? 130

To access the Format Equidistant Channel window:


1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Equidistant channel that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Equidistant Channel'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Equidistant channel that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Check the Use as Default check box to use these settings as the default settings when creating other Equidistant
Channels.
6. Click OK.
Cloning Equidistant Channel 130

To clone an Equidistant channel:


1. Drag the cursor to the Equidistant channel that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 133

4.7.7 Andrews' Pitchfork

Andrews' Pitchfork

This tool was developed by Alan Andrews. Andrews' Pitchfork consists of three parallel lines usually drawn from three
consecutive major peaks or troughs. The three parallel lines formed by Andrews' Pitchfork can help predict channels of support
and resistance in a trending market.
The three trend lines are drawn as follows:
1. The first centerline at the left-most point that you selected and it passes right between the right-most points. This centerline
is known as the handle of the pitchfork.
2. The second and the third trend lines begin at the right-most points and are drawn parallel to the centerline. These trend lines
are known as the tines of the pitchfork.
Inserting Andrews' Pitchfork 133

1. Select one of three ways to insert Andrews' Pitchfork:


a) In the menu select Insert, point to Drawing and click Andrews' Pitchfork.

b) Click the Andrews' Pitchfork icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Andrews' Pitchfork from the
menu.

2. The cursor will change to the Andrews' Pitchfork .


3. In the Chart Area click where the pitchfork's handle is to begin.
4. In the Chart Area click where the first tine is to begin.
5. In the Chart Area click where the second tine is to begin.
Moving Andrews' Pitchfork 133

To move Andrews' Pitchfork without changing its shape:


1. Drag the cursor to Andrews' Pitchfork that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Andrews' Pitchfork 133

To reshape Andrews' Pitchfork (change its direction or the distance between its tines):
1. Drag the cursor to Andrews' Pitchfork that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click Andrews' Pitchfork and 3 small squares will appear at the handle and the tines of the pitchfork.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Andrews' Pitchfork 133

In MultiCharts one can change the settings of Andrews' Pitchfork. All the changes are performed in the Format Andrews'
Pitchfork window.
Each instance of an Andrews' pitchfork has its own Format window. The number (if there are 2 or more Andrews' pitchforks
in the same Chart Window) are shown in the titlebar of each Format Andrews' Pitchfork window.
One can change the settings of Andrews' Pitchfork: the color, style and weight of the handle, base and the tines. One can
choose any element of the pitchfork to be displayed or hidden. It is also possible to change the time and price coordinates
of Andrews' Pitchfork.

Setting Style 133

1. Access the Format Andrews' Pitchfork window.

How? 133

To access the Format Andrews' Pitchfork window:


1. Drag the cursor to the Andrews' pitchfork that is to be formatted.

© 2009 TS Support, LLC


134 MultiCharts 5.5 User Guide

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Andrews' pitchfork that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Andrews' Pitchfork'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Andrews' pitchfork that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the pitchfork check or uncheck the Handle, Base, Tine 1 or Tine 2 check
boxes.
4. In the Color column, using the drop-down lists, select any of the preset 40 colors for the handle, base and tines or
click the Others… button to select the custom colors.
5. In the Style column, using the drop-down lists, select the desired styles for the handle, base and tines.
6. In the Weight column, using the drop-down lists, select the desired weights for the handle, base and tines.
7. Check the Use as Default check box to use these settings as the default settings when creating other Andrews'
Pitchforks.
8. Click OK.

Setting Coordinates Precisely 133

1. Access the Format Andrews' Pitchfork window.

How? 133

To access the Format Andrews' Pitchfork window:


1. Drag the cursor to the Andrews' pitchfork that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Andrews' pitchfork that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Andrews' Pitchfork'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Andrews' pitchfork that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Handle Date, Tine 1 Date and Tine 2 Date
fields or use the drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Handle Value, Tine 1 Value and Tine 2
Value fields.
5. Click OK.
Cloning Andrews' Pitchfork 133

To clone an Andrews' Pitchfork:


1. Drag the cursor to the Andrews' pitchfork that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 135

4.7.8 Fibonacci Retracement Price Lines

Fibonacci Retracement Price Lines

Fibonacci Retracement Price Lines are an analytical drawing tool used to examine the support and resistance levels as well as
price breakouts. First, a trend line between two extreme points - a trough and opposing peak - is drawn. Then a series of
horizontal lines is drawn. These lines intersect the trend line at the Fibonacci levels or at the selected distance percentages
between the beginning and the end of this trend line. Some of the lines might not be visible, because of the scale limitations of
the chart window.
Inserting Fibonacci Retracement Price Lines 135

1. Select one of three ways to insert the Fibonacci Retracement Price Lines:
a) In the menu select Insert, point to Drawing and then to Fibonacci Tools and click Retracement Price Lines.

b) Click the Fibonacci Retracement Price Lines icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Fibonacci Tools and select
Retracement Price Lines.

2. The cursor will change to the Fibonacci retracement price lines .


3. In the Chart Area click where the Fibonacci Retracement Price Lines are to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Fibonacci
Retracement Price Lines.
5. Release the button.
Moving Fibonacci Retracement Price Lines 135

To move the Fibonacci Retracement Price Lines without changing the shape of the drawing tool:
1. Point the cursor at the Fibonacci Retracement Price Lines to move the drawing tool.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Fibonacci Retracement Price Lines 135

To reshape the Fibonacci Retracement Price Lines (change the trend line slope, the distance between the Retracement
Price Lines, or their length):
1. Point the cursor at the Fibonacci Retracement Price Lines to reshape the drawing tool.

2. The cursor Pointer will change into Hand .


3. Left-click the Fibonacci Retracement Price Lines and 2 small squares will appear at both ends of the trend line.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Fibonacci Retracement Price Lines 135

In MultiCharts one can change the settings of the Fibonacci Retracement Price Lines. All the changes are performed in the
Format Fibonacci Retracement Price Lines window.
Each instance of a Fibonacci retracement price lines has its own Format window. The number (if there are 2 or more
Fibonacci retracement price lines instances in the same Chart Window) are shown in the titlebar of each Format Fibonacci
Retracement Price Lines window.
One can change the settings of the Fibonacci Retracement Price Lines: the color, style and weight of the trend line and the
Retracement Price lines (up to 12 lines are available). It is possible to specify the desired distance percentages on which
the Retracement Price lines are based or the Fibonacci percentages can be used. One can extend the Retracement Price
lines to the left or to the right. One can also choose to show or not the labels (price or/and value), select their font, style,
size and the character set. It is possible to apply the strikeout or underline effects to the labels. If shown the labels can be
displayed to the left, right or in the middle of the Fibonacci Retracement Price Lines. It is possible to specify the time and
price coordinates.

Setting Style 135

1. Access the Format Fibonacci Retracement Price Lines window.

How? 135

© 2009 TS Support, LLC


136 MultiCharts 5.5 User Guide

To access the Format Fibonacci Retracement Price Lines window:


1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Retracement Price Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci retracement price lines instance that is to be formatted and press the Format…
button.
2. Select the Data tab.
3. To display or hide any elements of the Fibonacci Retracement Price Lines check or uncheck the corresponding
check boxes.
4. In the Price column select the corresponding cells and enter the desired values. These values determine at what
points the parallel price lines intersect the trend line.
5. In the Color column using the drop-down lists select any of the preset 40 colors for the lines or click the Others…
button to select the custom colors.
6. In the Style column using the drop-down lists select the desired styles for the lines.
7. In the Weight column using the drop-down lists select the desired weights for the lines.
8. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Retracement Price Lines.
9. Click OK.

Extending Fibonacci Retracement Price Lines to Left or Right 135

1. Access the Format Fibonacci Retracement Price Lines window.

How? 135

To access the Format Fibonacci Retracement Price Lines window:


1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Retracement Price Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci retracement price lines instance that is to be formatted and press the Format…
button.
2. Select the Data tab.
3. In the Extend section check the Left or/and Right check boxes to extend the Retracement Price lines to the left
or/and right.
4. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Retracement Price Lines.
5. Click OK.

Setting Labels 135

1. Access the Format Fibonacci Retracement Price Lines window.

How? 135

To access the Format Fibonacci Retracement Price Lines window:


1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 137

Or
1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Retracement Price Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci retracement price lines instance that is to be formatted and press the Format…
button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. Check the Show Price or/and Show Percent Value check boxes to show price or/and percent labels.
11. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Retracement Price Lines.
12. Click OK.

Setting Coordinates Precisely 135

1. Access the Format Fibonacci Retracement Price Lines window.

How? 135

To access the Format Fibonacci Retracement Price Lines window:


1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci retracement price lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Retracement Price Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci retracement price lines instance that is to be formatted and press the Format…
button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Fibonacci Retracement Price Lines 135

To clone a Fibonacci retracement price lines:


1. Drag the cursor to the Fibonacci retracement price lines instance that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


138 MultiCharts 5.5 User Guide

4.7.9 Fibonacci Speed/Resistance Fan

Fibonacci Speed/Resistance Fan

Fibonacci Speed/Resistance Fan is an analytical drawing tool used to indicate the support and resistance levels of an existing
trend and the price level at which possible changes (rise or fall) in the trend may occur. First, a trend line between two extreme
points - a trough and opposing peak - is drawn. Then an invisible vertical line is drawn through the second extreme point. Lines
are drawn from the first extreme point and intersect the invisible vertical line at the selected time/price percentages of the
distance between the beginning and the end of this line. The most common percentages are 1/3 and 2/3, but you can draw up
to 11 lines based on any selected distance percentages as well as on the Fibonacci percentages. Some of the lines might not
be visible, because of the scale limitations of the chart window.
These lines can indicate the support and resistance levels of an existing trend. Usually the price remains above the higher
speed line. If the higher line is penetrated, prices generally fall to the lower speed line, which, in many cases, becomes the
support level. If prices break below the higher speed line, fall to the lower line, and then begin to rise, the lower speed line
becomes the resistance level.
Note. Fibonacci Arcs and Fibonacci Fan lines are sometimes used together to anticipate support and resistance as the
Fibonacci studies may intersect.
Inserting Fibonacci Speed/Resistance Fan 138

1. Select one of three ways to insert the Fibonacci Speed/Resistance Fan:


a) In the menu select Insert, point to Drawing and then to Fibonacci Tools and click Speed/Resistance Fan.

b) Click the Fibonacci Speed/Resistance Fan icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Fibonacci Tools and select
Speed/Resistance Fan.

2. The cursor will change to the Fibonacci speed/resistance fan .


3. In the Chart Area click where the Fibonacci Speed/Resistance Fan is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Fibonacci Speed/
Resistance Fan.
5. Release the button.
Moving Fibonacci Speed/Resistance Fan 138

To move a Fibonacci Speed/Resistance Fan without changing its shape:


1. Point the cursor at the Fibonacci Speed/Resistance Fan that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Fibonacci Speed/Resistance Fan 138

To reshape a Fibonacci Speed/Resistance Fan (change its size or slope of the lines):
1. Point the cursor at the Fibonacci Speed/Resistance Fan that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Fibonacci Speed/Resistance Fan and 2 small squares will appear on the trend line.
4. Drag one of these squares located on the trend line till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Fibonacci Speed/Resistance Fan 138

In MultiCharts one can change the settings of the Fibonacci Speed/Resistance Fan. All the changes are performed in the
Format Fibonacci Speed/Resistance Fan window.
Each instance of a Fibonacci speed/resistance fan has its own Format window. The number (if there are 2 or more
Fibonacci speed/resistance fan instances in the same Chart Window) are shown in the titlebar of each Format Fibonacci
Speed/Resistance Fan window.
One can change the settings of the Fibonacci Speed/Resistance Fan: the color, style and weight of the trend line, squares
and the fan lines (up to 8 fan lines are available). It is possible to specify the desired distance percentages on which the fan
lines are based or the Fibonacci percentages can be used. One can also choose to show or not the labels (price or/and
value), select their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the
labels. It is possible to specify the time and price coordinates.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 139

Setting Style 138

1. Access the Format Fibonacci Speed/Resistance Fan window.

How? 138

To access the Format Fibonacci Speed/Resistance Fan window:


1. Drag the cursor to the Fibonacci speed/resistance fan insatnce that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance fan instance that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Fibonacci Speed/Resistance Fan check or uncheck the corresponding
check boxes.
4. In the Price column select the corresponding cells and enter the desired values. These values determine at what
points the fan lines intersect the trend line.
5. In the Color column, using the drop-down lists, select any of the preset 40 colors for the fan lines or click the
Others… button to select the custom colors.
6. In the Style column, using the drop-down lists, select the desired styles for the fan lines.
7. In the Weight column, using the drop-down lists, select the desired weights for the fan lines.
8. Check the Divide Time check box to draw fan lines based on the height of the trend line.
9. Check the Divide Price check box to draw fan lines based on the length of the trend line.
10. Check theHide Time check box to hide Divide Time lines.
11. Check the Hide Price check box to hide Divide Price lines.
12. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Speed/Resistance Fans.
13. Click OK.

Setting Labels 138

1. Access the Format Fibonacci Speed/Resistance Fan window.

How? 138

To access the Format Fibonacci Speed/Resistance Fan window:


1. Drag the cursor to the Fibonacci speed/resistance fan insatnce that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance fan instance that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci

© 2009 TS Support, LLC


140 MultiCharts 5.5 User Guide

Speed/Resistance Fans.
10. Click OK.

Setting Coordinates Precisely 138

1. Access the Format Fibonacci Speed/Resistance Fan window.

How? 138

To access the Format Fibonacci Speed/Resistance Fan window:


1. Drag the cursor to the Fibonacci speed/resistance fan insatnce that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance fan instance that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Fibonacci Speed/Resistance Fan 138

To clone a Fibonacci Speed/Resistance Fan:


1. Drag the cursor to the Fibonacci speed/resistance fan instance that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 141

4.7.10 Fibonacci Speed/Resistance Arcs

Fibonacci Speed/Resistance Arcs

Fibonacci Speed/Resistance Arcs are an analytical drawing tool used to determine the direction and speed of the trend
reversal and indicate the support/resistance levels. First, a trend line between two extreme points - a trough and opposing peak
- is drawn. Then arcs are created and intersect the speed line at the selected distance percentages between the beginning and
the end of this trend line. The most common percentages are 1/3 and 2/3, but you can draw up to 11 arcs based on any
selected distance percentages as well as on the Fibonacci percentages. Some of the arcs might not be visible, because of the
scale limitations of the chart window.
The Fibonacci Speed/Resistance Arcs can indicate the support and resistance levels. Usually the price remains above the
higher arc. If the higher arc is penetrated, prices generally fall to the lower arc, which, in many cases, becomes the support
level. If prices break below the higher arc, fall to the lower arc, and then begin to rise, the lower arc becomes the resistance
level.
Inserting Fibonacci Speed/Resistance Arcs 141

1. Select one of three ways to insert the Fibonacci Speed/Resistance Arcs:


a) In the menu select Insert, point to Drawing and then to Fibonacci Tools and click Speed/Resistance Arcs.

b) Click the Fibonacci Speed/Resistance Arcs icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Fibonacci Tools and select
Speed/Resistance Arcs.

2. The cursor will change to the Fibonacci speed/resistance arcs .


3. In the Chart Area click where the Fibonacci Speed/Resistance Arcs are to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Fibonacci Speed/
Resistance Arcs.
5. Release the button.
Moving Fibonacci Speed/Resistance Arcs 141

To move the Fibonacci Speed/Resistance Arcs without changing their shape:


1. Point the cursor at the Fibonacci Speed/Resistance Arcs to move the drawing tool.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Fibonacci Speed/Resistance Arcs 141

To reshape the Fibonacci Speed/Resistance Arcs (change the slope of the trend line or the arcs' radius):
1. Point the cursor at the Fibonacci Speed/Resistance Arcs to reshape the drawing tool.

2. The cursor Pointer will change into Hand .


3. Left-click the Fibonacci Speed/Resistance Arcs and 2 small squares will appear at both ends of the trend line.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Fibonacci Speed/Resistance Arcs 141

In MultiCharts one can change the settings of the Fibonacci Speed/Resistance Arcs. All the changes are performed in the
Format Fibonacci Speed/Resistance Arcs window.
Each instance of a Fibonacci speed/resistance arcs has its own Format window. The number (if there are 2 or more
Fibonacci speed/resistance arcs instances in the same Chart Window) are shown in the titlebar of each Format Format
Fibonacci Speed/Resistance Arcs window.
One can change the settings of the Speed/Resistance Arcs: the color, style and weight of the trend line and the arcs (up to
12 arcs are available). It is possible to specify the desired distance percentages on which the arcs are based or the
Fibonacci percentages can be used. The Speed/Resistance Arcs can be extended to the shape of an ellipse or circle. One
can also choose to show or not the labels (price or/and value), select their font, style, size and the character set. It is
possible to apply the strikeout or underline effects to the labels.

Setting Style 141

1. Access the Format Fibonacci Speed/Resistance Arcs window.

© 2009 TS Support, LLC


142 MultiCharts 5.5 User Guide

How? 141

To access the Format Fibonacci Speed/Resistance Arcs window:


1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Arcs'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance arcs instance that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Fibonacci Speed/Resistance Arcs check or uncheck the corresponding
check boxes.
4. In the Price column select the corresponding cells and enter the desired values. These values determine at what
points the arcs intersect the trend line.
5. In the Color column, using the drop-down lists, select any of the preset 40 colors for the arcs or click the
Others… button to select the custom colors.
6. In the Style column, using the drop-down lists, select the desired styles for the arcs.
7. In the Weight column, using the drop-down lists, select the desired weights for the arcs.
8. Check the Display Full Arc check box to extend the arcs to the shape of an ellipse or circle (depending on the
Divide Time/Price separately setting).
9. Check the Divide Time/Price Separately check box to draw the arcs where time and price are independent
(uncheck to create constant radius arcs).
10. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Speed/Resistance Arcs.
11. Click OK.

Setting Labels 141

1. Access the Format Fibonacci Speed/Resistance Arcs window.

How? 141

To access the Format Fibonacci Speed/Resistance Arcs window:


1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Arcs'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance arcs instance that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. Check the Show Price or/and Show Percent Value check boxes to show price or/and percent labels.
11. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Speed/Resistance Arcs.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 143

12. Click OK.

Setting Coordinates Precisely 141

1. Access the Format Fibonacci Speed/Resistance Arcs window.

How? 141

To access the Format Fibonacci Speed/Resistance Arcs window:


1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Speed/Resistance Arcs'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci speed/resistance arcs instance that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Fibonacci Speed/Resistance Arcs 141

To clone a Fibonacci speed/resistance arcs instance:


1. Drag the cursor to the Fibonacci speed/resistance arcs instance that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


144 MultiCharts 5.5 User Guide

4.7.11 Fibonacci Time Zones

Fibonacci Time Zones

Fibonacci Time Zones are an analytical drawing tool represented by a series of vertical lines, which are used to indicate
significant price movement near them. These vertical lines are spaced according to the Fibonacci number sequence (1, 1, 2, 3,
5, 8, 13, 21, 34, 55, 89).
Inserting Fibonacci Time Zones 144

1. Select one of three ways to insert the Fibonacci Time Zones:


a) In the menu select Insert, point to Drawing and then to Fibonacci Tools and click Time Zones.

b) Click the Fibonacci Time Zones icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Fibonacci Tools and select Time
Zones.

2. The cursor will change to the Fibonacci time zones .


3. In the Chart Area click where the Fibonacci Time Zones are to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Fibonacci Time
Zones.
5. Release the button.
Moving Fibonacci Time Zones 144

To move the Fibonacci Time Zones:


1. Point the cursor at the Fibonacci Time Zones to move the drawing tool.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Formatting Fibonacci Time Zones 144

In MultiCharts one can change the settings of the Fibonacci Time Zones. All the changes are performed in the Format
Fibonacci Time Zones window.
Each instance of a Fibonacci time zones has its own Format window. The number (if there are 2 or more Fibonacci time
zones instances in the same Chart Window) are shown in the titlebar of each Format Fibonacci Time Zones window.
One can change the settings of the Fibonacci Time Zones: the color, style and weight of the base line and the time lines.
One can also choose to show or not the labels, select their font, style, size and the character set. It is possible to apply the
strikeout or underline effects to the labels. If shown the labels can be displayed at the top, bottom or in the middle of the
time lines. It is possible to specify the time coordinates of the base line.

Setting Style 144

1. Access the Format Fibonacci Time Zones window.

How? 144

To access the Format Fibonacci Time Zones window:


1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Time Zones'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci time zones instance that is to be formatted and press the Format… button.
2. Select the Data tab.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 145

3. To display or hide any elements of the Fibonacci Time Zones check or uncheck the corresponding check boxes.
4. In the Color column, using the drop-down lists, select any of the preset 40 colors for the BaseLine and time lines
or click the Others… button to select the custom colors.
5. In the Style column, using the drop-down lists, select the desired styles for the lines.
6. In the Weight column, using the drop-down lists, select the desired weights for the lines.
Note. One can not change the weight of the BaseLine.
7. Check the Use as Default check box to use these settings as the default settings when creating the Fibonacci
Time Zones in future.
8. Click OK.

Setting Labels 144

1. Access the Format Fibonacci Time Zones window.

How? 144

To access the Format Fibonacci Time Zones window:


1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Time Zones'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci time zones instance that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Time Zones.
11. Click OK.

Setting Coordinates Precisely 144

1. Access the Format Fibonacci Time Zones window.

How? 144

To access the Format Fibonacci Time Zones window:


1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci time zones instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Time Zones'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci time zones instance that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinate in the Base Line Date field or use the drop-down
calendar.
4. Click OK.

© 2009 TS Support, LLC


146 MultiCharts 5.5 User Guide

4.7.12 Fibonacci Trend-Based Time Lines

Fibonacci Trend-Based Time Lines

Fibonacci Trend-Based Time Lines is an analytical drawing tool used to predict the future price movements and examine the
support and resistance levels as well as price breakouts. It is represented by a series of vertical lines at date/time levels that
shows probable price corrections in an existing trend. First, a trend line is drawn. Depending on its length and direction, vertical
lines are drawn based on the selected distance percentages or on the Fibonacci percentages.
Support indicates a low or series of troughs where price activity has not penetrated. Resistance indicates a high or series of
peaks where price activity has not penetrated.
Inserting Fibonacci Trend-Based Time Lines 146

1. Select one of three ways to insert the Fibonacci Trend-Based Time Lines:
a) In the menu select Insert, point to Drawing and then to Fibonacci Tools and click Trend-Based Time Lines.

b) Click the Fibonacci Trend-Based Time Lines icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Fibonacci Tools and select Trend-
Based Time Lines.

2. The cursor will change to the Fibonacci trend-based time lines .


3. In the Chart Area click where the Fibonacci Trend-Based Time Lines are to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Fibonacci Trend-
Based Time Lines.
5. Release the button.
Moving Fibonacci Trend-Based Time Lines 146

To move the Fibonacci Trend-Based Time Lines without changing the shape of the drawing tool:
1. Point the cursor at the Fibonacci Trend-Based Time Lines to move the drawing tool.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Fibonacci Trend-Based Time Lines 146

To reshape the Fibonacci Trend-Based Time Lines (change the slope of the trend line or the distance between the Trend-
Based Time lines):
1. Point the cursor at the Fibonacci Trend-Based Time Lines to reshape the drawing tool.

2. The cursor Pointer will change into Hand .


3. Left-click the Fibonacci Trend-Based Time Lines and 2 small square will appear at both ends of the trend line.
4. Drag one of these till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Fibonacci Trend-Based Time Lines 146

In MultiCharts one can change the settings of the Fibonacci Trend-Based Time Lines. All the changes are performed in the
Format Fibonacci Trend-Based Time Lines window.
Each instance of a Fibonacci trend-based time lines has its own Format window. The number (if there are 2 or more
Fibonacci trend-based time lines instances in the same Chart Window) are shown in the titlebar of each Format Fibonacci
Trend-Based Time Lines window.
One can change the settings of the Fibonacci Trend-Based Time Lines: the color, style and weight of the trend line and time
lines (up to 11 lines are available). It is possible to specify the desired distance percentages on which the Trend-Based
Time lines are based or the Fibonacci percentages can be used. One can also choose to show or not the labels (price or/
and value), select their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the
labels. Labels can be oriented vertically or horizontally. If shown the labels can be displayed at the top, bottom or in the
middle of the Trend-Based Time lines, horizontally or vertically. It is possible to specify the time and price coordinates.

Setting Style 146

1. Access the Format Fibonacci Trend-Based Time Lines window.

How? 146

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 147

To access the Format Fibonacci Trend-Based Time Lines window:


1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Trend-Based Time Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci trend-based time lines instance that is to be formatted and press the Format…
button.
2. Select the Data tab.
3. To display or hide any elements of the Fibonacci Trend-Based Time Lines check or uncheck the corresponding
check boxes.
4. In the Price column select the corresponding cells and enter the desired values. These values determine the
distance between the Trend-Based Time lines.
5. In the Color column, using the drop-down lists, select any of the preset 40 colors for the lines or click the
Others… button to select the custom colors.
6. In the Style column, using the drop-down lists, select the desired styles for the lines.
7. In the Weight column, using the drop-down lists, select the desired weights for the lines.
8. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Trend-Based Time Lines.
9. Click OK.

Setting Labels 146

1. Access the Format Fibonacci Trend-Based Time Lines window.

How? 146

To access the Format Fibonacci Trend-Based Time Lines window:


1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Trend-Based Time Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci trend-based time lines instance that is to be formatted and press the Format…
button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from theFont list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. From the Align drop-down list select the desired type of the labels' alignment.
10. From the Orientation drop-down list select the desired orientation to display labels horizontally or vertically.
11. Check the Use as Default check box to use these settings as the default settings when creating other Fibonacci
Trend-Based Time Lines.
12. Click OK.

Setting Coordinates Precisely 146

1. Access the Format Fibonacci Trend-Based Time Lines window.

© 2009 TS Support, LLC


148 MultiCharts 5.5 User Guide

How? 146

To access the Format Fibonacci Trend-Based Time Lines window:


1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Fibonacci trend-based time lines instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Fibonacci Trend-Based Time Lines'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Fibonacci trend-based time lines instance that is to be formatted and press the Format…
button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 149

4.7.13 Gann Fan

Gann Fan

The Gann Fan was developed by the famous trader W. D. Gann who applied a combination of mathematical and geometric
principles to trading. He presupposed that there is a specific relationship between price and time that is some unit of price
equals some unit of time.
A Gann Fan is an analytical drawing tool used to indicate time and price movements from important highs and lows and identify
price breakouts.
To create a Gann Fan the middle line of time relative to price is drawn through two selected points. The first point is the one
from which a series of angled lines extends. And the second point is drawn to the right of the first and determines the rate of
equivalence between time and price. The middle line can be of any angle. The middle line which has a 45-degree angle is
known as the 1x1 price/time line. That is the price unit equals the time unit, so price and time are in perfect balance.
The angled lines drawn from the first point indicate a price to time relationship that may be relatively fast or relatively slow,
depending on the size of the Gann angle.
These angled lines, relative to an assumed horizontal line and the middle line, subdivide this horizontal line into eighths (or
thirds).
The direction of a Gann Fan should depend on the current trend. To evaluate an upward trend, the Gann Fan should be drawn
upward to the right, starting at a market low. To evaluate a downward trend, the Gann Fan should be drawn down from the
right, starting at a market high.
Inserting Gann Fan 149

1. Select one of three ways to insert the Gann Fan:


a) In the menu select Insert, point to Drawing and then to Gann Tools and click Gann Fan.

b) Click the Gann Fan icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Gann Tools and select Gann Fan.

2. The cursor will change to the Gann fan .


3. In the Chart Area click where the Gann Fan is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Gann Fan.
5. Release the button.
Moving Gann Fan 149

To move a Gann Fan without changing its shape:


1. Point the cursor at the Gann Fan that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Gann Fan 149

To reshape a Gann Fan (change its middle line slope or distance between the fan lines):
1. Point the cursor at the Gann Fan that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Gann Fan and 2 small squares will appear on the middle line.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Gann Fan 149

In MultiCharts one can change the settings of the Gann Fan. All the changes are performed in the Format Gann Fan
window.
Each instance of a Gann Fan has its own Format window. The number (if there are 2 or more Gann fan instances in the
same Chart Window) are shown in the titlebar of each Format Gann Fan window.
One can change the settings of the Gann Fan: the color, style and weight of the fan lines. One can select the time/price
relationship on which the fan lines are based. One can also choose to show or not the labels (price or/and value), select
their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the labels. It is possible
to specify the time and price coordinates.

© 2009 TS Support, LLC


150 MultiCharts 5.5 User Guide

Setting Style 149

1. Access the Format Gann Fan window.

How? 149

To access the Format Gann Fan window:


1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann fan instance that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Gann Fan check or uncheck the corresponding check boxes.
4. In the Color column, using the drop-down lists, select any of the preset 40 colors for the fan lines or click the
Others… button to select the custom colors.
5. In the Style column, using the drop-down lists, select the desired styles for the fan lines.
6. In the Weight column, using the drop-down lists, select the desired weights for the fan lines.
7. Check the Use as Default check box to use these settings as the default settings when creating other Gann Fans.
8. Click OK.

Setting Labels 149

1. Access the Format Gann Fan window.

How? 149

To access the Format Gann Fan window:


1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann fan instance that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. Check the Use as Default check box to use these settings as the default settings when creating other Gann Fans.
10. Click OK.

Setting Coordinates Precisely 149

1. Access the Format Gann Fan window.

How? 149

To access the Format Gann Fan window:

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 151

1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann fan instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Fan'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann fan instance that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinate of the origin point of the Gann Fan in the Start
Value field.
5. In the Coordinates section enter the desired points number in the Points per Bar field.
Note. The price points per bar multiplied by the price is used to calculate the Price/Time Gann Lines as it determines
how much the lines increase for each bar.
6. Click OK.
Cloning Gann Fan 149

To clone a Gann Fan:


1. Drag the cursor to the Gann Fan that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


152 MultiCharts 5.5 User Guide

4.7.14 Gann Square

Gann Square

The Gann Square is created by drawing a Gann Fan from each corner of a square. It is drawn to the right or left from the
selected point on a chart which is generally an important high or low.
Inserting Gann Square 152

1. Select one of three ways to insert the Gann Square:


a) In the menu select Insert, point to Drawing and then to Gann Tools and click Gann Square.

b) Click the Gann Square icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar, point to Gann Tools and select Gann
Square.

2. The cursor will change to the Gann square .


3. In the Chart Area click where the Gann Square is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Gann Square.
5. Release the button.
Moving Gann Square 152

To move a Gann Square without changing its shape:


1. Point the cursor at the Gann Square that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Gann Square 152

To reshape a Gann Square (change its size):


1. Point the cursor at the Gann Square that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Gann Square and 2 small squares will appear in the corners.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Gann Square 152

In MultiCharts one can change the settings of the Gann Square. All the changes are performed in the Format Gann
Square window.
Each instance of a Gann square has its own Format window. The number (if there are 2 or more Gann square instances in
the same Chart Window) are shown in the titlebar of each Format Gann Square window.
One can change the settings of the Gann Square: the color, style and weight of the price/time lines. One can choose the
price/time relationship on which the Gann lines are based. One can also choose to show or not the labels (price or/and
value), select their font, style, size and the character set. It is possible to apply the strikeout or underline effects to the
labels. It is possible to specify the time and price coordinates.

Setting Style 152

1. Access the Format Gann Square window.

How? 152

To access the Format Gann Square window:


1. Drag the cursor to the Gann square instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann square instance that is to be formatted.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 153

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Square'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann square instance that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Gann Square check or uncheck the corresponding check boxes.
4. In the Price column select the corresponding cells and enter the desired values. These percentages determine
the price/time relationships on which the Gann lines are based.
5. In the Color column, using the drop-down lists, select any of the preset 40 colors for the Gann lines or click the
Others… button to select the custom colors.
6. In the Style column, using the drop-down lists, select the desired styles for the Gann lines.
7. In the Weight column, using the drop-down lists, select the desired weights for the Gann lines.
8. Check the Use as Default check box to use these settings as the default settings when creating other Gann
Squares.
9. Click OK.

Setting Labels 152

1. Access the Format Gann Square window.

How? 152

To access the Format Gann Square window:


1. Drag the cursor to the Gann square instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann square instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Square'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann square instance that is to be formatted and press the Format… button.
2. Select the Labels tab.
3. Check or uncheck the Show Labels check box to display or hide the labels.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.
6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout or/and Underline check boxes to display the labels struck
out or/and underlined.
8. From the Character Set drop-down list select the desired character set.
9. Check the Use as Default check box to use these settings as the default settings when creating other Gann
Squares.
10. Click OK.

Setting Coordinates Precisely 152

1. Access the Format Gann Square window.

How? 152

To access the Format Gann Square window:


1. Drag the cursor to the Gann square instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Gann square instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Gann Square'… from the shortcut menu.

© 2009 TS Support, LLC


154 MultiCharts 5.5 User Guide

Or
1. In the Format Objects window select the Drawings tab.
2. Select the Gann square instance that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Gann Square 152

To clone a Gann square:


1. Drag the cursor to the Gann square instance that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 155

4.7.15 Retracement Calculator

Retracement Calculator

The Retracement Calculator computes the price retracement in percents in order to anticipate future trading opportunities. To
calculate Percent Retracement three points are selected on a chart: a significant high or low, the opposite to the first point high
or low and an intermediate point between the first two for which the calculations will be performed. The price range between the
first two points is considered to be 100%.
Performing Retracement Calculation 155

To perform Retracement Calculation:


1. Select one of three ways to insert the Retracement Calculator:
a) In the menu select Insert, point to Drawing and click Retracement Calculator.

b) Click the Retracement Calculator icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Retracement Calculator from
the menu.

2. The cursor will change to the Retracement calculator .


3. In the Chart Area click a significant high or low, which will be the Price 1.
4. Click the opposite to the first point high or low, which will be the Price 2.
5. Click the intermediate point for which the percent retracement should be calculated. This will be the Price 3.
6. After clicking the third point the Retracement Calculator window will appear with the Retracement calculations.
7. Click OK to close the window.

© 2009 TS Support, LLC


156 MultiCharts 5.5 User Guide

4.7.16 Text

Text

Text is a non-analytical drawing tool used to display text, the user's remarks and so on directly on a chart.
Inserting Text 156

1. Select one of three ways to insert the Text:


a) In the menu select Insert, point to Drawing and click Text.

b) Click the Text icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Text from the menu.

2. The cursor will change to the Text .


3. In the Chart Area click where the Text is to begin.
4. The Format Text window will appear.
5. Type in the desired text.
6. Click OK.
Moving Text 156

To move a Text:
1. Point the cursor at the text that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Formatting Text 156

In MultiCharts one can change the settings of the Text. All the changes are performed in the Format Text window.
Each instance of a Text has its own Format window. The number (if there are 2 or more Text instances in the same Chart
Window) are shown in the titlebar of each Format Text window.
One can select the font, its style, size and color of the text that should be entered as well as the character set and the font
back color. It is possible to apply the Strikeout, Underline, Transparent and Framed effects to the text. One can place the
text to the left, right or in the middle of the initial point at which the text is entered that is move the text along the time axis.
One can also move the text along the price axis and place it at the top, bottom or in the center.

Setting Style 156

1. Access the Format Text window.

How? 156

To access the Format Text window:


1. Drag the cursor to the Text instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Text instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Text'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Text that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Text field enter the needed text.
4. Enter the desired font in the Font field or select it from the Font list.
5. Enter the desired font style in the Font Style field or select it from the Font Style list.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 157

6. Enter the desired font size in the Size field or select it from the Size list.
7. In the Effects group check or uncheck the Strikeout, Underline, Transparent or/and Framed check boxes to
display the text struck out, underlined transparent or/and framed.
8. From the Character Set drop-down list select the desired character set.
9. From the Font Back Color drop-down list select any of the preset 40 colors or click the Other… button to select
the custom colors.
Note. The Font Back Color drop-down list is not available if the Transparent effect is applied.
10. From the Font Color drop-down list select any of the preset 40 colors or click the Other… button to select the
custom colors.
11. From the Horizontal Alignment drop-down list select the location of the text along the time axis from the initial
point.
12. From the Vertical Alignment drop-down list select the location of the text along the price axis from the initial
point.
13. Check the Use as Default check box to use these settings as the default settings when using the text as a
drawing tool in future.
14. Click OK.

Setting Coordinates Precisely 156

1. Access the Format Text window.

How? 156

To access the Format Text window:


1. Drag the cursor to the Text instance that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Text instance that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Text'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Text that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinate in the Date field or use the drop-down calendar.
4. In the Coordinates section enter the desired price coordinate in the Value field.
5. Click OK.
Cloning Text 156

To clone a Text:
1. Drag the cursor to the Text that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


158 MultiCharts 5.5 User Guide

4.7.17 Rectangle

Rectangle

A Rectangle is a non-analytical drawing tool drawn for the purpose of highlighting the desired segment of a chart. For instance,
Rectangles can highlight a top, bottom, or a group of bars.
Inserting Rectangle 158

1. Select one of three ways to insert a Rectangle:


a) In the menu select Insert, point to Drawing and click Rectangle.

b) Click the Rectangle icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Rectangle from the menu.

2. The cursor will change to the Rectangle .


3. In the Chart Area click where the Rectangle is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Rectangle.
5. Release the button.
Moving Rectangle 158

To move a Rectangle without changing its size:


1. Point the cursor at the Rectangle that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Rectangle 158

To reshape Rectangle (change its size):


1. Point the cursor at the Rectangle that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Rectangle and 4 small squares will appear in the corners.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Rectangle 158

In MultiCharts one can change the settings of the Rectangle. All the changes are performed in the Format Rectangle
window.
Each instance of a Rectangle has its own Format window. The number (if there are 2 or more Rectangles in the same
Chart Window) are shown in the titlebar of each Format Rectangle window.
One can change the settings of a rectangle: the color, style and weight of the border line as well as the color and pattern of
the fill. One can also change the time and price coordinates of the rectangle.

Setting Style 158

1. Access the Format Rectangle window.

How? 158

To access the Format Rectangle window:


1. Drag the cursor to the Rectangle that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Rectangle that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Rectangle'… from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 159

Or
1. In the Format Objects window select the Drawings tab.
2. Select the Rectangle that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Line section, using the Color drop-down list, select any of the preset 40 colors for the line or click the
Others… button to select the custom color.
4. In the Line section, using the Style drop-down list, select the desired style for the line.
5. In the Line section, using the Weight drop-down list, select the desired weight for the line (available only for the
solid line).
6. In the Fill section, using the Color drop-down list, select any of the preset 40 colors for the fill or click the
Others… button to select the custom colors.
7. In the Fill section, using the Pattern drop-down list, select the desired pattern for the fill.
8. Check the Use as Default check box to use these settings as the default settings when creating other Rectangles.
9. Click OK.

Setting Coordinates Precisely 158

1. Access the Format Rectangle window.

How? 158

To access the Format Rectangle window:


1. Drag the cursor to the Rectangle that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Rectangle that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Rectangle'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Rectangle that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Rectangle 158

To clone a Rectangle:
1. Drag the cursor to the Rectangle that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


160 MultiCharts 5.5 User Guide

4.7.18 Ellipse

Ellipse

An Ellipse is a non-analytical drawing tool drawn for the purpose of highlighting the desired segment of a chart. For instance,
Ellipses can highlight a top, bottom, or a group of bars.
Inserting Ellipse 160

1. Select one of three ways to insert an Ellipse:


a) In the menu select Insert, point to Drawing and click Ellipse.

b) Click the Ellipse icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Ellipse from the menu.

2. The cursor will change to the Ellipse .


3. In the Chart Area click where the Ellipse is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the Ellipse.
5. Release the button.
Moving Ellipse 160

To move an Ellipse without changing its size:


1. Drag the cursor the Ellipse that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Ellipse 160

To reshape Ellipse (change its size or proportions):


1. Drag the cursor the Ellipse that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Ellipse and 4 small squares will appear on the Ellipse.
4. Drag one of these till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Ellipse 160

In MultiCharts one can change the settings of the Ellipse. All the changes are performed in the Format Ellipse window.
Each instance of an Ellipse has its own Format window. The number (if there are 2 or more Ellipses in the same Chart
Window) are shown in the titlebar of each Format Ellipse window.
One can change the settings of an ellipse: the color, style and weight of the border line as well as the color and pattern of
the fill. One can also change the time and price coordinates of the ellipse.

Setting Style 160

1. Access the Format Ellipse window.

How? 160

To access the Format Ellipse window:


1. Drag the cursor to the Ellipse that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Ellipse that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Ellipse'… from the shortcut menu.
Or

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 161

1. In the Format Objects window select the Drawings tab.


2. Select the Ellipse that is to be formatted and press the Format… button.
2. Select the Style tab.
3. In the Line section, using the Color drop-down list, select any of the preset 40 colors for the line or click the
Others… button to select the custom color.
4. In the Line section, using the Style drop-down list, select the desired style for the line.
5. In the Line section, using the Weight drop-down list, select the desired weight for the line (available only for the
solid line).
6. In the Fill section, using the Color drop-down list, select any of the preset 40 colors for the fill or click the
Others… button to select the custom color.
7. In the Fill section, using the Pattern drop-down list, select the desired pattern for the fill.
8. Check the Use as Default check box to use these settings as the default settings when creating other Ellipses.
9. Click OK.

Setting Coordinates Precisely 160

1. Access the Format Ellipse window.

How? 160

To access the Format Ellipse window:


1. Drag the cursor to the Ellipse that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Ellipse that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Ellipse'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Ellipse that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Ellipse 160

To clone an Ellipse:
1. Drag the cursor to the Ellipse that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


162 MultiCharts 5.5 User Guide

4.7.19 Arc

Arc

An Arc is a non-analytical drawing tool represented as an arched line and drawn for the purpose of highlighting the desired
segment of a chart. For instance, Arcs can highlight a top, bottom, or a group of bars. Arcs can be of any formations that is has
any inclination angle.
Inserting Arc 162

1. Select one of three ways to insert an Arc:


a) In the menu select Insert, point to Drawing and click Arc.

b) Click the Arc icon on the Drawing toolbar.

c) Click the arrow next to the Drawing Tools icon on the Main toolbar and select Arc from the menu.

2. The cursor will change to the Arc .


3. In the Chart Area click where the Arc is to begin.
4. Then keeping the left mouse button pressed move the pointer up, down, left, or right to position the arc.
5. Release the button.
Moving Arc 162

To move an Arc without changing its angle:


1. Point the cursor at the Arc that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the drawing tool to the desired position.
4. Release the button.
Reshaping Arc 162

To reshape an Arc (change its angle or length):


1. Point the cursor at the Arc that is to be reshaped.

2. The cursor Pointer will change into Hand .


3. Left-click the Arc and 2 small squares will appear on the Arc.
4. Drag one of these squares till the drawing tool becomes of the desired shape.
5. Release the button.
Formatting Arc 162

In MultiCharts one can change the settings of an Arc. All the changes are performed in the Format Arc window.
Each instance of an Arc has its own Format window. The number (if there are 2 or more Arcs in the same Chart Window)
are shown in the titlebar of each Format Arc window.
One can change the settings of an arc: the color, style and weight of the arc and the trend line upon which the arc is based.
One can choose any element of the arc to be displayed or hidden. A full arc can be also displayed. It is possible to change
the time and price coordinates of the arc.

Setting Style 162

1. Access the Format Arc window.

How? 162

To access the Format Arc window:


1. Drag the cursor to the Arc that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arc that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arc'… from the shortcut menu.

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 163

Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arc that is to be formatted and press the Format… button.
2. Select the Data tab.
3. To display or hide any elements of the Arc check or uncheck the corresponding check boxes.
4. In the Color column, using the drop-down lists, select any of the preset 40 colors for the trend line and the arc or
click the Others… button to select the custom colors.
5. In the Style column, using the drop-down lists, select the desired styles for the trend line and the arc.
6. In the Weight column, using the drop-down lists, select the desired weights for the trend line and the arc.
7. Check the Display Full Arc check box to extend the arcs to the shape of an ellipse or circle (depending on the
Divide Time/Price separately setting).
8. Check the Use as Default check box to use these settings as the default settings when creating other Arcs.
9. Click OK.

Setting Coordinates Precisely 162

1. Access the Format Arc window.

How? 162

To access the Format Arc window:


1. Drag the cursor to the Arc that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arc that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arc'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arc that is to be formatted and press the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time coordinates in the Start Date and End Date fields or use the
drop-down calendars.
4. In the Coordinates section enter the desired price coordinates in the Start Value and End Value fields.
5. Click OK.
Cloning Arc 162

To clone an Arc:
1. Drag the cursor to the Arc that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


164 MultiCharts 5.5 User Guide

4.7.20 Arrow Down

Arrow Down

Up and Down Arrows are non-analytical drawing tools drawn for the purpose of highlighting the desired segment of a chart. For
instance, Arrows can highlight a specific bar, top or bottom.
Inserting Arrow Down 164

1. In the menu select Insert, point to Drawing and click Arrow Down.

2. The cursor will change to the Arrow Down .


3. In the Chart Area left click where the Arrow is to be placed.
Moving Arrow Down 164

To move an Arrow:
1. Point the cursor at the Arrow that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the arrow to the desired position.
4. Release the button.
Formatting Arrow Down 164

In MultiCharts one can change the settings of the Arrow Down. All the changes are performed in the Format Arrow Down
window.
Each instance of the Arrow Down has its own Format window. The numbers (if there are 2 or more Arrows in the same
Chart Window) are shown in the titlebar of each Format Arrow Down window.
One can change the settings of the Arrow: its color, style and weight. It is also possible to change the time and price
coordinates of the Arrow.

Setting Style 164

1. Access the Format Arrow Down window.

How? 164

To access the Format Arrow Down window:


1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arrow Down'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arrow that is to be formatted and click the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Other… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other arrows.
7. Click OK.

Setting Coordinates Precisely 164

1. Access the Format Arrow Down window.

How? 164

To access the Format Arrow Down window:

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 165

1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arrow Down'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arrow that is to be formatted and click the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time and date coordinate in the Date field.
3. In the Coordinates section enter the desired price coordinate in the Value field.
4. Click OK.
Cloning Arrow Down 164

To clone Arrow Down:


1. Drag the cursor to the Arrow Down that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


166 MultiCharts 5.5 User Guide

4.7.21 Arrow Up

Arrow Up

Up and Down Arrows are non-analytical drawing tools drawn for the purpose of highlighting the desired segment of a chart. For
instance, Arrows can highlight a specific bar, top or bottom.
Inserting Arrow Up 166

1. In the menu select Insert, point to Drawing and click Arrow Up.

2. The cursor will change to the Arrow Up .


3. In the Chart Area left click where the Arrow is to be placed.
Moving Arrow Up 166

To move an Arrow:
1. Point the cursor at the Arrow that is to be moved.

2. The cursor Pointer will change into Hand .


3. Then keeping the left mouse button pressed drag the arrow to the desired position.
4. Release the button.
Formatting Arrow Up 166

In MultiCharts one can change the settings of the Arrow Up. All the changes are performed in the Format Arrow Up
window.
Each instance of the Arrow Up has its own Format window. The numbers (if there are 2 or more Arrows in the same Chart
Window) are shown in the titlebar of each Format Arrow Up window.
One can change the settings of the Arrow: its color, style and weight. It is also possible to change the time and price
coordinates of the Arrow.

Setting Style 166

1. Access the Format Arrow Up window.

How? 166

To access the Format Arrow Up window:


1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arrow Up'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arrow that is to be formatted and click the Format… button.
2. Select the Style tab.
3. In the Color section select any of the preset 40 colors or click the Other… button to select the custom color.
4. From the Style drop-down list select the desired style.
5. From the Weight drop-down list select the desired weight.
6. Check the Use as Default check box to use these settings as the default settings when creating other arrows.
7. Click OK.

Setting Coordinates Precisely 166

1. Access the Format Arrow Up window.

How? 166

To access the Format Arrow Up window:

© 2009 TS Support, LLC


MultiCharts | Drawing Tools 167

1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then double-click.


Or
1. Drag the cursor to the Arrow that is to be formatted.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Format 'Arrow Up'… from the shortcut menu.
Or
1. In the Format Objects window select the Drawings tab.
2. Select the Arrow that is to be formatted and click the Format… button.
2. Select the Properties tab.
3. In the Coordinates section enter the desired time and date coordinate in the Date field.
3. In the Coordinates section enter the desired price coordinate in the Value field.
4. Click OK.
Cloning Arrow Up 166

To clone Arrow Up:


1. Drag the cursor to the Arrow Up that is to be cloned.

2. The cursor Pointer will change into Hand , then right-click.


3. Select Clone Drawing from the shortcut menu.

© 2009 TS Support, LLC


168 MultiCharts 5.5 User Guide

4.8 Studies
4.8.1 Using Studies

Using Studies

Studies are technical analysis tools based on trading concepts and formulas, and assist in evaluating market activity and
making trading decisions. Over 270 pre-built, customizable studies, covering the most popular trading concepts and indicators,
are already included with the platform, and additional studies can be imported from a variety of sources. Basic adjustments to
studies' logic can be made by simply changing the Input Values. Studies can be fully customized, or entirely new studies
created, using PowerLanguage® scripting in PowerLanguage Editor. To learn more see Creating Studies 314 .
Studies can be divided into Indicators and Signals:
An Indicator is a visual technical analysis tool, used to analyze market conditions and identify and forecast trends and market
patterns. An indicator is a visualization of a mathematical formula, and consists of one or more Plots – lines, histograms,
series of points or crosses, highs and lows, left and right ticks, or a combination of the above. Indicators are computed using
only price, volume, and (occasionally) open interest data.
A Signal is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of
trading rules implemented in the signal's algorithm. The trade points are indicated on a chart by ticks and arrows. Signals can
be viewed as the basic building blocks of strategies.
An indicator is applied to a particular data series, and can be displayed either in the same chart as the series or in another
SubChart. A signal can only be applied to the series with the Data #1 and is displayed in the same chart as the series. If a
parameter, such as symbol or resolution, of the data series on which the study is based, is changed, the study will be
recalculated and redrawn. If the series, on which a study is based, is deleted, the study will be turned off. Studies can be
Inserted (added) into, or Removed from a chart, and turned off and on. A list of all studies, inserted into a Chart Window, can
be viewed according to type. Indicators can be Hidden, Redisplayed, and Moved between SubCharts. The Visual Order in
which the indicators are displayed on the chart can be changed.
Inserting Studies 168

The number of studies that can be inserted into a chart is limited only by your computer's hardware configuration.
Studies can be inserted from the Insert Study window:
1. Open the Insert Study window.
Opening Insert Study Window 168

To open the Insert Study window, click the Insert Study icon on the Chart Analysis toolbar.
The Insert Study window can also be opened by one of the following methods:

- click the Insert Signal icon on the Chart Analysis toolbar; or:
- Right-click on an empty area of the chart and then click Insert Study; or:
- Use the F7 key; or:
- Select Insert in the main menu and click Study; or:
- Select Insert in the main menu and click Signal.
The Insert Study window can also be accessed from the Format Objects window by selecting the
Indicators or the Signals tab and clicking the Add button.

2. Select the tab corresponding to the type of study to be added.


3. Select a study from the list of available studies; the list can be sorted by any column, in ascending or
descending order, by clicking on the column header; several studies can be selected at once by holding down
Ctrl or/and Shift keys on the keyboard while making the selection.
Note: Only the compiled (these with the Ready Status of Yes) studies can be inserted. To learn more see
Compiling Studies.

4. To format the selected studies prior to inserting them into a chart, check the Format check box; uncheck the
box to insert studies without formatting. To learn more see Default Studies Properties and Default Studies
Inputs.
5. Double-click the selected study or click OK.

Removing Studies 168

© 2009 TS Support, LLC


MultiCharts | Studies 169

A study can be removed using the Format Objects window:


1. Open the Format Objects window.

How? 168

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the tab corresponding to the type of study to be removed.
3. Select the study to be removed and click the Remove button. Studies can also be removed by one of the
following methods:

- Position the mouse pointer over the study that is to be removed; once the Pointer changes into a Hand

, right-click and then click Remove Study; or:

- Position the mouse pointer over the study that is to be removed; once the Pointer changes into a Hand

, click on the study and then press the Delete key on the keyboard.

Removing All Studies 168

To remove all studies, inserted into a Chart Window, right-click on an empty area of the chart and then click Remove All
Studies.
Inserted Indicators List 168

A list of all indicators, inserted into a Chart Window, can be viewed under the Indicators tab in the Format Objects
window:
1. Open the Format Objects window.

How? 168

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Indicators tab.
The indicators list can be sorted by any column, in ascending or descending order, by clicking on the column
header. The columns display the following information:
Name – name of the indicator
Input String – input parameters of the indicator; to learn more see Default Studies Inputs and Setting Studies
Inputs
Status – current status of the indicator: on – the indicator is turned on, or off – the indicator is turned off
SubChart – the SubChart, in which the indicator is plotted
Base Data # – the data series, to which the indicator is applied

Inserted Signals List 168

A list of all signals, inserted into a Chart Window, can be viewed under the Signals tab in the Format Objects window:
1. Open the Format Objects window.

How? 168

© 2009 TS Support, LLC


170 MultiCharts 5.5 User Guide

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Signals tab.
The signals list can be sorted by any column, in ascending or descending order, by clicking on the column
header. The columns display the following information:
Name – name of the signal
Input String – input parameters of the signal; to learn more see Default Studies Inputs and Setting Studies
Inputs
Status – current status of the signal: on – the signal is turned on, or off – the signal is turned off

Moving Studies between SubCharts 168

An indicator in one SubChart can be moved to another existing or a new SubChart within the same Chart Window. Each
SubChart can contain a number of objects. To learn more see Using SubCharts. The indicator’s Base Data # will not be
affected by moving the indicator to another SubChart.
A signal can only be applied to the SubChart containing the data series with the Data# 1, and can not be moved to another
SubChart.
Moving Indicator to Existing SubChart 168

An indicator can be moved using the Format Indicator window:


1. Open the Format Indicator window.

How? 168

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format ‘Indicator Name’; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the SubChart section, in the SubChart scrolling list box, select the SubChart# you want to move the
indicator to.
An indicator can also be moved by the following method:
- Position the mouse pointer over the over the indicator or the Status Line of the indicator to be moved; once

the Pointer changes into a Hand , hold the left mouse button and drag the indicator to another
SubChart. Release the mouse button to complete moving the indicator.

Moving Indicator to New SubChart 168

An indicator can be moved using the Format Indicator window:


1. Open the Format Indicator window.

How? 168

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .

© 2009 TS Support, LLC


MultiCharts | Studies 171

The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format ‘Indicator Name’; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the SubChart section, in the SubChart scrolling list box, select the Show On Top or Show On Bottom to
move the indicator to a new SubChart at the top or at the bottom of the Chart Window, respectively.
An indicator can also be moved by the following method:
- Position the mouse pointer over the indicator or the Status Line of the indicator to be moved; once the Pointer

changes into a Hand , hold the left mouse button and drag the pointer to the upper or lower border

of the Chart Window, or of another SubChart. Once the pointer changes into the Create New SubChart
symbol, release the mouse button to create a new SubChart.

Hiding Indicators 168

In some instances displaying an indicator may not be necessary. Hidden indicators retain their full functionality and continue
running. Please note that a signal can not be hidden.
An indicator can be hidden using the Format Indicator window:
1. Open the Format Indicator window.

How? 168

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format ‘Indicator Name’; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the SubChart section, in the SubChart scrolling list box, select the Hide.
An indicator can also be hidden by one of the following methods:

- Click the Hide Object icon on the Control toolbar; or:


- Select Format in the main menu and click Hide Object.

Redisplaying Hidden Indicators 168

To redisplay a hidden indicator in a Chart Window:


1. Open the Format Objects window.

How? 168

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

© 2009 TS Support, LLC


172 MultiCharts 5.5 User Guide

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Indicators tab.
3. Select the indicator to be redisplayed and click the Format button to display the Format Indicator window.
4. Select the Properties tab.
5. In the SubChart section, in the SubChart scrolling list box, select Show On Top, Show On Bottom, or
SubChart #n, to redisplay the indicator in a new SubChart at the top, a new SubChart at the bottom, or in an
existing SubChart, respectively.

Turning Studies Off and On 168

Studies may be turned off or on. A study that is turned off will stop running and become hidden. When the study is turned
back on, it will resume running and re-appear in the original SubChart.
An indicator, based on a data series that has been deleted, will be turned off, and can only be turned back on after it has
been reassigned to another, existing data series. To learn more see Setting Base Data Series.
A study can be turned off or on from the Format Objects window:
1. Open the Format Objects window.

How? 168

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the tab corresponding to the type of study you want to turn off or on.
3. Select the study that you want to turn off or on, and click the Status button.
4. The study's status, displayed in the Status column of the Format Objects window, will change.

Changing Visual Order 168

The Visual Order in which the indicators are displayed can be changed. When a number of objects are displayed in a
single SubChart, the objects are displayed in "layers" – one object is in the "front", the next is "behind" it, and so on.
The order of the layers constitutes the Visual Order of the objects. The Visual Order can be changed to prevent a thick line
in the "front" layer from obscuring a thin line in the "back" layer.
The Visual Order can be changed by one of the following methods:
Right-click on the chart area and then click Visual Order; in the Visual Order window that appears, select an object and use
the order buttons to change its visual order; or:

Position the mouse pointer over an object; once the Pointer changes into a Hand , right-click, then point to
Visual Order and use the shortcut menu order commands to change the visual order of the object.
Visual Order commands/buttons:
Bring to Front – the object will be placed in the front of all other objects
Send to Back – the object will be placed behind all other objects
Bring Forward – the object will be moved one layer to the front
Send Backward – the object will be moved one layer back

© 2009 TS Support, LLC


MultiCharts | Studies 173

4.8.2 Indicator Settings

Indicator Settings

An Indicator is a visual technical analysis tool, used to analyze market conditions and identify and forecast trends and market
patterns. An indicator is a visualization of a mathematical formula, and consists of one or more Plots – lines, histograms, series
of points or crosses, highs and lows, left and right ticks, or a combination of the above. Indicators are computed using the
price, volume, and (occasionally) open interest data.
Each indicator, applied to a chart, is set individually and has its own Format Indicator window. Indicator Title is displayed in the
title bar of the Format Indicator window. Multiple instances of the same indicator can be applied to the same chart; each
instance will have its own Format Indicator window, allowing different settings to be used for each of the instances.
Basic adjustments to the indicator's logic can be made by changing the Input Values. Indicator Style, Maximum Bars Back
value, and Base Data Series can be set, and the recalculation frequency selected.
Setting Input Values 173

An Input is a constant used in the indicator calculations. Indicators can have one or more inputs, or none at all. Each input
is assigned a name. There are three types of inputs: Numeric, True/False, and String. Indicators can be modified by
changing the input Values.
One of the main advantages of using the inputs is that basic adjustments to the study's logic can be made be simply
changing the input values, without the need to edit the studies' actual code.
Most, but not all, indicators use input values; to learn more see Default Studies Inputs.
The inputs can be modified before as well as after the indicator has been inserted.
Indicator Inputs can be set from the Format Indicator window:
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the General tab.
3. In the Inputs section, in the Value column, click on the value of the input that you want to change and enter the
desired value.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.
Setting Style 173

The Type, Color, Style, and Weight of the indicator's plot can be customized; if an indicator consists of multiple plots, each
plot can be set individually.
Changes to indicator style settings will be applied to the Chart Window in real time.
Indicator style can be set from the Format Indicator window:
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

© 2009 TS Support, LLC


174 MultiCharts 5.5 User Guide

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the General tab.
3. In the Style section, in the Type column, select the plot type from the drop-down list box.
4. In the Color column select the plot color from the drop-down palette box.
5. In the Style column select the plot style from the drop-down list box.
6. In the Weight column select the plot weight from the drop-down list box; the weight can only be selected for the
solid line style.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.
Setting Maximum Bars Back 173

All indicators based on past data use a certain number of bars for their calculations. The number of bars is called
Maximum number of bars a study will reference, or Maximum Bars Back. You can elect to set this value manually, or
to have it set automatically (Auto-Detect).

Auto-Detect Maximum Bars Back 173

Automatic detection of the Maximum Bars Back value can be chosen from the Format Indicator window:
1. Open the Format Indicator window.

How? 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the Maximum Bars Back section click the Auto-Detect radio button.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.

Set Maximum Bars Back Manually 173

Please note that in order for the indicator to be displayed, the number of bars in the data series on which the
indicator is based must be greater than the indicator's Maximum Bars Back setting.
Maximum Bars Back value can be set manually from the Format Indicator window:
1. Open the Format Indicator window.

How? 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

© 2009 TS Support, LLC


MultiCharts | Studies 175

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the Maximum Bars Back section click the User Specified radio button.
4. In the User Specified text box enter a Maximum Bars Back value.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.
Selecting Base Data Series 173

An indicator can be based on any one of the data series in a multi-symbol chart. When applied to a multi-symbol chart, an
indicator is based on the data series with the Data # 1 by default.
Indicator's base data series is selected from the Format Indicator window:
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. In the Base Study On section, select the data series that the indicator is to be based on from the drop-down list
box.

Selecting SubChart 173

An indicator can be placed into a new or an existing SubChart in a chart window. To learn more, see SubCharts.
The SubChart to place the indicator into can be selected from the Format Indicator window:
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.

© 2009 TS Support, LLC


176 MultiCharts 5.5 User Guide

3. In the SubChart section, in the scrolling list box, select Show On Top or Show On Bottom to place the
indicator into a new SubChart at the top or at the bottom of the Chart Window, respectively, or select a
SubChart# to place the indicator into an existing SubChart.

Update on Every Tick 173

You can elect whether to recalculate an indicator every time a new tick is received, or only at the close of each bar. One or
the other may be more appropriate, depending on the indicator's algorithm. Update on Every Tick option is enabled by
default. Updating a large number of complex indicators on every tick will require substantial system resources.
Indicator's update rate is set from the Format Indicator window:
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Properties tab.
3. Check Update on Every Tick check box to recalculate the indicator on every tick; uncheck the box to
recalculate the indicator on bar close only.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.
Setting Last Price Marker 173

Last Price Marker is a special label displayed on the price scale that indicates the latest value of indicators' plots.
If an indicator (study) has multiple plots then the markers can be displayed for each plot.
The color of each marker is the same as of the corresponding plot.
To turn on/off Last Price Marker for an indicator (study):
1. Open the Format Indicator window.

How to set 173

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the General tab.
3. In the Style section, select or deselect the Marker checkboxes.
Tip: To use these general settings as the default for the selected indicator, check Use as Default check box.
Tip: The Last Price Marker can also be used to control how a study is displayed in the Scanner.
For example, the RSI study contains three plots, each with its own marker checkbox.
To display the data for only one of the three plots in the Scanner:

© 2009 TS Support, LLC


MultiCharts | Studies 177

1. Uncheck the other two markers.


2. Check Use as default.
3. Click OK.

The next time this study is added to the Scanner, only the plot that was checked will be displayed in the Scanner.

For more information about displaying indicators' plots in Scanner please see Displaying Studies with Two or More Plots 256

© 2009 TS Support, LLC


178 MultiCharts 5.5 User Guide

4.8.3 Signal Settings

Signal Settings

Signal is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of
trading rules implemented in the signal's algorithm. The trade points are indicated on a chart by ticks and arrows.
Signals can be viewed as the basic building blocks of strategies. Strategies can easily be constructed by simply applying a set
of signals to a chart window, without the need to combine signal code manually.
Market entry or exit points, specified by the signals, can be used to send orders electronically directly to a broker, fully
automating the trading process. To learn more, see Automated Trade Execution.
Each signal applied to a chart is set individually, and has its own Format Signal window. Signal Title is displayed in the title
bar of the Format Signal window. Multiple instances of the same signal can be applied to the same chart; each instance will
have its own Format Signal window, allowing different settings to be used for each of the instances. Signal settings are specific
to the particular signal, while Strategy Properties settings affect all the signals applied to a chart. To learn more, see Strategy
Properties.
In a multi-symbol chart, signals can only be applied to the series with the Data #1. Signals' execution priority is assigned
according to the order in which they were applied, with signals that were added first having higher priority.
Market entry or exit (buy or sell) points, specified by a signal, are visually indicated on the chart by Arrows Çor Èand Ticks |
or }. Arrows identify the time, and ticks identify the price value of each trade point. Labels, located above the sell arrows and
below the buy arrows, display the signal’s name and the number of contracts traded at each trade point.
Basic adjustments to the signal’s logic can be made by simply changing the Input Values. Signal's Arrow, Tick, and Label
Style can be set.
Setting Input Values 178

An Input is a constant used in the signal’s calculations. Signals can have one or more inputs, or none at all. Each input is
assigned a name. There are three types of inputs: Numeric, True/False, and String. Signals can be modified by changing
the input Values.
Most, but not all, signals use input values; to learn more see Default Studies Inputs 320 .

One of the main advantages of using the inputs is that basic adjustments to the study's logic can be made be simply
changing the input values, without the need to edit the studies' actual code.
Inputs are also used for Trading Strategy Optimization.
The inputs can be modified before as well as after the signal has been inserted.
Signal's Inputs can be set from the Format Signal window:
1. Open the Format Signal window.

How to set 178

To open the Format Signal window, position the mouse pointer over one of the signal's Arrows, Ticks,

or Labels; double-click once the Pointer changes into a Hand ; in the Format Objects
window that appears, select a signal and click the Format button.
The Format Signal window can also be opened by one of the following methods:

- Position the mouse pointer over one of the signal's Arrows, Ticks, or Labels; once the Pointer

changes into a Hand , right-click and then click Format Signals; in the Format Objects window
that appears, select a signal and click the Format button; or:
- Open the Format Objects window; in the Signals tab, select a signal and click the Format button.
Note: The Format Signal window for the signal being inserted will open automatically if the Format
check box in the Insert Study window is checked.
2. Select the Inputs tab.
3. In the Value column, click on the value of the input that you want to change and enter the desired value.
Tip: To use these inputs settings as the default for the selected signal, check Use as Default check box.

© 2009 TS Support, LLC


MultiCharts | Studies 179

Setting Style 178

The market entry or/and exit (buy or/and sell) points are visually indicated on the chart by Arrows Çor Èand Ticks | or }.
Arrows identify the time, and ticks identify the price values of each trade point. Two Labels, located above the sell arrows
and below the buy arrows, display the signal’s name and the number of contracts for each trade point.
Color, Style, and Size of arrows and ticks can be selected. Color of labels can be selected, or labels can be hidden.
The style of each of the elements for each type of an entry or an exit point can be set individually.
Changes to signal style settings will be applied to the Chart Window in real time.
Signal's style can be set from the Format Signal window:
1. Open the Format Signal window.

How to set 178

To open the Format Signal window, position the mouse pointer over one of the signal's Arrows, Ticks,

or Labels; double-click once the Pointer changes into a Hand ; in the Format Objects
window that appears, select a signal and click the Format button.
The Format Signal window can also be opened by one of the following methods:

- Position the mouse pointer over one of the signal's Arrows, Ticks, or Labels; once the Pointer

changes into a Hand , right-click and then click Format Signals; in the Format Objects window
that appears, select a signal and click the Format button; or:
- Open the Format Objects window; in the Signals tab, select a signal and click the Format button.
Note: The Format Signal window for the signal being inserted will open automatically if the Format
check box in the Insert Study window is checked.
2. Select the Entries or the Exits tab, for entry or exit points, respectively.
3. In each section, in the Color column, select a color for each of the components from the drop-down palette box.
4. In the Style column select the component style from the drop-down list box.
5. In the Size column select the component size from the drop-down list box; only the size of arrows and ticks can
be set.
Tip: To use these style settings as the default for the selected signal, check Use as Default check box.
Intra-Bar Order Generation 178

You can elect whether to allow the signal to generate orders within a bar, or only at the close of each bar.
A signal contains one or more Order Commands that generate entry or exit orders. A limit to the number of orders that can
be generated within a single bar by each order command or by all of the signal’s order commands can be set.
Intra-Bar Order Generation is set from the Format Signal window:
1. Open the Format Signal window.

How to set 178

To open the Format Signal window, position the mouse pointer over one of the signal's Arrows, Ticks,

or Labels; double-click once the Pointer changes into a Hand ; in the Format Objects
window that appears, select a signal and click the Format button.
The Format Signal window can also be opened by one of the following methods:

- Position the mouse pointer over one of the signal's Arrows, Ticks, or Labels; once the Pointer

changes into a Hand , right-click and then click Format Signals; in the Format Objects window
that appears, select a signal and click the Format button; or:
- Open the Format Objects window; in the Signals tab, select a signal and click the Format button.
Note: The Format Signal window for the signal being inserted will open automatically if the Format
check box in the Insert Study window is checked.
2. Select the Intra-Bar Order Generation tab.

© 2009 TS Support, LLC


180 MultiCharts 5.5 User Guide

3. Check Enable Intra-Bar Order Generation check box to allow the signal to generate orders within a bar;
uncheck the box to allow the signal to generate orders only at the close of each bar.
4. Select required mode:
· To limit each order command in this signal to one entry and one exit per bar, click Limit each order
command in this signal to one entry and one exit per bar radio button.
· To limit the signal to only one entry in total and only one exit in total per bar, click Limit this signal to one
entry and one exit per bar radio button.
· To allow the signal multiple entries and exits per bar, click Allow unlimited entries and exits per bar radio
button.
Note: Allowing multiple same-direction entry orders in the Position Limits section of Strategy Properties window
will not override the above settings.

© 2009 TS Support, LLC


MultiCharts | Studies 181

4.8.4 Indicator Scaling

Indicator Scaling

The Scale is located on the left or/and on the right side of the chart, and consists of a vertical line with marks, indicating values,
and identified by Labels. The values on the scale are specific to the indicator plotted on the chart. The scale represents the
value range, within which the indicator is plotted. To determine the value of a point on a chart, the vertical position of the point
is referenced to a value on the scale.
The Range of the scale and the top and bottom Margins can be set. The Labels, identifying scale's marks, can be customized.
A Linear or a Semi-Log (percent-of-change) type of scaling can be chosen.
Setting Scale Range 181

Four types of the Indicator Scale Range can be selected: Screen, Entire Series, User Defined, or Same as Symbol.

Screen Scale Range 181

The range of the Screen scale is equal to the range of the plot segment that is actually visible in the Chart Window.
Scrolling the chart along the time axis, so that another plot segment, with a different range, becomes visible, will
cause the range of the Screen scale to be adjusted accordingly.
Scale range can be set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Scale Range section, click the Screen radio button.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.

Entire Series Scale Range 181

The range of the Entire Series scale is equal to the range of the indicator’s entire plot, including any part of the plot
that extends beyond the segment actually visible in the Chart Window. Scrolling the chart along the time axis will not
cause the range of the Entire Series scale to be adjusted.
Scale range can be set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:

© 2009 TS Support, LLC


182 MultiCharts 5.5 User Guide

- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Scale Range section, click the Entire Series radio button.
Note: Entire Series scale range can not be used as a default.

User Defined Scale Range 181

The range of the User Defined scale is set by the user. A part of the plot that falls outside of the defined range will
not be displayed in the Chart Window.
Scale range can be set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Scale Range section, click the User Defined radio button.
4. In the Maximum text box enter the maximum value for the range.
5. In the Minimum text box enter the minimum value for the range.

Scale increments will be determined automatically. The maximum and minimum values may be rounded off.
Note: User Defined scale range can not be used as a default.

Same as Symbol 181

The range of the Same as Symbol scale is equal to the range of the base symbol's data series price scale. Format
Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.

© 2009 TS Support, LLC


MultiCharts | Studies 183

2. Select the Scaling tab.


3. In the Scale Range section, click the Same as Symbol radio button.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.
Setting Margins 181

Margins are the extra spaces between the visual representation of an indicator and the chart's upper and lower borders, and
are set as a percentage of the range of the plot's scale. Margins can not be set for a chart with a User Defined scale.
Margins are set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In Use Margins section, check the Use Margins check box to add margins; uncheck the box to not add
margins.
4. In the Top Margin text box enter the top margin as a percentage of the series price range.
5. In the Bottom Margin text box enter the bottom margin as a percentage of the series price range.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.
Setting Scaling Type 181

Two types of Scaling can be selected: Linear or Semi-Log.


A Linear scale is the conventional, absolute scale. A $10 change in price will always be represented by the same
displacement along the vertical axis, regardless of the base price from which the change took place.
A Semi-Log (percent-of-change) price scale is a percentage-based scale. A 10% change in price will always be represented
by the same displacement along the vertical axis, regardless of the absolute price change. A $5 price change from a $50
base price (10%) will be represented by the exact same vertical displacement as a $10 price change from a $100 base
price (10%), even though the absolute values of $5 and $10 are not equal.
Important: Margins should not be used with a Semi-Log price scale.
Scaling Type is set from the Format Indicator window:
1. Open the Format Indicator window.

How to set 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.

© 2009 TS Support, LLC


184 MultiCharts 5.5 User Guide

2. Select the Scaling tab.


3. In the Scaling Type section, click the Linear or the Semi-Log radio button, to select Linear or Semi-Log scale
type, respectively.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.
Scale Labels 181

Scale Labels are the numbers that appear next to the marks on the scale that indicate what value the marks represent.
If a chart contains multiple objects, the object, for which the label values are displayed, can be selected. The object is
selected separately for the right and for the left scales, making it possible to display different label values on the right than
on the left scale of the chart.
The numbers displayed on the labels can be abbreviated, and either the increment (step size) between the labels or the
total number of labels can be set.

Selecting Object for Label Values 181

The object, for which the label values on the scale are displayed, can be selected by right-clicking on the scale and
then clicking the #) Object Name, where # is the number, indicating the order in which the object has been added to
the chart.

Dividing Scale Label Values 181

The values of some indicators, for example volume, can be rather large, such as 25,000,000,000.
The numbers displayed on the labels can be abbreviated by dividing the values they represent by a set factor. For
example, a label for the value of 25,000,000,000, divided by a factor of 1,000,000,000, will read "25.00". Characters
can also be added to the end of the label, for example a "b", resulting in a label that reads "25.00 b" instead of the
"25,000,000,000".
You can elect to set the division factor automatically or manually.

Dividing Label Values Automatically 181

The division factor with the corresponding characters is selected automatically. To change the characters, see
Dividing Label Values Manually. Automatic selection of the division factor can be chosen from the Format Indicator
window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, check Divide Scale Labels check box.
4. Click the Auto radio button.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.

Dividing Label Values Manually 181

The division factor can be set manually, and the corresponding characters assigned, from the Format Indicator
window:
1. Open the Format Indicator window.

How? 181

© 2009 TS Support, LLC


MultiCharts | Studies 185

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, check Divide Scale Labels check box.
4. Click the Manual radio button.
5. In the drop-down list box select the division factor.
6. In the Displayed as text box enter the characters to be added to the end of the label for the selected
division factor; these characters will also be used when Dividing Label Values Automatically.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.

Canceling Label Value Division 181

Label value division is canceled from the Format Indicator window:


1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Divide Scale Labels section, uncheck Divide Scale Labels check box.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.
You can choose from three different settings that determine the increment (step size) between labels:
Automatic - the increment is optimized dynamically to aid the visual assessment of price levels
Set Step Size - the increment between labels is set manually
Set Number of Labels - a set number of labels is always displayed
Setting Label Step 181

In MultiCharts 3 label increment types are available for studies: Automatic, Fixed Step Size and Fixed number of Labels:
Automatic - displays axis labels with default settings;
Fixed step size - displays axis labels with fixed step between labels;
Fixed number of labels - displays limited numbers of axis labels.

© 2009 TS Support, LLC


186 MultiCharts 5.5 User Guide

Automatic 181

Increment between the labels is set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Set Labels Manually section, uncheck Set Labels Manually check box.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.

Set Step Size 181

Increment between the labels is set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Set Labels Manually section, check Set Labels Manually check box.
4. Click the Set Step Size radio button.
5. In the Set Step Size text box enter the increment value (step size), in units displayed on the scale.
Note: A label at each step will only be displayed if there is enough room on the scale.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.

Set Number of Labels 181

A fixed total number of labels can be set from the Format Indicator window:
1. Open the Format Indicator window.

How? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .

© 2009 TS Support, LLC


MultiCharts | Studies 187

The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Scaling tab.
3. In the Set Labels Manually section, check Set Labels Manually check box.
4. Click the Set Number of Labels radio button.
5. In the Set Number of Labels text box enter the fixed number of labels desired.
Note: The set number of labels will only be displayed if there is enough room on the scale.
Tip: To use these scaling settings as the default for the selected indicator, check Use as Default check box.
Configuring Fractional Price Scale Format for Studies 181

To display the price scale of studies in fractional format,


1. Make sure the price scale of the data series in which the study is based is in fractional format.
2. Open the Format Indicator window. (how to)

How to? 181

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
3. Select the Scaling tab.
4. In the Scaling Range section, select Same as Symbol.
5. Click OK.

© 2009 TS Support, LLC


188 MultiCharts 5.5 User Guide

4.8.5 Alerts

Alerts

Alert is a visual or/and audio notification triggered when the market conditions meet the criteria specified in the indicator. Audio
and visual alerts can be enabled simultaneously.
Alerts can only be used with the indicators containing Alert Triggering Conditions code. Most, but not all, indicators contain
alerts. To learn how to add alerts to indicators' code refer to the PowerLanguage manual.
A check for the alert triggering conditions is performed whenever one of the following events occurs:
- Workspace is opened
- Data series (symbol) is replaced with another data series (symbol)
- A bar is closed or a new tick is received
Enabling Alerts 188

Alerts can be enabled from the Format Indicator window:


1. Open the Format Indicator window.

How to set 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Alerts tab.
3. Check the Enable Alerts check box to enable alerts; uncheck the box to disable the alerts.

Tip: To use these alert settings as the default for all indicators, check Use as Default check box.
Alert Conditions Check 188

You can elect whether to check for Alert Triggering Conditions every time a new tick is received, or only at the close of each
bar.
Alert Conditions Check can be set from the Format Indicator window:
1. Open the Format Indicator window.

How to set 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Alerts tab.

© 2009 TS Support, LLC


MultiCharts | Studies 189

3. In the Alert Conditions Check section click the On Bar Close or the Every Tick radio button, to select the
alert triggering conditions to be checked at the close of each bar only, or every time a new tick is received,
respectively.

Tip: To use these alert settings as the default for all indicators, check Use as Default check box.
Audio Alerts 188

A PC speaker beep or a sound file played by the PCs sound card can be set as the audio alert type.

Setting Beep Alert 188

Alerts can be set from the Format Indicator window:


1. Open the Format Indicator window.

How? 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Alerts tab.
3. In the Audio Alert section, check the Audio Alert check box to enable audio alerts; uncheck the box to
disable the audio alerts.
4. Click the Beep radio button to set the PC speaker beep as the audio alert type.

Tip: To use these alert settings as the default for all indicators, check Use as Default check box.

Setting Sound Alert 188

Alerts can be set from the Format Indicator window:


1. Open the Format Indicator window.

How? 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-

click once the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand

, right-click and then click Format 'Indicator Name'; or:


- Open the Format Objects window; in the Indicators tab, select an indicator and click the
Format button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if
the Format check box in the Insert Study window is checked.
2. Select the Alerts tab.
3. In the Audio Alert section, check the Audio Alert check box to enable audio alerts; uncheck the box to
disable the audio alerts.
4. Click the Sound radio button to select a .wav sound file as the audio alert type.
5. Enter the path and name of the wave (.wav) sound file to be used into the File text box, or click the ...

© 2009 TS Support, LLC


190 MultiCharts 5.5 User Guide

button on the right side of the text box for Open dialog box, navigate to and select a sound file, and click
the Open button.
6. Click the Test button to test the alert.
7. Click the Play Once or the Repeat radio button, for the alerts to be played once or repeatedly,
respectively.

Tip: To use these alert settings as the default for all indicators, check Use as Default check box.
Visual Alert 188

Alerts can be set from the Format Indicator window:


1. Open the Format Indicator window.

How to set 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
2. Select the Alerts tab.
3. In the Visual Alert section, check the Visual Alert check box to enable visual alerts; uncheck the box to disable
the visual alerts.
4. In the Display Notify Window for drop-down list box select the length of time that the alert notification window
is to be displayed for.

Tip: To use these alert settings as the default for all indicators, check Use as Default check box.
E-mail Alert 188

E-mail alerts can be sent when market conditions meet your defined criteria. This feature can be used to stay informed
about market conditions while away from the computer.
To add alert to study:
1. Make sure the study's PowerLanguage code contains alert code so that alerts will be triggered.
2. Open the Format Indicator window.

How to set 188

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once

the Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand ,
right-click and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format
button. See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the
Format check box in the Insert Study window is checked.
3. Select the Alerts tab.
4. Check Enable Alerts checkbox to enable alerts.
5. Check the E-mail Alert checkbox.

© 2009 TS Support, LLC


MultiCharts | Studies 191

6. Press the Settings button. The E-mail Alert window will appear.
7. Enter the email addresses of the sender.
8. Enter the email address of the recipient. To send the email to multiple recipients, separate each email address
with a semi-colon.
9. Enter the SMTP Server Name or IP address, and Port number into the textboxes. Please get this information
from your email provider.
10.Check the SMTP Server authentication data checkbox if your SMTP server requires authentication to send
emails. Enter the User name and Password.
11.Press the Test button to send a test email.
If the sending process has been successful a message will appear in the pop-up window:

If the sending process has been unsuccessful a message will appear in the pop-up window:

12.Press OK to close the E-mail Alert window.


Example of Email Alert Message:
01.10.2008 17:48:50 (alert time and date)
Source: Bollinger Bands (study that triggered alert)
Symbol: ESZ8 (traded symbol name)
Resolution: 1 Tick Bar (resolution used)
Price: 1157,5000 (price value at the moment when defined conditions has been met)
Message: Price crossing over lower price band (message carrying information about the study condition that has been
met)

© 2009 TS Support, LLC


192 MultiCharts 5.5 User Guide

4.8.6 Study Templates

Study Templates

Studies can be assembled into sets to create study Templates. Once a template is created, an entire set of studies can be
applied to any chart, at any time, with just one click. It is possible to switch between different templates and to apply several
templates at once. Study templates can include indicators as well as signals.
Templates can be Created, Applied, Renamed, and Deleted, set to be Auto-Applied to all new charts, as well as Exported to or
Imported from a file.
Creating Templates 192

A Template is created by saving a set of studies applied to a chart; to learn more see Applying Studies.
A template is saved using the Format Study Templates window:
1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Click the Save button.


3. In the Save Template dialog box that appears, enter a name for the template and click the OK button.

Applying Templates 192

A template is applied from the Format Study Templates window:


1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Select a template by clicking the template's name.


3. Click the Apply button.

Renaming Templates 192

A template is renamed in the Format Study Templates window:


1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Select a template by clicking the template's name.

2. Click the Rename button.


3. In the Rename Template dialog box that appears, enter a new name for the template and click the OK button.

Deleting Templates 192

A template is deleted in the Format Study Templates window:


1. Open the Format Study Templates window.

© 2009 TS Support, LLC


MultiCharts | Studies 193

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Select a template by clicking the template's name.


3. Click the Delete button.
4. In the Remove Study Template confirmation dialog box that appears, click Yes to delete the template.

Auto-Apply Templates 192

One or more templates can be set to be automatically applied to all new charts.
Auto-Apply is set from the Format Study Templates window:
1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Check the check box next to the name of each template to be automatically applied.
3. Click the Close button; checked templates will be automatically applied to all new charts.

Exporting Templates 192

A template can be exported to a file with a .tml extension by using the Format Study Templates window:
1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Select a template to be exported by clicking the template's name.


3. Click the Export button.
4. In the Save As dialog box that appears, choose the name for the template file and click the Save button.

Importing Templates 192

A template can be imported from a file by using the Format Study Templates window:
1. Open the Format Study Templates window.

How? 192

To open the Format Study Templates window, right-click on an empty area of the chart and then click
Format Study Templates.
The Format Study Templates window can also be opened by selecting Format in the main menu and
clicking Study Templates.

2. Click the Import button.


3. In the Open dialog box that appears, navigate to and select the template file, and click the Open button.

© 2009 TS Support, LLC


194 MultiCharts 5.5 User Guide

4.8.7 Volume Profile

Volume Profile

To view the Volume Profile histogram,


1. Open the Format Study window.
How? 194

To open the Format Indicator window, position the mouse pointer over the indicator; double-click once the

Pointer changes into a Hand .


The Format Indicator window can also be opened by one of the following methods:

- Position the mouse pointer over an indicator; once the Pointer changes into a Hand , right-click
and then click Format 'Indicator Name'; or:
- Open the Format Objects window; in the Indicators tab, select an indicator and click the Format button.
See Opening Format Objects Window.
Note: The Format Indicator window for the indicator being inserted will open automatically if the Format
check box in the Insert Study window is checked.
2. Select the Volume Profile tab.
3. Select the Data Type drop-down box. Choose the study.
4. In the Data Range section,
· Select Last Session to base the time period of the volume profile on the last session, or
· Select Screen to base the time period of the volume profile on the data shown on the screen, or
· Select Entire Series to base the time period of the volume profile on the entire data series, or
· Select Back to base the time period of the volume profile on the specified number of periods.

5. In the Volume Bar Step section,


· Select Pixels to base the bins of the volume profile on the specified number of pixels, or
· Select Units to base the bins of volume profile on the specified number of units.

6. Select OK to close the Format Symbol window.


7. Open the Format Window window.
How? 194

To open the Format Window window, click the Format Window icon on the Chart Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
8. Select the Volume Profile tab.
9. In the Settings section, select the Left checkbox to display the volume profile on the left side of the chart. Select
the Right checkbox to display the volume profile on the right side of the chart. Enter the width of the display after
selecting either the left or right side.
10.In the Style section, select the color of the volume profile.
11.Select OK.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 195

4.9 Strategy Trading


4.9.1 Strategies
4.9.1.1 Understanding Strategies

Understanding Strategies

A strategy is a set of signals, applied to a chart. Signals systematically specify market entry or exit points according to a set of
trading rules implemented in the signals' algorithms, and can be viewed as the basic building blocks of strategies.
While signals can be based on the same formulas as indicators, signal calculations are substantially more complex and take in
to account a far greater number of factors, such as trading costs, order generation priorities, and strategy performance
measurements, that affect market entry and exit conditions. Signal algorithms utilize price action models and make use of
backtesting concepts. Signal logic can make assumptions about price movement within bars that allow appropriate market
entry and exit points to be determined when intra-bar data is not available. Signals compile strategy performance data and
support backtesting and Automated Trade Execution.
Over 100 pre-built, customizable signals, covering the most popular trading concepts, are already included with the platform,
and additional signals can be imported from a variety of sources.
Signals can be fully customized, or entirely new signals created, using PowerLanguage® scripting in PowerLanguage Editor.
Strategies are constructed by simply applying a set of signals to a chart window, without the need to combine signal code
manually.
To learn about applying signals to a chart, see Using Studies 168

To learn about signal settings, see Signal Settings 178

Market entry or exit points, specified by the signals, can be used to send orders electronically directly to the broker, fully
automating the trading process.
To learn more, see Automated Trade Execution
Strategy Properties 196 , separate from the individual signals’ settings, regulate the actions of a group of signals as a whole.
An essential part of developing a trading strategy is Strategy Backtesting. To learn more about backtesting, see Backtesting
199

© 2009 TS Support, LLC


196 MultiCharts 5.5 User Guide

4.9.1.2 Strategy Properties

Strategy Properties

Strategy properties are separate from the individual signals' settings, affect all the signals applied to a chart, and regulate the
actions of a group of signals as a whole.
Strategy properties include Costs/Capitalization, Maximum bars back, Position limits, and Trade size sections.
Setting Costs/Capitalization 196

Cost/Capitalization section includes Commission, Slippage, and Initial Capital and Interest Rate settings.
Strategy properties are set from the Properties tab of the Strategy Properties window:
1. Open the Strategy Properties window.

Opening Strategy Properties Window 196

To open the Strategy Properties window:


1.1.Open the Format Objects window.

Opening Format Objects Window 196

To open the Format Objects window, right-click on an empty area of the chart and
then click Format Signals.
The Format Objects window can also be opened by selecting Format in the main
menu and clicking Signal.

1.2.Select the Signals tab.


1.3.Click Properties to open the Strategy Properties window.
1.4.Select the Properties tab.
1.5.In the Costs/Capitalization section, in the Commission box, enter the commission;
· Click per Trade to select commission per trade.
· Click per Share/Contract to select commission per share/contract

1.6.In the Slippage box, enter the slippage;


· Click per Trade to select slippage per trade.
· Click per Share/Contract to select slippage per share/contract

1.7.In the Init Capital box, enter the Initial Capital, and in the Interest Rate box, enter the interest rate to be
used in the performance ratio calculations.

Setting Maximum Bars Back 196

All signals based on past data use a certain number of bars for their calculations. The number of bars is
called Maximum number of bars a study will reference, or Maximum Bars Back.
Maximum Bars Back value is set from the Properties tab of the Strategy Properties window:
1.8.Open the Strategy Properties window.

Opening Strategy Properties Window 196

To open the Strategy Properties window:


· Open the Format Objects window.

Opening Format Objects Window 196

To open the Format Objects window, right-click on an empty area of


the chart and then click Format Signals.
The Format Objects window can also be opened by selecting
Format in the main menu and clicking Signal.

· Select the Signals tab.


· Click Properties to open the Strategy Properties window.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 197

· Select the Properties tab.


· In the Maximum Bars Back box enter the maximum number of bars the signals will reference.
Note: The Maximum Bars Back value should not exceed the actual number of bars
plotted on the chart.
Setting Position Limits 196

Position limits section allows setting the maximum number same-direction entry orders and
maximum number of shares/contracts per position.
Strategy properties are set from the Properties tab of the Strategy Properties window:
· Open the Strategy Properties window.

Opening Strategy Properties Window 196

To open the Strategy Properties window:


1.8..1.Open the Format Objects window.

Opening Format Objects Window 196

To open the Format Objects window, right-click on


an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by
selecting Format in the main menu and clicking
Signal.

1.8..2.Select the Signals tab.


1.8..3.Click Properties to open the Strategy Properties window.
1.8..4.Select the Properties tab.
1.8..5.In the Position limits section:
· To allow multiple same-direction entry orders (known as pyramiding):
1.8..5..1.Check the Allow up to N entry orders in the same direction as the currently held
position checkbox.
1.8..5..2.Enter the maximum number of entries into the entry orders box.
1.8..5..3.Select when the order is generated by a different entry order to limit entries to one per
each entry order, or select regardless of the entry that generated the order to allow multiple
entries by the same entry order.

· To prevent multiple same-direction entry orders, clear the Allow up to N entry orders in the same
direction as the currently held position checkbox.

1.8..6.In the Maximum shares/contracts per position box, enter the maximum position limit.

Setting Trade Size 196

Trade size settings set the size of each trade, either by the number shares/
contracts or by currency value.
Trade size settings select the number shares/contracts or the currency value
per each trade.
Please note that these settings are ignored if trade size is specified by the
signal.
Trade size settings are set from the Properties tab of the Strategy
Properties window:
1.8..7.Open the Strategy Properties window.

Opening Strategy Properties Window 196

To open the Strategy Properties window:


· Open the Format Objects window.

Opening Format Objects Window 196

To open the Format Objects window,

© 2009 TS Support, LLC


198 MultiCharts 5.5 User Guide

right-click on an empty area of the


chart and then click Format Signals.
The Format Objects window can also
be opened by selecting Format in the
main menu and clicking Signal.

· Select the Signals tab.


· Click Properties to open the Strategy Properties window.
· Select the Properties tab.
· In the Trade size section:
1.8..7..1.Select Fixed Shares/Contracts to specify the trade size by number of shares or contracts,
and enter the number of shares or contracts into the box, or:
1.8..7..2.Select Dollars per Trade to specify the trade size by currency value of the transaction, and
enter the currency value in to the box. To round the number of shares or contracts down to the
nearest number of lots of certain size, enter the lot size in the Round down to nearest shares/
contracts box. To specify a minimum number of shares/contracts (lot) to trade, enter the lot size
in the Minimum number shares/contracts box; if the amount entered in Dollars per Trade box is
not sufficient to trade the minimum number of shares/contracts, the trade will not be executed.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 199

4.9.2 Backtesting
4.9.2.1 Understanding Backtesting

Understanding Backtesting

A strategy is a set of Signals 178 applied to a chart. Each Signal 178 is a mechanical technical analysis tool, used to
systematically specify market entry or exit points according to a set of trading rules implemented in the signal’s algorithm.
Note: A strategy has separate Properties 196 , separate from signals' settings.
Once a strategy is applied to a chart, the backtesting process starts. During the backtesting process, the strategy places trades
where they would have occurred the past, according to the set of rules applied. The trades are placed throughout the entire
available period of historical data. If strategy is applied to real-time chart, the strategy continues to place new trades as the
real-time data is received.
A Performance Report 201 can be generated, based on the trades placed by the strategy and containing statistics and
performance measurements.
Note: New trades, placed by the strategy after the performance report has already been generated, will not be added to
the performance report in real time. To incorporate the new trades into the performance report should be
generated again.
Understanding Report-Chart Synchronization 199

MultiCharts allows the user to visually match the trades from a Strategy Performance Report with their signals on the chart.
For strategies that have hundreds of trades over a long data series, it may be cumbersome to manually match a trade in
the Strategy Performance Report to the chart.
The user would have to use the scroll button to find the trade in the data series. Report-Chart Synchronization simplifies this
process. Trades on the chart are automatically highlighted when the user hovers his mouse over a trade in the Strategy
Performance Report.
To learn more about this feature, see Setting Display Properties 201

Learn more about Signals 178


Learn more about Performance Report 201

Understanding Intra-Bar Orders Calculations


Strategy Order Calculation in Real-Time
Each time a new real-time tick is received, MultiCharts evaluates the data to determine if entry or exit order conditions of the
strategy are met on that tick. If the conditions are met, the appropriate order is issued.
In some cases it may be possible that both the entry and the exit orders will be executed based on the same tick.
For a detailed description see Order Execution Priority 308

Strategy Order Calculation for Historical Data


Historical data available for backtesting will, in most cases, be in the form of bars based on a group of ticks, with only Open,
High, Low, and Close prices available.
While it is not possible from these four values to infer the actual price movement within each bar, the Backtesting Engine
improves the backtesting accuracy by incorporating intra-bar price movement assumption logic.
For a detailed description of the movement assumption logic, see Intra-Bar Price Movement Assumptions 200

In some cases it may be possible that both the entry and the exit orders will be executed based on the same bar.
For a detailed description see Order Execution Priority 308

© 2009 TS Support, LLC


200 MultiCharts 5.5 User Guide

4.9.2.2 Intra-Bar Price Movement Assumptions

Intra-Bar Price Movement Assumptions

Strategy Backtesting on historical data often requires making assumptions about price movement within bars.
In real-time trading, a strategy will monitor and respond to a data feed on tick-by-tick basis. However, the historical data
available for backtesting will, in most cases, be in the form of bars based on a group of ticks, with only Open, High, Low, and
Close prices available.
While it is not possible from these four values to infer the actual price movement within each bar, the Backtesting Engine
improves the backtesting accuracy by incorporating intra-bar price movement assumption logic:
1. An order could be executed at every valid price level throughout the entire range of the bar.
2. If the opening price is closer to the high of the bar than to the low, the intra-bar price movement is assumed to be
in the order of Open-High-Low-Close.
3. If the opening price is closer to the low of the bar than to the high, or if the opening price is exactly in between the
high and the low of the bar, the intra-bar price movement is assumed to be in the order of Open-Low-High-Close.

The first assumption implies that a Stop or a Limit order will execute at the Stop or the Limit price.
The second and third assumptions are significant when there are multiple orders active at the same time. If both a Stop Loss
and a Profit Target prices are reached within the same bar, the order of price movement within the bar will determine which one
of these orders will be executed.
For example, with a Stop Loss at 1340 and a Profit Target at 1360:

· In a bar with an Open of 1355, a High of 1360, a Low of 1340, and a Close of 1345, the Profit Target will be assumed to
have executed first (Assumption 2).
· In a bar with an Open of 1345, a High of 1360, a Low of 1340, and a Close of 1355, the Stop Loss will be assumed to have
executed first (Assumption 3).

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 201

4.9.2.3 Using Performance Report

Using Performance Report

Basing on the trades placed in the chart the performance report can be calculated to comprehensively analyze the strategy
performance measures as well as trades list and statistics. There over 100 performance indices are available for analysis
including about 30 charts.
Attention: The new trades occurred are not being included in the performance report in realtime. To include the new trades
occurred the performance report should be re-opened again.
Attention: In case signals were added or deleted the performance report should be re-opened again.
Note: Only one performance report can be opened at a time.
Accessing Performance Report 201

To access a Strategy Performance Report:


1. Apply a strategy 195 to a chart.
2. In the menu select View then click Strategy Performance Report.

Viewing Performance Report 201

In MultiCharts the Performance Report features a tri-panel design. Left panel is a navigation structure while the upper right
one displays performance data.
Tip: Upon left-clicking on any performance index its description will appear in the lower right panel.

Viewing Performance Indices 201

To view performance indices:


1. In the left panel select a performance indices section to review.
2. In the right side move cursor on a performance index required. The cursor will change into Description

cursor then left-click.

3. In the lower right panel a text description will appear. Click Close button to close the description
panel.

4. Use Back and Forward toolbar buttons to move between the Performance Report sections.

Viewing Performance Charts 201

To view performance charts:


1. In the left panel select a performance chart to review.

2. Click Zoom In or Zoom Out toolbar buttons for zooming charts in an out respectively. Click

Reset Zooming to reset a zoomed chart.

3. Use Pan or Cross cursor modes for moving charts or precise reviewing chart values
respectively.

4. Use Back and Forward toolbar buttons to move between the Performance Report sections.

Understanding Report-Chart Synchronization 201

MultiCharts allows the user to visually match the trades from a Strategy Performance Report with their signals on the chart.
For strategies that have hundreds of trades over a long data series, it may be cumbersome to manually match a trade in
the Strategy Performance Report to the chart.
The user would have to use the scroll button to find the trade in the data series. Report-Chart Synchronization simplifies this
process. Trades on the chart are automatically highlighted when the user hovers his mouse over a trade in the Strategy
Performance Report.
To learn more about this feature, see Setting Display Properties 201

© 2009 TS Support, LLC


202 MultiCharts 5.5 User Guide

Setting Performance Report Properties 201

It is possible in MultiCharts to set financial and display settings for the Performance Report.
Financial settings allow to better analyze the strategy performance with different costs, statistic and risk level settings.
Display settings allow to configure visual setting for the report. It is possible to display the report figures in dollars or in a
regional currency, set number of decimals to use and smoothing for charts. It is also posiible to display trades with partial
exits basing on entries or on exits.

Setting Financial Properties 201

To set financial properties:

1. In the Strategy Performance Report window click Settings toolbar button.


2. Select the Financial tab.
3. Set appropriate properties or click Default to set back to the default settings.

Learn More 201

Point value – review Big Point Value 263 definition.


Initial capital - Initial capital to start strategy performance calculations with.
Commission - the amount supposed to be paid to broker for trades execution. The commission
can be set on "per contract" or on "per trade" basis.
With Per Contract option, the Commission value is multiplied for the each trade by the double
number of contracts in the trade (i.e. for Entry and Exit).
With Per Trade option, the Commission value value is multiplied for each trade by the 2 (i.e. for
Entry and Exit).
The default Commission value is zero.
Slippage - the amount reserved for differencies between the expected and actual order execution
price. The commission can be set on "per contract" or on "per trade" basis.
With Per Contract option, the Slippage value is multiplied for the each trade by the double
number of contracts in the trade (i.e. for Entry and Exit).
With Per Trade option, the Slippage value is multiplied for each trade by the 2 (i.e. for Entry and
Exit).
The default Slippage value is zero.
Margin per contract - the amount to be borrowed when trading on a margin account. This
number is used in some report indices calculation.
Interest rate - the rate used in some report indices calculation. Usually the Treasury Bill rate is
used.
No. of standard deviations – the number of standard deviations is used in some report indices
calculation. The default is 1.
Minimal acceptable rate of return – reference point for Sortino Ratio (See "Performance Ratios"
section in the Performance report)
Degree of risk aversion of the investor - reference point for Fouse Ratio (See "Performance
Ratios" section in the Performance report)

4. Click OK.

Setting Display Properties 201

To set display properties:

1. In the Strategy Performance Report window, click the Settings toolbar button.
2. Select the Display tab.
3. Select USD to display the report in U.S. dollars or select Regional Currency to display the report in
another currency. If Regional Currency is selected, enter the exchange rate in the USD/$ rate textbox.
4. Set No. of digits after decimal to the required precision level.
5. In the Performance & Quality section, select the appropriate smoothing.
6. Select the Enable Strategy Performance Report – Chart Synchronization check box to visually match
the trades in the performance report to the signals in the chart. Two additional options become available
if this checkbox is selected:
· Select the Entry-based radio button to match the trade in the performance report to its entry signal in
the chart.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 203

· Select the Exit-based radio button to match the trade in the performance report to its exit signal in the
chart.

To use this feature, in the Strategy Performance Report:


· Expand Trade Analysis in the tree view pane.
· Select List of Trades.
· Hover the mouse pointer over any trade on the list. The trade on the list will be matched with the
signal for this trade in the chart. The signal on the chart will be highlighted.

7. Select Recalculate the Report on each new order checkbox to update the Strategy Performance
Report in real-time with each new trade. If a new trade is made while the Strategy Performance Report is
open, the Strategy Performance Report will be updated immediately with the new trade.
If this checkbox is unchecked, then the Strategy Performance Report will be updated with the new trade
only after closing and reopening the Strategy Performance Report.

8. Click OK.

Saving Performance Report 201

To save the Performance Report:

1. In the Strategy Performance Report window click Save toolbar button.


2. In the Save As dialog window appeared navigate to the required file location.
3. In the File Name field type in the file name.
Note: The file name with symbol name included in it is supplied automatically.

4. In the Type field select the file type. There are 2 types available: *.XLS (MS Excel) and *.XML (XML RINA).
5. Click Save.
Attention: To save data in an .XLS format a full version of Microsoft Excel must be installed on the computer. Once saved
the .XLS file may be read by any Excel compatible application.
Note: In the *.XLS file the entire report will be saved (including charts).
Printing Performance Report 201

It is possible in the Performance Report to print a selected section or chart.


To print a selected section or chart:
1. In the left panel of the Strategy Performance Report select a section or a chart to be printed.

2. Click Print toolbar button.


3. The standard print dialog will appear.
4. Click OK.

or
1. In the left panel of the Strategy Performance Report select a section or a chart to be printed.

2. Click Print Preview toolbar button. The Print Preview dialog will appear.

3. Use Magnify Mode or Whole Page toolbar buttons to preview the page.

4. Click Print toolbar button to access the print dialog.


5. Click Close button to close the window.

© 2009 TS Support, LLC


204 MultiCharts 5.5 User Guide

4.9.2.4 Bar Magnifier

Bar Magnifier

The Bar Magnifier backtest feature is important for precise backtesting. Bar magnifier can be considered as a replay of the way
a bar was formed. The user can choose a replay frequency that is based on number of ticks or number of minutes.
There is a tradeoff between the level of precision in a replay and memory requirements. Tick-by-tick replay is the most precise,
but it also requires the most memory. If the strategy does not require high precision, then replays based on n-ticks or n-minutes
may be sufficient.
For example, Bar Magnifier is helpful when both the profit target and stop loss occurred on the same bar. In this situation, it is
unclear whether the profit target or the stop loss occurred first. With Bar Magnifier, MultiCharts is able to see how the bar was
formed to determine whether the profit target or the stop loss occurred first.
We suggest to use tick because most precise
To use the feature:
1. Open the Strategy Properties window.
How? 204

To open the Strategy Properties window:


1.1.Open the Format Objects window.

How? 204

To open the Format Objects window, right-click on an empty area of the chart and then
click Format Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:
- Position the mouse pointer over any one of the signal's labels on the chart; once the

Pointer changes into a Hand, right-click the label and then click Format Signals
1.2.Select the Signals tab.
1.3.Click Properties button to open the Strategy Properties window.

2. Select the Backtesting tab.


3. In the Backtesting Precision section, select the Use Bar Magnifier checkbox. MultiCharts will break down each
bar into a series of lower resolution bars so that it can look to see how the bar was formed.
3.1.Select the Tick radio button if the chart has tick-based resolution. Enter the number of ticks for the lower
resolution bars. The number of ticks must be at a lower resolution than the chart resolution.
or

3.2.Select the Intra-day radio button if the chart has minute resolution or daily resolution. Enter the number of
minutes for the lower resolution bars. The number of minutes must be at a lower resolution than the resolution of
the chart.
or

3.3.Select the Daily radio button if the chart has weekly resolution or higher. MultiCharts will break down each bar
into daily bars to see how the bar was formed.

4. Select the Skip ticks with identical prices checkbox for faster backtesting. MultiCharts will skip ticks with
identical prices when it constructs the lower resolution bars.
Note: If a strategy is based volume, then selecting this box may disrupt the volume calculations.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 205

4.9.2.5 Order Linking

Order Linking

Strategy signals are visually shown on the chart using arrows. If a strategy uses several different entry signals, then it can be
difficult to see clearly which entry signal was exited.
Order Linking draws a line from the entry signal to the exit signal so that it is possible to visually match an entry signal with its
exit signal. Order linking also makes it clear which trades are profitable or not profitable on the chart.
The lines are color coded. The default colors for the lines are as follows:
Green: profitable trade
Red: unprofitable trade
To change the settings:
1. Open the Format Signal window.
How? 205

To open the Format Signal window, position the mouse pointer over one of the signal's Arrows, Ticks, or

Labels; double-click once the Pointer changes into a Hand ; in the Format Objects window that
appears, select a signal and click the Format button.
The Format Signal window can also be opened by one of the following methods:

- Position the mouse pointer over one of the signal's Arrows, Ticks, or Labels; once the Pointer changes

into a Hand , right-click and then click Format Signals; in the Format Objects window that appears,
select a signal and click the Format button; or:
- Open the Format Objects window; in the Signals tab, select a signal and click the Format button.
Note: The Format Signal window for the signal being inserted will open automatically if the Format check box
in the Insert Study window is checked.
2. Select the Signal tab.
3. Select the strategy and select the Format button. A window to format the strategy will appear.
4. Select the Connecting Line tab.
5. Check the Show Connecting Line checkbox to show the connecting lines.
6. In the drop-down lists, select the setting for the Line Style, Line Weight, Profitable Line Color, and Unprofitable
Line Color.
7. Select the OK button.

© 2009 TS Support, LLC


206 MultiCharts 5.5 User Guide

4.9.2.6 Understanding Precise Back Testing

Understanding Precise Back Testing

Depending on the strategy, Precise Strategy Back Testing can give the user a more realistic emulation during back testing. To
back test high frequency strategies like statistical arbitrage, the user may need take into account the historical bid/ask data in
addition to the historical trade data.
With Precise Back Testing, the user can load the historical bid data series and the historical ask data series into MultiCharts.
MultiCharts will use the ask data series to fill buy market orders and buy stop orders. Similarly, MultiCharts will use the bid data
series to fill sell market orders and sell stop orders.
Consider a situation where a market order to buy 1 contract and a market order to sell 1 contract are submitted at the same
time at the close of a bar. If the user only uses the trade data series, then there is only one price for the close. The back test
will show that these two orders were filled at the same price, and the profit/loss is zero. In reality, there’s a bid/ask spread. If
the price quote doesn’t move suddenly, then these two orders will undoubtedly generate an instantaneous loss due to the bid/
ask spread. That’s why it’s more precise to back test with a bid data series and an ask data series.
Consider another situation where the trade price doesn’t occur on either the bid or the ask. Due to liquidity or other reasons,
the historical data series may show that the trade price was either in between or outside the bid/ask. In this situation, the user
may want to be conservative and assume fills at the bid/ask instead of at the trade price.
Consider a third situation where there is sufficient liquidity and the trades do occur on the bid/ask. The strategy uses 10 minute
bars. The strategy buys 1 contract at 10:00am and exits the position at 11:00am. The PowerLanguage code for such a strategy
is as follows:
If Time=1000 Then Buy 1 Contract This Bar on Close;
If Time=1100 Then Sell 1 Contract This Bar on Close;
If this strategy was back tested on simply a data series of historical trade prices, then the back test will assume that the trades
were filled at the close prices of the bars. However, it’s unclear whether the trades would have been filled at the close prices,
because the close prices could have been on either the bid or the ask.
If the close price was an ask price and the strategy was buying, then the fill price was realistic. However, if the close price was
a bid price and the strategy was buying, then the fill price was unrealistic.
If the close price was a bid price and the strategy was selling, then the fill price was realistic. However, if the close price was an
ask price and the strategy was selling, then the fill price was unrealistic.
With Precise Back Testing, users can load two separate data series onto the chart. The first data series is for historical bid
prices. The second data series is for historical ask prices. MultiCharts will use these two data series to determine realistic fill
prices. The bar’s close will have a bid and an ask price associated with it. MultiCharts will use the ask price to fill a market buy
order and the bid price to fill a market sell order.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 207

4.9.2.7 Using Precise Back Testing

Using Precise Strategy Back Testing

To use Precise Strategy Back Testing:


1. Make sure the symbol contains historical bid and ask data.
2. Add the symbol into a chart window.
3. Designate this chart as the Ask data series.
3.1.Open the Format Window window:
How? 207

To open the Format Window window, click the Format Window icon on the Chart
Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
3.2.Select the Settings tab.
3.3.In the Quote Field drop-down list, select Ask.
3.4.Select OK.

4. Add the same symbol into the same chart window. The chart window now has two charts.
5. Designate this chart (the second chart) as the Bid data series.
5.1.Open the Format Window window:
How? 207

To open the Format Window window, click the Format Window icon on the Chart
Analysis toolbar.
The Format Window window can also be opened by one of the following methods:
- Double-click on an empty area of the chart, or on the chart's Status Line; or:
- Right-click on an empty area of the chart and then click Format Window; or:
- Select Format in the main menu and click Window.
5.2.Select the Settings tab.
5.3.In the Quote Field drop-down list, select Bid.
5.4.Select OK.

6. Apply the strategy to the Ask data series, which is the first chart. It does not matter if the strategy is applied to the
Ask data series or the Bid data series. It only matters that the strategy is applied to the first chart.
6.1.Open the Strategy Properties window:
How? 207

To open the Strategy Properties window:


6.1.1.Open the Format Objects window:

Opening Format Objects Window 207

To open the Format Objects window, right-click on an empty area of the chart
and then click Format Signals.
The Format Objects window can also be opened by one of the following
methods:
- Select Format in the main menu and click Signal; or:

© 2009 TS Support, LLC


208 MultiCharts 5.5 User Guide

- Double-click any one of the signal's labels on the chart; or:


- Position the mouse pointer over any one of the signal's labels on the chart;

once the Pointer changes into a Hand, right-click the label and then
click Format Signals
6.1.2.Select the Signals tab.
6.1.3.Click Properties to open the Strategy Properties window.

6.2.Select the Backtesting tab.


6.3.Select the Extended. The strategy backtesting engine emulation based on bid & ask series data radio
button.
6.4.In Use for ask series data, select the ask series data.
6.5.In Use for bid series data, select the bid series data.
6.6.Click OK.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 209

4.9.3 Optimization
4.9.3.1 Understanding Optimization

Understanding Optimization

A strategy is created by implementing trading concepts, ideas, and observations of historical market behavior, into a trading
system. The very idea of a trading system implies a degree of optimization to market behavior.
The process of strategy optimization further enhances and automates this process. Strategy optimization is the search for the
set of optimum parameters for the defined criteria. By testing a range of signal input values, optimization aids in selecting the
values that correspond, based on historical data, to the best strategy performance. Optimization aids in better understanding of
strategy's characteristics and in creating new criteria for entries and exits.
Different traders use different criteria to define strategy performance. Some traders use the highest net profit, while other
traders use the lowest drawdown. MultiCharts lets the trader define his own criteria.
Optimization can have detrimental effects if the user searches for the combination of inputs based solely on the best
performance over a period of historical data and focuses to much on market conditions that may never occur again. This
approach is known as over-optimization or curve-fitting. Performance will not be the same in real trading, since historical
patterns are highly unlikely to be repeated.
Optimization Methods
There are two optimization methods: Exhaustive Search and Genetic Algorithm.
Understanding Exhaustive Search Optimization 209

Exhaustive, also called Brute-Force, optimization systematically goes through all the potential combinations in search for
the best solution. The advantage of this approach is every single combination will be checked and the absolute optimum
solution identified.
The length of time required for Exhaustive optimization is proportional to the total number of all possible solutions. The
drawback of this approach is that, unless relatively few parameters are involved, the period of time required to reach a
solution may turn out to be unacceptably long. Thus, exhaustive optimization may only be suitable when there is a limited
number of possible solutions.
Understanding Genetic Algorithm Optimization 209

Genetic Algorithms optimization evaluates only the more promising combinations, finding near-optimum solutions in a
fraction of time that would be required by the brute-force approach, making Genetic Algorithms optimization powerful
enough to analyze strategies with hundreds of parameters. Genetic Optimizer settings add flexibility to this technique.
GA-based search algorithms utilize methods that mimic a biological evolution. The algorithms start by testing a number of
random combinations, select the combinations with the most potential, and then further combine and modify them to finally
arrive at the best input combinations. Instead of mechanically checking every conservable combination, genetic algorithms
quickly narrow down the number of potential winners, finding and focusing on the areas that are most profitable and most
stable. Thus, genetic algorithms avoid superfluous calculations in the lowest net profit potential zones. GA approach is well
known and accepted in many fields where optimization is required.
The drawback of the GA approach is that the solution found will be a solution approaching the absolute optimum solution,
but not necessarily the absolute optimum solution itself. This drawback, however, is handsomely offset by the processing
power and time savings in cases with a large number of possible solutions.
In general, GA's work is primarily about two abstracts: an Individual (or Genome) and an Algorithm (i.e. Genetic Algorithm
itself). Each Genome instance represents a single unique inputs combination, while GA itself defines how the evolution
should take place. The GA uses a given trading strategy to determine how 'fit' a genome is for survival, e.g. how much Net
Profit does an inputs combination generates in case Net Profit was selected as an Optimization Criteria.
Here are some GA definitions that help in understanding the process:
Fitness - the overall performance of an individual (e.g. Net Profit). Genome (Individual) - a unique combination of strategy
input values. Gene - one of the input variables of a given strategy. Chromosome - a set of genes, usually related in
function. Crossover - a procedure for generating a “child” from two “parent” genomes. Crossover involves multiple
genomes. Mutation - a process when a gene is changed and receives a value that is neither from the "mother" or the
"father". Mutation involves only a single genome each time. Generation (Population) - a group of individuals (genomes),
all “born” at about the same time. Convergence - the extent of improvement in the average fitness between two
consecutive generations; as the degree of improvement is decreasing, the generations are said to be converging.
In brief, the optimization process works as follows:
1. Based on a multitude of inputs combinations provided, a population of genomes is created.
2. The fitness of each individual is evaluated.

© 2009 TS Support, LLC


210 MultiCharts 5.5 User Guide

3. The fittest members are retained, and the least fit members gradually discarded.
4. A new population of individuals is generated from the remaining members of the previous population by
applying the crossover and mutation operations, as well as selection and/or replacement strategies (built into
the GA).
5. The fitness of these new individuals is evaluated, the fittest members retained, and the least fit members
gradually discarded
6. The process is repeated, until the specified degree of convergence or generation number is reached (depends
on GA setting selected).

Detailed Description of GA Process 209

In detail, the optimization process works as follows:


1. After a number of all possible combinations is determined, an optimal number of individuals is selected.
2. Each individual is selected at random. These individuals form the first Generation. The optimal number
of individuals is automatically placed in Population Size field and can be changed manually.
Tip: An excessively large Population Size value will result in an increase in calculation time, while
an overly small Population Size value will result in a decrease in calculation accuracy.
Note: MultiCharts' GA support artificially exclusive population. This means that identical individuals
cannot exist inside the same population, and thus the population size can not exceed the total
number of input combinations. The population size is constant for each generation.
3. The fitness of each individual is evaluated and the least fit individuals discarded.
4. A new population of individuals is generated from the remaining members of the previous population by
applying the crossover and mutation operations, as well as selection and/or replacement strategies that
depend on the GA subtype:
Crossover and Mutation
MultiCharts uses the so-called Array Uniform Crossover. With this Crossover type, each of the child’s
genes can come from each of the parents with equal probability.
In the Crossover Probability field, the probability of a crossover for each individual is specified; the
usual value range is 0.95-0.99, with the default value of 0.95.
MultiCharts uses the so-called Random Flip Mutation. With this Mutation type, each gene can be
replaced with any other possible gene on random basis.
In the Mutation Probability field, the probability of a mutation for each individual is specified; the usual
value range is 0.01-0.05, with the default value of 0.05.
Tip: An excessively large Mutation Probability value will cause the search to become a primitive
random search.
GA Subtypes and Replacement Schemas
GA subtype defines the way that GA creates new individuals and replaces old individuals when creating
next generations.
GA subtype can be set in the Genetic Algorithm Subtype drop-down list.
Two GA subtypes are available: Basic and Incremental.
Basic subtype is the standard so-called “simple genetic algorithm”. This algorithm uses non-overlapping
generations and Elitism mode (optional). For each generation, the algorithm creates an entirely new
population of individuals (if the Elitism option is selected, the most fit individuals move on to the next
generation).
Elitism
Elitism mode, available for the Basic GA subtype only, allows the fittest individuals to survive and
produce “children” over a span of multiple generations.
Incremental subtype does not create an entirely new population for each generation. It simply adds only
one or two children to the population each time the next generation is created. These one or two children
replace one or two individuals in the previous generation. The individuals to be replaced by the children
are chosen according to the Replacement Schemas used.
Replacement Schemas
Replacement Schemas are available for Incremental subtype only. Schemas define how a new
generation should be integrated into the population. There are three schemes available: Worst, Parent,
and Random.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 211

Worst – least fit individuals are replaced


Parent – parent individuals are replaced
Random – individuals are replaced randomly
Offspring Number
Offspring Number is the number of children to be added each time that a new generation is created. One
or Two children can be added.

5. The fitness of each individual is evaluated and the least fit individuals discarded.
6. The process is repeated, until the specified degree of convergence or generation number is reached
(depends on GA setting selected).

GA Convergence Type
Genetic Algorithms optimization process has no implicit final result and thus can proceed forever. Therefore, an
“ending-point” must be specified, indicating when the optimization process must come to an end.
Two GA optimization “ending-point” criteria types can be selected: Terminate-Upon-Generation and Terminate-
Upon-Convergence.
Terminate-Upon-Generation will stop the optimization process once the specified Maximum Number of
Generations is reached.
Terminate-Upon-Convergence will stop the optimization process once the defined Convergence Rate is reached,
or once the defined Maximum Number of Generations is reached.
GA optimization “ending-point” criterion is selected in the Conversion Type drop-down list. The desired Maximum
Number of Generations, Minimum Number of Generations, and Conversion Rate can be set in the corresponding
text boxes.
Convergence Rate
Convergence Rate of generations is the ratio between the Convergence value of the two most recent generations
and the Convergence value of the current generation and the generation N generations ago.
GA calculation is stopped after meeting С [x – N] / C [x] >= P condition where:
x – ordinal number of the current generation;
С[x] – convergence value of the two most recent generations;
N – defined minimal number of the generations;
P - convergence rate; values used are usually close to 1, with the default value of 0.99.
Note: Convergence Rate is not calculated for generations that have an ordinal number less than the defined
minimal number of the generations.
Further Reading
This is only a brief introduction to genetic algorithms.
We recommend that you learn more about GA on the Internet, e.g. Wikipedia

© 2009 TS Support, LLC


212 MultiCharts 5.5 User Guide

4.9.3.2 Performing Optimization

Performing Optimization

Once a strategy has been applied 195 to a chart, strategy optimization can be performed.
Running Exhaustive Search 212

Optimization is performed from the Format Objects window:


To perform Exhaustive Search optimization:
1. Open the Format Objects window.

Opening Format Object Window 212

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Signals tab.
3. Click the Optimize button.
4. In the Select Optimization Method dialog box that appears, select Exhaustive Search.
5. In the Exhaustive Search Properties window that opens, select the Optimizable Inputs tab.
6. In the Start Value column, enter the desired starting values for each of the inputs.
7. In the End Value column, enter the desired ending values for each of the inputs.
8. In the Step column, enter the desired step size, for each of the inputs.
9. Select the Optimization Criteria tab.
10.Select the Use Limitation checkbox to limit the output to a defined number of the best results; unselect the
checkbox to list all the results in the optimization report.
11.Enter the desired number of best results in the Show N best results box.
12.Select the best results criteria in the best results for list box.
13.Select criteria:
13.1.Select Standard Criteria
13.2.Select the criteria from the drop-down list

More about Standard Criteria 212


Standard Criteria lets the user select a criterion from a pre-defined list.
For example, if the user selects net profit, the optimization will find the parameters that generate the
highest net profit.

or
13.3.Select Custom Criteria
13.4.Click Edit... button.
13.5.Write the script for the custom criteria and click OK.

More about Custom Criteria 212


Custom Criteria lets the user create his own criteria. Instead of choosing from a pre-defined list like in
Standard Criteria, the user can script his own criteria.
For example, suppose the user wants to find the parameters that maximize the net profit / max
drawdown ratio. This ratio isn't pre-defined under Standard Criteria, so it won’t be in the drop-down list.
However, this ratio can be created using Custom Criteria.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 213

It is also possible to add additional criteria such as number of trades and winning percentage. For
example, it is possible to specify that the result have more than 300 trades and a winning percentage
that's greater than 50%.
The scripting language is Javascript.
Code Example
The code below creates the net profit / max drawdown ratio.
if (StrategyPerformance.MaxStrategyDrawDown != 0)
{
return StrategyPerformance.NetProfit / (-
StrategyPerformance.MaxStrategyDrawDown);
}
Besides NetProfit and MaxStrategyDrawdown, there are many other properties that can be referenced.
The table below shows the available properties.
For example, to reference the number of trades, simply use StrategyPerformance.TotalTrades. To
reference winning percentage, simply use StrategyPerformance.PercentProfitable.
Name of property Description Available in Available in
in the object MultiCharts Portfolio
StrategyPerforma Optimization
nce
NetProfit Net Profit Yes Yes
GrossProfit Gross Profit Yes Yes
Gross Loss Gross Loss Yes Yes
TotalTrades Total Trades Yes Yes
Percent Profitable % Profitable Yes Yes
Winning Trades Winning Trades Yes Yes
LosingTrades Losing Trades Yes Yes
AvgTrade Avg Trade Yes No
AvgWinningTrade Avg Winning Trade Yes No
AvgLosingTrade Avg Losing Trade Yes No
WinLossRatio Win/Loss Ratio Yes No
MaxConsecWinner Max Consecutive Yes No
s Winners
MaxConsecLosers Max Consecutive Yes No
Losers
AvgBarsInWinningT Avg Bars in Winner Yes No
rades
AvgBarsInLosingTr Avg Bars in Loser Yes No
ades
MaxStrategyDrawD Max Intraday Yes Yes
own Drawdown
ProfitFactor Profit Factor Yes No
ReturnOnAccount Return on Account Yes No

14.Select Ascending or Descending option to sort the output in ascending or descending order, respectively.
15.Click OK to run the optimization and generate the Optimization Report.

Running Genetic Algorithm Search 212


Note: For detailed information on Genetic Algorithm properties, see Understanding Genetic Algorithm Optimization
209

Optimization is performed from the Format Objects window:


To perform Genetic Algorithm optimization:
1. Open the Format Objects window.

Opening Format Object Window 212

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:

© 2009 TS Support, LLC


214 MultiCharts 5.5 User Guide

- Select Format in the main menu and click Signal; or:


- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Signals tab.
3. Click the Optimize button.
4. In the Select Optimization Method dialog box that appears, select Genetic Algorithm.
5. In the Genetic Algorithm Properties window that opens, select the Optimizable Inputs tab.
6. In the Start Value column, enter the desired starting values for each of the inputs.
7. In the End Value column, enter the desired ending values for each of the inputs.
8. In the Step column, enter the desired step size, for each of the inputs.
9. Select the Algorithm-specific Properties tab.
10.Select criteria:
10.1.Select Standard Criteria
10.2.Select the criteria from the drop-down list

More about Standard Criteria 212


Standard Criteria lets the user select a criterion from a pre-defined list.
For example, if the user selects net profit, the optimization will find the parameters that generate the
highest net profit.

or
10.3.Select Custom Criteria
10.4.Click Edit... button.
10.5.Write the script for the custom criteria and click OK.

More about Custom Criteria 212


Custom Criteria lets the user create his own criteria. Instead of choosing from a pre-defined list like in
Standard Criteria, the user can script his own criteria.
For example, suppose the user wants to find the parameters that maximize the net profit / max
drawdown ratio. This ratio isn't pre-defined under Standard Criteria, so it won’t be in the drop-down list.
However, this ratio can be created using Custom Criteria.
It is also possible to add additional criteria such as number of trades and winning percentage. For
example, it is possible to specify that the result have more than 300 trades and a winning percentage
that's greater than 50%.
The scripting language is Javascript.
Code Example
The code below creates the net profit / max drawdown ratio.
if (StrategyPerformance.MaxStrategyDrawDown != 0)
{
return StrategyPerformance.NetProfit / (-
StrategyPerformance.MaxStrategyDrawDown);
}
Besides NetProfit and MaxStrategyDrawdown, there are many other properties that can be referenced.
The table below shows the available properties.
For example, to reference the number of trades, simply use StrategyPerformance.TotalTrades. To
reference winning percentage, simply use StrategyPerformance.PercentProfitable.
Name of property Description Available in Available in
in the object MultiCharts Portfolio
StrategyPerforma Optimization
nce
NetProfit Net Profit Yes Yes
GrossProfit Gross Profit Yes Yes

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 215

Gross Loss Gross Loss Yes Yes


TotalTrades Total Trades Yes Yes
Percent Profitable% Profitable Yes Yes
Winning Trades Winning Trades Yes Yes
LosingTrades Losing Trades Yes Yes
AvgTrade Avg Trade Yes No
AvgWinningTrade Avg Winning Trade Yes No
AvgLosingTrade Avg Losing Trade Yes No
WinLossRatio Win/Loss Ratio Yes No
MaxConsecWinner Max Consecutive Yes No
s Winners
MaxConsecLosers Max Consecutive Yes No
Losers
AvgBarsInWinningT Avg Bars in Winner Yes No
rades
AvgBarsInLosingTr Avg Bars in Loser Yes No
ades
MaxStrategyDrawD Max Intraday Yes Yes
own Drawdown
ProfitFactor Profit Factor Yes No
ReturnOnAccount Return on Account Yes No

11.Select Ascending or Descending option to sort the output in ascending or descending order, respectively.
12.An optimum population size value is automatically placed into the Population Size box; if a different value is
desired, enter the value into the box.
13.In the Crossover Probability box, enter the desired crossover probability; value range is 0.95-0.99, with a
default of 0.95.
14.In the Mutation Probability box, enter the desired mutation probability; value range is 0.01-0.05, with a default
of 0.05.
15.In the Convergence Type drop-down list, select Number of Generations or Proximal Convergence.
16.In the Maximum Number of Generations box, enter the desired maximum number of generations.
17.If Proximal Convergence was selected, enter the desired minimum number of generations and convergence
rate into the respective boxes. A value, approaching 1 is usually selected for the convergence rate; the default
value is 0.990000.
18.In the Genetic Algorithm Subtype drop-down list, select Basic or Incremental algorithm subtype.
19.If Basic algorithm subtype was selected, select Yes or No for Use Elitism option.
20.If Incremental algorithm subtype was selected, select the Replacement Scheme and Offspring Number
(number of “children”).
21.Click OK to run the optimization and generate the Optimization Report.

© 2009 TS Support, LLC


216 MultiCharts 5.5 User Guide

4.9.3.3 Using Optimization Report

Using Optimization Report

After an optimization process is complete then a detailed Strategy Optimization Report is available for reviewing. The Strategy
Optimization Report allows to review the results of all the test combinations tested (in tabular view).
Columns represent 18 strategy performance fields as well as all the inputs which were optimized during the current run for
each inputs combination tested.
Each row represents a set of test results for a given inputs combination.
Tip: The data in any column can be selected as the optimization criteria.
Note: The Strategy Optimization Report contains the results of the last optimization run only.
Note: Only one optimization report can be opened at a time.
Accessing Optimization Report 216

To access a Strategy Optimization Report:


1. Apply a strategy 195 to a chart.
2. Run an optimization 212 .

3. In the menu select View then click Strategy Optimization Report.

Strategy Optimization Report Fields 216

The list of performance indices available is as following:


Net Profit
Gross Profit
Gross Loss
Total Trades
% Profitable
Winning Trades
Losing Trades
Avg Trade
Avg Winning Trade
Avg Losing Trade
Win/Loss ratio
Max Consecutive Wins
Max Consecutive Losses
Avg # of Bars in Winners
Avg # of Bars in Losers
Maximum Intraday Drawdown
Profit Factor
Return on Account
Input Values
Note: The performance indices are identical to those in the Performance Report.
Sorting the Strategy Optimization Report 216

It is possible to sort out the Optimization Report by any combination of 3 main criteria in either Descending or Ascending
order.
To modify the sorting order:
1. In the Optimization Report set the criterion and sorting order from the Sort by drop-down list.
2. Repeat for the second drop-down list.
3. Repeat for the third drop-down list.

Applying an Inputs Combination to a Chart 216

It is possible to apply the inputs combination that produced the best results during the current optimization run to the
strategy.
To apply the best inputs combination:
1. Double-click required row in the report.
2. Click Yes in the confirmation window appeared.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 217

Saving the Strategy Optimization Report 216

It is possible to export the Optimization Report to a comma-separated file, which is preferred for importing into a
spreadsheet application for further analysis.
To export the Optimization Report:
1. In the Optimization Report click Export… button.
2. In the Save As dialog window appeared navigate to the required file location.
3. In the File Name field type in the file name.
Note: By default the file name includes date and time information.

4. Click Save.
Note: The entire report information will be saved to the file.

© 2009 TS Support, LLC


218 MultiCharts 5.5 User Guide

4.9.3.4 Walk Forward Optimization

Walk Forward Optimization

Walk Forward Optimization is an optimization process that addresses the issue of curve fitting in strategy development. Walk
Forward Optimization segregates the data series into multiple segments, and each segment is divided into an in-sample (IS)
portion and an out-of-sample (OOS) portion.
Parameter optimization for the strategy is performed using the IS portion of the first segment. The same parameters are then
used to back test the strategy on the OOS portion of the same segment. The process is repeated for the remaining segments.
The OOS performance results from each of the segments are considered "real" instead of "curve-fit" because the parameters
that produced the OOS results were generated from IS data.
Walk Forward Optimization (not anchored) 218

Suppose a data series has 220 bars, and it is divided into five segments of 100 bars per segment. The first 70 bars of each
segment are the IS portion and the remaining 30 bars are the OOS portion.
The table below shows the segmentation details.
Segment # of Bars
per
IS OOS Segment
Segment 1 1-70 71-100 100
Segment 2 31-100 101-130 100
Segment 3 61-130 131-160 100
Segment 4 91-160 161-190 100
Segment 5 121-190 191-220 100

Step 1: Parameter optimization is performed using Segment 1's IS data. These parameters are then used to back test the
strategy on Segment 1's OOS data.
Step 2: Parameter optimization is performed using Segment 2's IS data. These parameters are then used to back test the
strategy on Segment 2's OOS data.
Step 3: Parameter optimization is performed using Segment 3's IS data. These parameters are then used to back test the
strategy on Segment 3's OOS data.
Step 4: Parameter optimization is performed using Segment 4's IS data. These parameters are then used to back test the
strategy on Segment 4's OOS data.
Step 5: Parameter optimization is performed using Segment 5's IS data. These parameters are then used to back test the
strategy on Segment 5's OOS data.
The walk forward optimization is complete. There are OOS performance results for bars 71-220. Walk Forward Optimization
considers the OOS performance results “real” instead of “curve-fit” because the parameters that produced the OOS results
were generated from IS data.
As shown, the starting point of each subsequent segment begins 30 bars after the starting point of the previous segment.
The starting point of each segment steps forward. Hence, this type of walk forward optimization is said to be not anchored.
The reason the step is 30 bars is because that’s the length of the OOS portion.
Note: The significance of OOS results from Walk Forward Optimization is debatable. For more information, please
see additional literature about this subject.
Walk Forward Optimization (anchored) 218

Anchoring means the starting point of all segments is the same as the starting point of the first segment. The starting points
do not step forward. Hence, this type of walk forward optimization is said to be anchored. The effect is that the IS portion of
each subsequent segment is longer than IS portion of the previous segment, and therefore the total length of each
subsequent segment is also longer than the total length of the previous segment.
The table below shows the segmentation details.
Segment # of Bars
IS OOS per
Segment
Segment 1 1-70 71-100 100
Segment 2 1-100 101-130 130
Segment 3 1-130 131-160 160

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 219

Segment 4 1-160 161-190 190


Segment 5 1-190 191-220 220
The rest of the anchored walk forward optimization process is the same as not-anchored walk forward optimization.
Using Walk Forward Optimization 218

To use Walk forward Optimization,


1. Open the Format Symbols window.

How? 218

To open the Format Objects window, right-click on an empty area of the chart and then click Format
Signals.
The Format Objects window can also be opened by one of the following methods:
- Select Format in the main menu and click Signal; or:
- Double-click any one of the signal's labels on the chart; or:

- Position the mouse pointer over any one of the signal's labels on the chart; once the Pointer
changes into a Hand, right-click the label and then click Format Signals
2. Select the Signals tab and select the signal in the box.
3. Click the Optimize button. The Select Optimization Method box will appear.
4. Select either Exhaustive or Genetic radio button for the type of optimization. (Both will work with Walk
Forward Optimization.)
5. Select the Walk Forward check box.
6. Enter the number of bars/days for the IS portion of a segment into the IS textbox.
7. Enter the number of bars/days for the OOS portion of a segment into the OOS textbox.
8. Check the Anchored checkbox to use anchoring. Uncheck the Anchored checkbox to not use anchoring.
9. Click the OK button.
10.Select the Optimizable Inputs tab. Input start and end values for the inputs.
11.If performing an Exhaustive optimization, select the Optimization Criteria tab and complete inputs.
If performing a Genetic optimization, select the Algorithm-specific Properties tab and complete inputs.
For more information, see Performing Optimization
12.Click the OK button.

© 2009 TS Support, LLC


220 MultiCharts 5.5 User Guide

4.9.4 AutoTrading
4.9.4.1 Understanding Automated Trade Execution

Understanding Automated Trade Execution

After developing a strategy, the next step is to have the strategy actually send the orders. MultiCharts automated trading
platform can automate the trading process and seamlessly integrate with the following order execution gateways: FXCM,
Interactive Brokers, Patsystems, Rithmic Trader, Trading Technologies, and Zen-Fire.
Implementing automated trade execution involves using a program that serves as the order execution gateway on the
computer and configuring the link between MultiCharts and the gateway program. Orders, generated by a trading strategy in
MultiCharts, are passed to the gateway program for execution. The gateway program is also often used to provide the data
feed for MultiCharts, although it is possible and sometimes advantageous to use a different data source.
Automated trading has two primary benefits: convenience and speed. The trader can let his strategy trade automatically
without having to constantly monitor the strategy and enter the orders himself. Automated trading can also send the orders
much quicker. Certain strategies require orders to be sent as quickly as possible without delay. With auto trading, the trader
does not have to manually type the order into the gateway. The trades are submitted automatically and the chances of delay
are reduced.
In addition to the obvious advantages of convenience, automated trading makes possible the execution of high-frequency
trading strategies such as arbitrage, where the acceptable response time for placing orders is too quick for manual order
entries.
Both, Synchronous and Asynchronous auto trading modes are deployed in MultiCharts. These two modes are profoundly
different. Select the mode that better suits the strategy on the chart. Synchronous mode makes it possible to show a position
on the chart that matches the actual filled position. However there is no guarantee that the order will get filled. When using the
Asynchronous mode, every order generated on the chart is filled, although the actual execution time and price can be different
from the time and price shown on the chart.

Synchronous Mode for Auto Trading


The synchronous auto trading mode (SA) is a mode where entry/exit arrows are plotted on the chart only after orders have
been executed at the broker.
The synchronous auto trading mode ensures avoiding discrepancies between the market position on the chart and the market
position at the broker. The following conditions must be met in order for the synchronous auto trading mode to work properly:
1. The same symbol cannot be traded from more than one chart. Trading the same symbol from two or more charts
will cause a market position conflict between the charts.
2. The market position at the broker must be 0 at the time when auto trading is launched.
3. A trader must not trade the symbol directly through the broker’s platform while trading the same symbol through
MultiCharts platform.
4. At the moment of connection loss, the broker did not send notifications about complete order filling or cancellation.

Asynchronous Mode for Auto Trading


The asynchronous auto trading mode (AA) is the mode where entry/exit arrows are plotted on the chart when the price value
meets the strategy conditions.
However, order execution by the broker is not guaranteed if the conversion of unexecuted limit/stop entry orders is disabled. It
may cause a market position conflict between the chart and the broker.
Enabling order conversion guarantees that an order will be filled at the broker, although the executed order price value could be
different from the order price plotted on the chart.

Comparison of Synchronous and Asynchronous Mode


Mode Pro Con
Synchronous Only orders filled at the broker Possibility of non-execution of
will be displayed on the chart entry orders at the broker such
with the exact same price value as Limit or Stop as a result of not
as at the broker. meeting theoretical conditions
set on the chart.
Asynchronous An ability to convert entry orders If order converting is disabled,

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 221

such as Limit or Stop to Market then orders that will be


orders if the defined price mark generated on the chart may
was not met within indicated never be filled at the broker.
amount of time. Market orders Thus, the actual position at the
ensure that the order will be filled broker may not be the same as
at the broker and market position the position shown on the chart.
will stay the same on the chart
and the broker, but they don't
guarantee the price at which the
order will be executed.

© 2009 TS Support, LLC


222 MultiCharts 5.5 User Guide

4.9.4.2 Getting Started With Auto Trading

Getting Started With Auto Trading

Implementing automated trade execution involves:


1. Setting Up the Order Execution Gateway, and
2. Setting Up Auto Trading in MultiCharts.

Setting Up the Order Execution Gateway 222

Please choose the order execution gateway and follow the instructions.

Setting Up FXCM 222

Please refer to FXCM's documentation.

Setting Up Interactive Brokers TWS 222


1. Install a standalone version of Trader Workstation according to the instructions provided by Interactive
Brokers.
2. Start Trader Workstation and log in using a user name and password provided by Interactive Brokers.
Important: It is strongly recommended that automated order execution process is initially extensively
tested using a Simulated Account. Testing strategies and automated order execution
using a real account can result in a substantial financial loss! All Interactive Brokers clients
with a real trading account also receive a simulated trading account that provides real-time
data and enables traders to and test the functions and features of the Trader Workstation
platform.
In addition, Interactive Brokers provides a Demo Account that is accessible by people who aren't
clients. A demo account supports only some of the symbols, has limited historical data, and provides
delayed quotes. The user name is edemo and the password is demouser.
3. In Trader Workstation, click the Configure icon on the toolbar, or click Configure in the main menu.
4. Click API and then select the Enable ActiveX and Socket Clients check box.

Setting Up Patsystems 222

Please refer to Patsystems' documentation.

Setting Up Rithmic 01 222

Please refer to Rithmic's documentation.

Setting Up Rithmic Test 222

Please refer to Rithmic's documentation.

Setting Up Trading Technologies 222

Please refer to Trading Technologies' documentation.

Setting Up Zen-Fire 222

Please refer to Zen-Fire's documentation.


Setting Up Auto Trading in MultiCharts 222
1. Determine the symbol to plot on a chart. In QuoteManager, verify that that the Price Scale, Min Movement,
and Big Point Value settings for the symbol are correct. MultiCharts will have the correct settings for most
of the symbols, but it is not possible to cover every symbol. If these settings are not correct, then the chart
will not plot properly and orders may be rejected by the execution gateway. To learn more, see Setting
Properties 263 .
2. Create a chart of the necessary symbol. To learn more, see Creating Charts 32 .
3. Add the necessary signals to the chart. To learn more, see Using Studies 168 .

4. Set signal and strategy properties. To learn more, see Signal Settings 178 and Strategy Properties 196 .

5. Open the Strategy Properties window.

Opening Strategy Properties Window 222

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 223

To open the Strategy Properties window:


5.1.Open the Format Objects window.
Opening Format Objects Window 222
To open the Format Objects window, right-click on an empty area of the chart
and then click Format Signals.
The Format Objects window can also be opened by selecting Format in the
main menu and clicking Signal, or by double-clicking any of the signal labels.

5.2.Select the Signals tab.


5.3.Click Properties to open the Strategy Properties window.

6. Select the Auto Trading tab.


7. Select the Require order confirmation check box to have the opportunity to confirm or reject each order
before it is sent to the execution gateway.
8. Select Replace to Market Partially Filled Orders check box to automatically convert the remaining portion
of a partially filled limit order into a market order. For example, there is a sell limit order above the market
price for 10 contracts. The trading price touches the sell limit price, but pulls back. Six of the contracts are
filled and the remaining four contracts are unfilled. MultiCharts will convert the sell limit order for the
remaining contracts to a sell market order at the close of the bar. (e.g., If the chart is plotting 5 minute bars,
then the remaining portion of the limit order will be converted to a market order at the close of the 5 minute
bar.)
Note: As long as there is a partially filled order, MultiCharts will always convert the order as described
in this step regardless of any settings that are in Unfilled Strategy Order Replacement. If the
order was not partially filled and Unfilled Strategy Order Replacement was turned on, then
MultiCharts will convert the order according to the settings in Unfilled Strategy Order
Replacement.

9. Select the Show order execution status check box to have a status message displayed every time an
order is sent, canceled, filled, or rejected, or any other informational message is received from the gateway
application.
10.Select the Audio Alert check box and choose a sound file to activate an audio alert every time a notification
window appears.
To learn more, see Selecting an Alert Sound File

Selecting an Alert Sound File 222

To select the alert sound file:


10.1.Enter the path and name of the wave (.wav) sound file to be used into the File text box, or click the ...
button on the right side of the text box for Open dialog box, navigate to and select a sound file, and
click the Open button.
10.2.Click the Test button to test the alert.
10.3.Select Play Once or Repeat for the alerts to be played once or repeatedly, respectively.

11.In the Mode Selection section, there are two options: synchronous and asynchronous mode 220 .
11.1.Select Entries/Exits are based on the execution confirmation by the broker (Sync) option for
synchronous auto trading mode (SA).
11.2.Select Entries/Exits are independent of the execution confirmation by the broker (Async) option
in the Mode Selection section for Asynchronous auto trading mode (AA). If AA is selected, two group
boxes become available.
Unfilled Strategy Order Replacement
This feature gives the strategy the ability to automatically convert limit orders or stop orders into
market orders after a certain period of time.
· Select Convert unexecuted limit or stop entry orders to market orders check box to convert
unexecuted limit or stop entry orders to market after a specified number of seconds. Enter the number
of seconds in the list box.
· Select Convert unexecuted limit or stop exit orders to market orders check box to convert
unexecuted limit or stop exit orders to market after a specified number of seconds. Enter the number
of seconds in the list box.
Note: The waiting period for converting unfilled limit or stop orders to market orders must be

© 2009 TS Support, LLC


224 MultiCharts 5.5 User Guide

less than the duration of a single bar.


Note: As long as the order is completely unfilled, MultiCharts will always convert the order
as described in this step regardless of any settings under Replace to Market
Partially Filled Orders. If there is a partially filled order and Replace to Market
Partially Filled Orders was turned on, then MultiCharts will convert the order
according to the settings in Replace to Market Partially Filled Orders.
Assign the Initial Market Position at the Broker Settings
To learn more, see Synchronization of Market Position in Auto Trading Mode 229 .
· Select Show the Assign the Initial Market Position at the Broker radio button to display a dialogue
box to input the initial position and average entry price. This dialogue box will appear when auto trading
is turned on in the chart (see last step).
· Select Do not show the Assign the Initial Market Position at the Broker radio button to set the
initial position here instead of in the dialogue box.
There are two choices:
· Select Assume the initial market position at the broker FLAT to set the initial position to 0.
· Select Assume the initial market position at the broker the SAME AS on the CHART to set the
initial position to the position that’s on the chart.
Note: Synchronization of the Market Position in the Auto Trading Mode may not work
correctly if pyramiding was used in the strategy. It may also not work correctly if more
than one active entry was generated on a chart when auto trading is launched. The
reason for this limitation is that dialog window is set up to define only one active entry.

12.Choose the broker/gateway from the list box in the Select Broker Plug-in section.
13.Click Settings.
14.Input the settings for the appropriate broker/gateway.

Broker Plug-In Settings for FXCM 222


14.1.Account Settings Tab: Please get the Login, Password, and Account information from the broker. In
the Connection setting, select Demo to connect to the demo account or Real to the real trading account.
Note: Due to FXCM's restrictions, MultiCharts will not send limit or stop orders to FXCM. All
limit or stop orders will be sent as market orders.
14.2.Symbol Dictionary Tab: If the data source is different from the execution gateway, it is possible that
they do not use the same symbol for the same contract. In this situation, the chart, because it is plotted
from the data source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this problem by
matching the symbol from the data source to the symbol from the execution gateway. The table has two
columns. Input the symbol from the data source under the Chart column. Input the symbol from FXCM
under the Currency Column.

Broker Plug-In Settings for Interactive Brokers TWS 222


14.3.By default, MultiCharts disables auto trading immediately if connection with the execution gateway is
lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect the
strategy. The disconnection may also be a scheduled disconnection by the execution gateway, and the
intention is to have auto trading on when the connection is reestablished. The Connection setting keeps
auto trading on unless the disconnection lasts longer than the time period specified.
When TWS loses its connection with MultiCharts while auto trading is on, MultiCharts will try to
reconnect with TWS every 10 seconds until the connection is established or auto trading is turned
off.
Note: If TWS is closed, MultiCharts cannot start TWS and automatically log into TWS for the
user.
MultiCharts will not reconnect with TWS in the following scenarios:
· Interactive Brokers is used only as the broker and another provider is used as the data feed
· The strategy sent an order while TWS was disconnected

14.4.IB Settings Tab:


The Server, Port, and ClientID settings under the IB Settings tab are detected automatically. The
settings need to be changed only if Trader Workstation and MultiCharts are running on different
computers. For the correct settings consult the system administrator.
The Order Settings section is for specifying Time in Force, Settling Firm, Clearing Account, and

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 225

All or None Execution settings for the orders. Time in Force determines the life span of the order
before the order is cancelled. The Settling Firm and Clearing Account fields are institutional
settings. Institutional account holders should contact the broker for the correct settings. All or
None Execution determines whether partial fills in entry and exit orders are permitted.

14.5.Symbol Dictionary Tab:


If the data source is different from the execution gateway, it is possible that they do not use the
same symbol for the same contract. In this situation, the chart, because it is plotted from the data
source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this
problem by matching the symbol from the data source to the symbol from the execution gateway.
To map a symbol:
· Click Add to add a symbol. A new row will be created. The name of the symbol from the data source
will populate the Chart column.
· Enter the root of the symbol that the execution gateway uses in the Underlying column.
· Enter the exchange name that the execution gateway uses in the Exchange column.
· Enter the expiration date in the format that the execution gateway uses in the Expiry column. (This
field is only required for Futures and Options).
· Enter the currency in the format that the execution gateway uses in the Currency column.

Example:
Symbol Underlyin Exchange Expiry Currency
g
ES #F ES GLOBEX 200806 USD

The above Symbol Dictionary example maps the eSignal ES #F (S&P E-mini Future Continuous
Contract) symbol to the ES June 2008 contract from Interactive Brokers TWS.
Important: Make sure that the format is YYYYMMDD. The format YYYYMM will not work for all
symbols.
To find the expiration date, right click on the symbol in TWS and select Contract Info.
14.6.Financial Advisor Settings Tab
Interactive Brokers TWS offers a possibility of trading multiple sub-accounts using a single main
account. Financial Advisor Settings are optional and can be left blank. Consult Interactive Brokers
for information on appropriate settings.

Broker Plug-In Settings for Patsystems 222


14.7.Connection Settings Tab:
Check Demo Mode to use local simulation. Leave it unchecked to connect to the broker.
For Common Settings, please contact the broker for the Login and Password fields. In the
License field, enter FBD653F002. In the Environment selection box, select Client to connect to
the real trading account, or Test to connect to a test account. The Application ID is MultiCharts.
The application version is automatically detected by MultiCharts.
For Transport Settings, please get the information from the broker.
For SSL Settings, please get the information from the broker.
By default, MultiCharts disables auto trading immediately if connection with the execution gateway
is lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect
the strategy. The disconnection may also be a scheduled disconnection by the execution gateway,
and the intention is to have auto trading on when the connection is reestablished. The
Reconnection Settings keeps auto trading on unless the disconnection lasts longer than the time
period specified.

14.8.Symbol Mapping Tab:


If the data source is different from the execution gateway, it is possible that they do not use the
same symbol for the same contract. In this situation, the chart, because it is plotted from the data
source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Mapping solves this
problem by matching the symbol from the data source to the symbol from the execution gateway.
In the Chart field, input the symbol from the data source. Under Patsystems Symbol settings,

© 2009 TS Support, LLC


226 MultiCharts 5.5 User Guide

input the Exchange, Contract Name, and Contract Date in the format acceptable by Patsystems.
Click the Lookup button to find the correct information.

14.9.Trading Accounts Tab:


Click Check for Accounts to locate the account. Select the account by using the Account drop-
down list.

14.10.Order Settings Tab:


Select the Time in Force. Time in Force determines the life span of the order before the order is
cancelled.

Broker Plug-In Settings for Rithmic 01 222


14.11.Connection Settings Tab:
Under the Authority section, enter the Login and Password received from the broker. The SSL
Certificates Path will be automatically inputted. Please do not change it unless instructed by the
broker.
By default, MultiCharts disables auto trading immediately if connection with the execution gateway
is lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect
the strategy. The disconnection may also be a scheduled disconnection by the execution gateway,
and the intention is to have auto trading on when the connection is reestablished. The Connection
Settings keeps auto trading on unless the disconnection lasts longer than the time period that
specified.

14.12.Order Settings Tab:


Enter the Account information.
Select the Time in Force. Time in Force determines the life span of the order before the order is
cancelled.

14.13.Symbol Dictionary Tab:


If the data source is different from the execution gateway, it is possible that they do not use the
same symbol for the same contract. In this situation, the chart, because it is plotted from the data
source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this
problem by matching the symbol from the data source to the symbol from the execution gateway.
In the Chart column, input the symbol from the data source. Under the Ticker and Exchange
columns, input the ticker and exchange in the format acceptable by Rithmic 01.

Broker Plug-In Settings for Rithmic Test 222

Rithmic Test is the test account for Rithmic Trader. The test account is on a different server, so it has
its own connectivity settings. The other settings are the same as Rithmic 01. Please see the
instructions for Rithmic 01 222 .

Broker Plug-In Settings for Trading Technologies 222


14.14.Connection Settings Tab:
Set the Server IP, Order Connection Settings, and Price Connection Settings from the broker.
By default, MultiCharts disables auto trading immediately if connection with the execution gateway
is lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect
the strategy. The disconnection may also be a scheduled disconnection by the execution gateway,
and the intention is to have auto trading on when the connection is reestablished. The
Reconnection Settings keeps auto trading on unless the disconnection lasts longer than the time
period specified.

14.15.Symbol Dictionary Tab:


If the data source is different from the execution gateway, it is possible that they do not use the
same symbol for the same contract. In this situation, the chart, because it is plotted from the data
source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this
problem by matching the symbol from the data source to the symbol from the execution gateway.
In the Chart field, input the symbol from the data source. In the Trading Technologies Symbol

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 227

settings, input the symbol name, exchange, expiry date, and category in a format acceptable by
Trading Technologies. Click on the Lookup button to look up the info.

14.16.Order Settings Tab:


Select the Time in Force. Time in Force determines the life span of the order before the order is
cancelled.

Broker Plug-In Settings for Zen-Fire 222


14.17.Connection Settings Tab:
Under the Authority section, get the Login and Password from the broker. The SSL Certificates
Path will be automatically inputted. Please do not change it unless instructed by the broker.
By default, MultiCharts disables auto trading immediately if connection with the execution gateway
is lost. However, in some cases, short interruptions can be acceptable because it doesn’t affect
the strategy. The disconnection may also be a scheduled disconnection by the execution gateway,
and the intension is to have auto trading on when the connection is reestablished. The
Connection Settings keeps auto trading on unless the disconnection lasts longer than the time
period specified.

14.18.Order Settings Tab:


Input the Account info.
Select the Time in Force. Time in Force determines the life span of the order before the order is
cancelled.

14.19.Symbol Dictionary Tab:


If the data source is different from the execution gateway, it is possible that they do not use the
same symbol for the same contract. In this situation, the chart, because it is plotted from the data
source, will send an order using the data source’s symbol. The execution gateway will not
understand the data source’s symbol and will reject the signal. Symbol Dictionary solves this
problem by matching the symbol from the data source to the symbol from the execution gateway.
In the Chart column, input the symbol from the data source. Under the Ticker and Exchange
columns, input the ticker and exchange in the format acceptable by Zen-Fire.

15.Turn on auto trading. There are two ways to do this.

Turning on auto trading on the chart 222

SA Mode 222
15.1.Select the Auto Trading Status Switch 229 and select Automate Order Execution.
15.2.Read the disclaimer and click Yes.
15.3.The button will turn green which means auto trading is on.

AA Mode 222
15.4.Select the Auto Trading Status Switch 229 and select Automate Order Execution.
15.5.Read the disclaimer and click Yes.
15.6.If Show the Assign the Initial Market Position at the Broker dialogue was selected earlier, then a
dialog box will appear. Enter the initial market position and average entry price. Then select Yes.
15.7.The button will turn green which means auto trading is on.

Turning on auto trading from main menu 222

SA Mode 222
15.8.Select Format from the main menu.
15.9.Select Automate Order Execution.
15.10.Click on the switch and select Automate Order Execution.
15.11.Read the disclaimer and click Yes.
15.12.The button will turn green which means auto trading is on.

© 2009 TS Support, LLC


228 MultiCharts 5.5 User Guide

AA Mode 222
15.13.Select Format from the main menu.
15.14.Select Automate Order Execution.
15.15.Click on the switch and select Automate Order Execution.
15.16.Read the disclaimer and click Yes.
15.17.If Show the Assign the Initial Market Position at the Broker dialogue was selected earlier, then
the dialogue box will appear. Input the initial market position and average entry price. Then select Yes.
15.18.The button will turn green which means auto trading is on.

Turning off auto trading


There are two ways to turn off auto trading.

Turning off auto trading from the chart 222


1. Select the Auto Trading Status Switch 229 and deselect Automate Order Execution.
2. If there are orders pending, a dialogue box will appear to ask if pending orders should be cancelled.
Select Cancel Orders or Do Not Cancel Orders to proceed.
3. If there are open positions, a dialogue box will appear to ask if open positions should be closed.
Select Close Positions or Do Not Close Positions to proceed.
4. The Auto Trading Status Switch will turn gray which means auto trading is turned off.

Turning off auto trading from the main menu 222


1. Select Format and deselect Automate Order Execution.
2. If there are orders pending, a dialogue box will appear to ask if pending orders should be cancelled.
Select Cancel Orders or Do Not Cancel Orders to proceed.
3. If there are open positions, a dialogue box will appear to ask if open positions should be closed.
Select Close Positions or Do Not Close Positions to proceed.
4. The Auto Trading Status Switch will turn gray which means auto trading is turned off.

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 229

4.9.4.3 Working with Auto Trading

Working with Auto Trading

Order Transmission Confirmation 229

It is possible to manually confirm or reject strategy order transmission to the order execution gateway. Order Confirmation is
set in the Auto Trading tab of the Strategy Properties window.
To learn more, see Setting Up Auto Trading in MultiCharts 222

With Order Confirmation selected, each time that one or more orders are generated, a New Order dialog box displaying the
orders will appear in the center of the desktop. To confirm order transmission, click Transmit Orders, and to prevent order
transmission, click Ignore Orders.
· When more than one order is displayed in the New Order dialog box, it is not possible to transmit one order and ignore
another; ether all of the orders are transmitted, or all of the orders are ignored.
· If neither Transmit Orders or Ignore Orders is selected before a new Market order or set of Market orders is generated,
or before a new bar is started, the previous order or set of orders is ignored and not sent to the execution gateway.
Note: Order transmission confirmation affects only the transmission of the strategy order to the execution gateway;
once the order has been transmitted, execution of the order by the broker is subject to market conditions.
Order Replacement 229

In event that an order that has been transmitted is not filled before a bar is closed, and the same order is generated again,
by the same signal, on the close of the bar, the original order is not canceled but Replaced (modified). When an order is
Replaced, order parameters, for example, Limit Price, can change. New Order dialog box is not displayed for orders that are
replaced.
Note: Order Replacement can take place order if both orders are generated by the same signal.
Intra-Bar Order Generation 229

If strategy's signals have Intra-Bar Order Generation option enabled, orders may be generated more often; if Order
Confirmation option is selected, New Order dialog box may appear before a bar is closed.
Note: In cases of symbols with high market activity it may not be possible to generate orders on every tick.
To learn more about Intra-Bar Order Generation, see Intra-Bar Order Generation 178

One-Cancels-Other Orders 229

MultiCharts supports one-cancels-other (also known as one-cancels-all) orders. An example of an OCO order would be a
bracket order. In a Bracket order, both the profit target and the stop loss orders are sent at the same time. If the profit target
order is filled, the stop loss order is cancelled. If the stop loss order is filled, then the profit target order is cancelled.
Interactive Brokers supports one-cancels-other orders natively. If Interactive Brokers is the broker, Interactive Brokers will
be responsible for cancelling the other orders.
Patsystems, Rithmic Trader, Trading Technologies, and Zen-Fire do not support one-cancels-other orders natively. If these
brokers/gateways are used, MultiCharts will send the cancel requests.
FXCM does not support one-cancels-other orders natively. If FXCM is the broker, MultiCharts will send the cancel requests.
In addition, due to FXCM’s restrictions, MultiCharts will not send limit or stop orders to FXCM. All limit or stop orders will be
sent as market orders.
Note: If the price target and stop loss are very close to each other, and the market is volatile, it is possible that the
other order will be filled before it is cancelled.
Automatic Termination of Auto Trading 229

Auto Trading is stopped automatically if any of the following occurs:


· Any changes are made to the symbol chart or charts, to which the strategy is applied: chart reload, adding, removing,
changing any of the symbols or their request parameters that result in the strategy's recalculation (not to be confused
with receiving historical data).
· Any of the strategy signals are turned on or off
· Any of the strategy signal inputs are changed
· Any of the strategy signals are recompiled
· Any signals are removed from or added to the strategy
· Any strategy parameters are changed

© 2009 TS Support, LLC


230 MultiCharts 5.5 User Guide

· Any Auto Trading parameters are changed


· Connectivity between MultiCharts and the execution gateway has been lost and the disconnection time exceeded the
specified acceptable level.

Pending Order Cancellation upon Termination of Auto Trading 229

If any orders are pending when Auto Trading is terminated, an Auto Trading Warning – Do you want to cancel the
order? window appears.
A list of pending orders is displayed in the window. To cancel some or all of the pending orders, select the check boxes to
the left of the orders that are to be canceled, and clear the check boxes to the left of the orders that are not to be canceled,
and click Cancel Order(s) . To not cancel any of the pending orders, click Do Not Cancel Order(s) .
Closing of Open Positions upon Termination of Auto Trading 229

If any positions are open when Auto Trading is terminated, an Auto Trading Warning – Do you want to close position?
window appears. A list of open positions is displayed in the window.
To close open positions, click Close Position. To leave the positions open, click Do Not Close Position.
Auto Trading the Same Symbol from Multiple Charts 229

If the same symbol is traded from multiple charts, market position for each chart is tracked separately.
Unfilled Strategy Order Replacement 229

A Limit or a Stop order, transmitted to the execution gateway and displayed on the chart, could still go unfilled by the broker
because of the market conditions. Unfilled Strategy Order Replacement option can be used to keep the strategy
synchronized with the actual trading position by converting, after a defined period of time, unexecuted Limit or Stop orders
to Market orders.
To learn more, see Setting up Auto Trading in MultiCharts 222

Synchronization of the Market Position in the Auto trading Mode 229

In auto-trading, there are certain circumstances which may cause the actual position and the position shown on the chart to
be different. MultiCharts gives the user the ability to set the initial position of the strategy so that the actual position and the
position on the chart will be synchronized.
For example, a strategy has long and short orders. The buy order reverses the short position, and the short order reverses
the long position. If the position is long 1 contract, then the strategy will sell 2 contracts to reverse the long position.
Conversely, if the position is short 1 contract, then the strategy will buy 2 contracts to reverse the short position. The
strategy is always either long 1 contract or short 1 contract. The problem arises when this strategy is initially turned on.
When this strategy is initially turned on, the actual position is flat. However, the chart will show, for example, that the
strategy is already long 1 contract. When the short signal fires, the strategy will think that it already has a long position and
therefore short 2 contracts to reverse the long position. This means the actual position is short 2 contracts instead of short 1
contract. Yet the chart shows that the strategy is only short 1 contract, and the actual position should only be short 1
contract.
MultiCharts can prevent such problems from occurring. Before turning on auto-trading, the user can specify the actual
position and MultiCharts will understand how to synchronize it with the strategy. In the example above, the user can specify
that the actual position is flat. When the short signal fires, MultiCharts will only short 1 contract instead of 2 contracts. The
actual position is now synchronized with the chart, and the actual position is correct. Both the actual position and chart
position are short 1 contract.
Auto Trading Status Switch 229

The Auto Trading Status Switch is a button on the chart that lets the user turn on auto trading quickly. The button will be
labeled either SA or AA depending on whether the user selected synchronous auto trading or asynchronous auto trading
mode for the strategy. By default, the location of this button is on the top left corner of the chart. However, it is possible to
move it to a different location by doing the following:
1. Select Format from the main menu.
2. Select Window.
3. In the Format Window dialogue box, select the Status Line tab.
4. In the list box, find Automate Order Execution Switch.
5. Click on Move Up or Move Down to change the order and the location. To remove it from the chart, deselect it.

Tracking Market Position from the Broker During Auto Trading 229

In auto trading, there can be a de-synchronization between the market position of the strategy and the actual filled position
from the broker. The de-synchronization is usually caused by orders that are submitted but not filled. In such cases, the
user may want to have the strategy adjust calculations based on the actual filled position instead of adjusting the

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 231

calculations manually.
PowerLanguage keywords are available to track the actual filled positions during auto trading. The user can use these
keywords to enable hands free trading.
The following keywords are available:
i_MarketPosition_at_Broker
i_MarketPosition_at_Broker_for_The_Strategy
MarketPosition_at_Broker
MarketPosition_at_Broker_for_The_Strategy

© 2009 TS Support, LLC


232 MultiCharts 5.5 User Guide

4.9.4.4 Auto Trading Status Messages

Auto Trading Status Messages

In auto trading, informational messages and order execution status messages are displayed in a pop-up window in the lower
right-hand corner of the screen. These messages can be generated by either MultiCharts or the execution gateway.
Order Execution messages only can be disabled in the Auto Trading tab of the Strategy Properties window.
Status Messages are displayed on following events:
· Connection to order execution gateway has been established

· Connection attempt to order execution gateway has not been successful

Note: If you get this message, please make sure that you have enabled API connections in your order execution
gateway. Please refer to your gateway's documentation.

· Connection to order execution gateway has been lost

Note: Once the connection to order execution gateway is restored, the Connection to order execution gateway has
been established message will be displayed.

· An order has been Filled

· An order has been Rejected

© 2009 TS Support, LLC


MultiCharts | Strategy Trading 233

Note: An order can be rejected if the symbol was not set up correctly in QuoteManager. If this message appears,
please verify that the Price Scale, Min Movement, and Big Point Value settings for the symbol are correct in
QuoteManager. To learn more, see Setting Properties 263

· An order has been Canceled

· Automated Order Execution has been turned off

Note: Please see Automatic Termination of Auto Trading 229 for an explanation of when auto trading is automatically
turned off.

· MultiCharts is disconnecting from the execution gateway

Note: This message is displayed when the last auto trading enabled chart is closed.

© 2009 TS Support, LLC


234 MultiCharts 5.5 User Guide

4.10 Portfolio Backtesting


4.10.1 Understanding Portfolio Backtesting

Understanding Portfolio Backtesting

Portfolio Trading
Applying a trading strategy to a number of financial instruments simultaneously offers several advantages:
· Portfolio diversification will produce more consistent results
· Infrequent trading opportunities will be more common across a number of symbols
· Portfolio strategies can maximize profit and minimize risks by allocating the capital within a portfolio dynamically, based on
each instrument’s performance
· Portfolio strategies can enter, scale-in, scale-out, or exit positions based on the overall portfolio performance
· Portfolio strategies are generally more robust and less susceptible to over-optimization

Understanding Dynamic Portfolio


A dynamic portfolio strategy is more then simply a collection of separate strategies, and must take in to account a number of
additional factors:
· Capital limits
· Entry orders priority
· Money and Risk management
· Overall portfolio performance

Portfolio Backtesting
Portfolio backtesting offers a number of advantages:
· Backtesting a strategy on a single instrument may not produce enough trades to distinguish a pattern from a coincidence
· Backtesting a strategy on a number of instruments is more likely to reveal any shortcomings and helps to avoid over-
optimization
· A robust strategy is likely to demonstrate consistent profitability across various instruments
· By backtesting on a diverse portfolio, the instruments most suitable for the particular trading strategy can be selected
Batch Portfolio Backtesting, also known as Basket Backtesting, evaluates each strategy separately and then compiles the
results.
True Dynamic Portfolio Backtesting simulates the actions of a real trader by taking in to account the overall portfolio
considerations dynamically, during the evaluation of each bar.
Portfolio equity and the available capital are dynamically evaluated for every instrument, on every bar, in order to determine the
amount available to be invested.
When available capital is insufficient to enter all of the trading opportunities that arise simultaneously, the best opportunities
are selected according to user-customizable criteria.
In addition to the performance of a particular instrument, portfolio drawdown or other portfolio performance aspects can be
taken in to consideration when making entry and exit decisions.

Portfolio Backtesting Diagram

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 235

Script Calculation and Raw Order Generation


During backtesting, a single bar of each symbol’s data series is evaluated by the strategy’s signal scripts, starting with the first
(oldest) bar. The series’ bars are evaluated in the order that the symbols appear in the symbols table of the Portfolio
Backtester. Based on evaluation of each series’ bar, a set of one or more orders may be generated by the scripts for each of
the symbols. Order sets are generated in the same sequence as the series’ bars are evaluated.
This process is illustrated in the Raw Order Generation section of the diagram: the first bar for symbol 1 is evaluated first, and
a set of orders is generated based on that bar. Then the first bar for symbol 2 is evaluated, and a set of orders is generated
based on that bar. The process is repeated until the first bar for the last symbol (Symbol N) is evaluated.
The resulting sequence of order sets begins with the order set for the symbol 1, followed by the order set for symbol 2, and
ends with the order set for symbol N.

Symbol Prioritization
If PortfolioEntriesPriority function is specified within a strategy, the sequence of the order sets is rearranged based on the
criteria specified.
This process is illustrated in the Symbol Prioritization section of the diagram: the resulting sequence of order sets begins with
the order set for the symbol 1, followed by the order set for symbol N, and ends with the order set for symbol 2. The position of
a set of orders in the sequence determines its relative priority: the set of orders for symbol 1 has the highest priority (3), set of
orders for symbol N has the second highest priority (2), and the set of orders for symbol 2 has the least priority (3).

Risk Control
At the risk control stage, the sequence of order sets is treated as one long sequence of orders. The orders are executed one-
by-one from the beginning of the sequence, until all orders are executed, or until the risk control limits defined in Portfolio
Settings of the Portfolio Backtester prevent the execution of remaining orders. Any remaining orders that could not be executed
are discarded.
This process is illustrated in the Risk Control section of the diagram: all of the orders for symbol 1 and symbol N are executed,
while only some of the orders for symbol 2, 100 shares Long @ 55, are executed, due to risk control limits preventing the
execution of the rest of the orders for symbol 2.
The entire process is repeated for the next bar of each of the portfolio symbol's data series.

© 2009 TS Support, LLC


236 MultiCharts 5.5 User Guide

4.10.2 Operating Portfolios

Operating Portfolios

Portfolios can be created by the MultiCharts Portfolio Backtester.


MultiCharts Portfolio Backtester is included with the MultiCharts platform as a separate application.
Starting Portfolio Backtester 236

To start MultiCharts Portfolio Backtester:


· Select the Portfolio Backtester icon on the computer's desktop or on the Quick Launch bar, or:
· Select All Programs, select MultiCharts, and click Portfolio Backtester.

Creating Portfolios 236

To create a new Portfolio:

· Click the New Portfolio icon on the toolbar, or


· Select File in the main menu and then select New Portfolio, or
· Press CTRL+N to use the keyboard shortcut.

Saving Portfolios 236

A Portfolio, complete with the strategy and all settings, is saved as a file with a .pws extension.
To save a Portfolio:

· Select the Save Portfolio icon on the toolbar, or


· Select File in the main menu and then click Save Portfolio, or
· Press CTRL+S to use the keyboard shortcut.
To save an already named Portfolio under a new name, select File in the main menu and select Save Portfolio As.
Loading Saved Portfolios 236

To load a saved Portfolio:


1. Open the Open file window.

How? 236

To access the Open file window:

· Select the Load Portfolio icon on the toolbar, or


· Select File in the main menu and then click Load Portfolio, or
· Press CTRL+O to use the keyboard shortcut.

2. Navigate to the portfolio file (*.pws) and select it.


3. Press the Open button.

Renaming Portfolios 236

Portfolios can be renamed by two different methods:


· Save a copy of the Portfolio under a different name (see Saving Portfolios 236 ) or,
· Use Windows Explorer or another program to rename a Portfolio file as you would any other Windows file.

Deleting Portfolios 236

Use Windows Explorer or another program to delete the Portfolio file as you would any other Windows file.
Understanding the Symbols Table 236

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 237

A table of portfolio symbols is displayed in the Symbols section. The symbols are displayed under two categories: Tradable
Symbols and Information Symbols.
Tradable Symbols
Tradable symbols are the symbols for which the orders are generated. Tradable symbols are listed in the first column of the
table, data1. Unless PortfolioEntriesPriority function is specified within a strategy, the order, in which the symbols are listed
in the Symbols Table, determines the entry priority for the symbols, with the symbols at the top of the table having a higher
priority.

Informational Symbols
Informational symbols are the symbols that may be required by the strategy's logic to make trading decisions. For example,
if the strategy's logic references S&P 500 Index to make trading decisions for 3M, the S&P 500 Index symbol must be listed
in as an Informational symbol, in addition to the 3M symbol being listed as a Tradable symbol. Up to four informational
symbols can be used for each tradable symbol; informational symbols must be listed in the data2 through data5 columns,
in the same row as the tradable symbol for which they are intended.

Adding Symbols to the Symbol List table 236


Note: Informational symbols can only be added to a row that already contains a tradable symbol.
To add a symbol:
1. Select the cell where the symbol is to be added.
2. Open the Select Symbol window by one of the following methods:
· Double-click the cell, and then click the button, or
· Right-click the cell, and then click Format Symbol.

3. Select a data feed from the Data Source drop-down list box.
4. Select a symbol from the list of available symbols in the All Symbols tab, or use the category tabs to list
only a particular category of symbols. The list can be sorted by any column, in ascending or descending
order, by clicking on the column header.
If the symbol isn't in the list, please see Adding Symbols to Symbol List 260 for more information.

Selecting Multiple Symbols 236


Multiple symbols can be selected in the Select Symbol window and added to the Symbol List.
New rows will be automatically inserted in to the table.
To select a group of adjacent symbols,
· Select the symbol on one end of the group.
· While holding the SHIFT key, select the symbol on the other end of the group. The entire group will be
selected.

To select multiple symbols one-by-one:


· Hold down the CTRL key and select each symbol.
· To cancel the selection, hold down the CTRL key and select the symbol again.

5. Click OK to add symbol(s) to the table.


Symbols can also be entered directly into each cell. Symbols are already in the QuoteManager database will show
up in blue. Unrecognized symbols will show up in red, indicating that they must to be added to the Symbol List 260

Working with Symbol List table 236

To delete a row,
1. Right-click on any cell in the row.
2. Select Delete Row.

To insert a row,
1. Right-click on the Data1 cell in the row above which the new row is to be inserted.
2. Select Move Down. A new row will be inserted.

A symbol can be copied from a cell using the CTRL+C keyboard shortcut, and pasted to a cell using CTRL+V
keyboard shortcut. The symbol can also be pasted to all cells of a column. To paste a symbol to all sells of a
column, select the entire column by clicking the column header, and then paste the symbol to any of the selected
cells.

© 2009 TS Support, LLC


238 MultiCharts 5.5 User Guide

Data Series Properties 236

Data Series Properties consists of Resolution, Field, Session, Build Volume On, and Time Zone settings.

Global Settings 236

Global settings consist of the Data Range and Time Zone settings.
To access global settings, select the Data tab in the main window.

Data Range 236


To backtest based on # of bars back or days back:
1. Select the first (upper) radio button in the Data Rangesection.
2. Enter a number in the textbox
3. Select Bars Back or Days Back in the drop-down list.
4. In the From field, enter the date from which Bars Back or Days Back will start counting.

To backtest based on a specified date range:


1. Select the second (lower) radio in the Data Range section.
2. Enter the date range in the From and To fields.

Time Zone 236


To set the timezone:
Select either Local or Exchange time zone from the drop-down list.

Symbol Specific Settings 236

Symbol specific settings consist of Resolution, Quote, Field, Sessions, and Build Volume On.
To access symbol specific settings,
1. Select the cell where the symbol is to be added.
2. Open the Select Symbol window by one of the following methods:
· Double-click the cell, and then click the button, or
· Right-click the cell, and then click Format Symbol.

3. Select the Settings tab.

Resolution 236
Resolution can be based on a Time interval (seconds, minutes, hours, days, weeks,
months, or years), or on a Count interval (tick, volume, change, or range).
To set resolution,
4. In the Resolution textbox, enter the number units for each bar.
5. In the Resolution drop-down list, select the desired units.

To learn more about resolution, see Chart Resolution 41

Quote Field 236


It is possible to use trade data, bid data, or ask data by setting the Quote Field.
To set the Quote Field, select Ask, Bid, or Trade in the Quote Field list box.
To learn more about Quote Field, see Quote Field 47

Sessions 236
To set sessions:
Select the trading session of the symbol from the drop-down list.

Build Volume On 236


For volume-based resolution, it is possible to build the volume bars based on trade volume or tick count:
Select Trade Volume or Tick Count from the drop-down list.

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 239

Data Download Mode 236

It is possible to perform backtesting using only locally stored historical data, or download any additional data that may be
required before beginning the backtesting process.
To download any additional historical data that may be required before beginning backtesting,
1. Select the Data tab in the main window.
2. Select the Download Data Before Backtesting checkbox.

To perform backtesting using only the locally stored historical data, clear the Download data before backtesting
checkbox.

© 2009 TS Support, LLC


240 MultiCharts 5.5 User Guide

4.10.3 Configuring Strategies

Configuring Strategies

Understanding Strategies 240

A strategy is a set of signals, applied to a chart. Signals systematically specify market entry or exit points according to a set
of trading rules implemented in the signals' algorithms, and can be viewed as the basic building blocks of strategies. Over
100 pre-built, customizable signals, covering the most popular trading concepts, are already included with the platform, and
additional signals can be imported from a variety of sources. Signals can be fully customized, or entirely new signals
created, using PowerLanguage® scripting in PowerLanguage Editor.
A portfolio can contain several strategies. Each strategy can have its own list of symbols and signals. It is possible apply
different strategies to different sets of symbols.
Basic adjustments to a signal's logic can be made by simply changing the Input Values. Signals can have one or more
inputs, or none at all. Multiple instances of the same signal can be used in the same strategy, and each instance can have
different input settings.
Strategies can be constructed by simply combining a number of signals. Signal settings are specific to each particular
signal, while Strategy Properties 196 regulate the actions of a group of signals as a whole.
Adding Strategies 240

To add a strategy to a portfolio:


1. Under the main menu select Portfolio.
2. Select Add Strategy.

Adding Signals 240

The number of signals that can be added to a portfolio is limited only by your computer's hardware configuration.
To add a signal to a portfolio:
1. In the Portfolio Tree window, expand the Strategy for which the signal will be added.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Right-click on the Signals node and select Add Signals.


3. Select a signal from the Add Signals window.
4. Select OK.
Note: Only the compiled (those with the Ready Status of Yes) signals can be inserted. To learn more see Compiling
Studies 320
Removing Signals 240

To remove a signal:
1. In the Portfolio Tree window, expand the Strategy for which the signal will be removed.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Expand the Signals node.


3. Right-click on the signal to be removed and select Remove Signal.

Signals List 240

To see which signals are applied to a portfolio:


1. In the Portfolio Tree window, expand the Strategy that contains the signals.

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 241

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Expand the Signals node.


Note: Signals' execution priority is assigned according to the order in which they appear in the Signals List, with the
signals at the top of the list having a higher priority.

To view the available input parameters of a particular signal


1. Right-click on the signal.
2. Select Format Signal. The Format Signals window will appear. The table will show available inputs.
3. In the Value column, click on the value of the input to be changed and enter the desired value.
Name – name of the signal
Inputs – input parameters of the signal; to learn more see Default Studies Inputs 320 and Setting Studies
Inputs 173

Turning Signals Off and On 240

Signals can be turned off or on. The script of a signal that is turned off will not be executed and will not generate orders.
To turn a signal off or on:
1. In the Portfolio Tree window, right-click on the strategy in which the signal resides.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Select Show Signals. The Format Settings window will appear.


3. Select the Signals tab.
4. Select the Status button to toggle the signal on or off.
5. Click the OK button.

Changing Signal Priority 240

If execution of all entries generated for a portfolio causes the capital limits to be exceeded, then the entries with the highest
priority will receive preference, while the entries with the lowest priority will not be executed.
The priority of a symbol is the order in which it is listed in the Symbol List of the Portfolio Backtester. Signal priority can also
be specified in PowerLanguage using the PortfolioEntriesPriority keyword.
Moving a Signal to a Different Strategy 240

To move a signal to a different strategy:


1. Drag the signal from the strategy in which it resides and drop it into the Signals node of the new strategy.

Setting Signal Input Values 240

An Input is a constant used in the signal's calculations. Signals can have one or more inputs, or none at all. Each input is
assigned a name. There are three types of inputs: Numeric, True/False, and String. Signals can be modified by changing
the input Values. One of the main advantages of using the inputs is that basic adjustments to the study's logic can be made
by simply changing the input values, without the need to edit the studies' actual code. Multiple instances of the same signal
can be used in the same strategy, and can have different input settings.
Inputs are also used for Trading Strategy Optimization.
To change a signal's inputs:
1. Right-click on the signal in the Portfolio Tree window.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:

© 2009 TS Support, LLC


242 MultiCharts 5.5 User Guide

1.1.Go to Portfolio Backtester application.


1.2.Under the main menu click View and then select Portfolio Tree

2. Select Format Signal. The Format Signals window will appear. The table will show available inputs.
3. In the Value column, click on the value of the input to be changed and enter the desired value.

Strategy Properties 240

Strategy properties are separate from the individual signals' settings, affect all of the signals in a strategy, and regulate the
actions of a group of signals as a whole.
Strategy properties include Costs/Capitalization, Maximum bars back, Position limits, and Trade size sections.
Costs/Capitalization 240

To change costs or/and capitalization assumptions:


1. In the Portfolio Tree window, right-click on the strategy.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Select Show Properties. The Format Settings window will appear.


3. Select the Properties tab.
4. In the Costs/Capitalization section, enter the commission dollar amount in the Commission textbox, and:
4.1.Select per Trade to specify that the dollar amount entered represents commission per trade, or
4.2.Select per Share/Contract to specify that the dollar amount entered represents commission per share/
contract

5. In the Costs/Capitalization section, enter the slippage dollar amount in the Slippage textbox, and:
5.1.Select per Trade to specify that the dollar amount entered represents slippage per trade, or
5.2.Select per Share/Contract to specify that the dollar amount entered represents slippage per share/contract

6. In the Interest Rate textbox, enter the interest rate, to be used in performance ratio calculations.

Maximum Number of Bars Study Will Reference 240

All signals based on past data use a certain number of bars for their calculations. The maximum number of bars study
will reference must be greater than or equal to the number of bars that the signal uses.
For example, if the signal uses the past 10 bars to make its calculations, the maximum number of bars study will
reference must be greater than or equal to 10.
To change the maximum number of bars study will reference,
1. In the Portfolio Tree window, right-click on the strategy.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Select Show Properties. The Format Settings window will appear.


3. Select the Properties tab.
4. In the Costs/Capitalization section, enter a number in the Maximum number of bars study will reference
textbox.

Position Limits 240

Position Limits settings control the maximum number entry orders in the same direction and the maximum number of
shares/contracts per position.
To enter position limits:

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 243

1. In the Portfolio Tree window, right-click on the strategy.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Select Show Properties. The Format Settings window will appear.


3. Select the Properties tab.
4. In the Position Limits section, select the check box to enable order limits in the same direction.
5. Enter the number of entry orders permitted in the same direction into the textbox.
5.1.Select when the order is generated by a different entry order radio button to apply the entry order limit
only when the entry orders originated from different signals, or
5.2.Select regardless of the entry that generated the order radio button to apply the entry order limit
regardless of whether the entry orders originated from the same or different signals.

6. In the Maximum shares/contracts per position textbox, enter the maximum shares/contracts permitted.

Trade Size 240

Trade size settings set the size of each trade, either by the number shares/contracts or by currency value.
Trade size settings select the number shares/contracts or the currency value per each trade.
Note: These settings are ignored if trade size is specified by the signal.
To enter the trade size:
1. In the Portfolio Tree window, right-click on the strategy.

Opening Portfolio Tree window 240

To open the Portfolio Tree window:


1.1.Go to Portfolio Backtester application.
1.2.Under the main menu click View and then select Portfolio Tree

2. Select Show Properties. The Format Settings window will appear.


3. Select the Propertiestab.
4. In the Trade Size section,
4.1.Select the Fixed Shares/Contracts radio button to enter the trade size in terms of shares/contracts, or
4.2.Select the Dollars per Trade radio button to enter the trade size in terms of dollars, or
- Enter a whole number to specify how fractional shares/contracts will be rounded
- In the Minimum number shares/contracts box, enter the minimum number of shares/contracts.

4.3.Select the Percent of Equity radio button to enter the trade size in terms of percent of equity.

© 2009 TS Support, LLC


244 MultiCharts 5.5 User Guide

4.10.4 Portfolio Settings

Portfolio Settings

Portfolio settings define the conditions under which the strategy is executed. Portfolio Settings include Exposure, Max % of
Capital at Risk per Position, Initial Portfolio Capital, Margin per Contract and Potential Loss per Contract.
Portfolio Settings can be set from the Portfolio Settings tab in Portfolio Backtester application.
To use the Portfolio Settings tab:
1. Select the Portfolio Settings tab in the main window.
2. In the Exposure box, enter the maximum percentage of capital to be exposed to risk.
For example, with Exposure set to 50%, a maximum of 50% of the capital will be available for the sum of all
positions. If an additional position causes total exposure to exceed 50%, the position size will be reduced so that
the Exposure limit is not exceeded. Exposure is defined as follows: entry price * number of contracts. This is the
definition for both long and short positions.
3. In the Max % of Capital at Risk per Position box, enter the maximum percentage of capital that can be risked per
position.
For example, with Max % of Capital at Risk per Position set to 5%, a maximum of 5% of the capital will be
available for a single position. If an additional position risks more than 5% of capital, then the position size will be
reduced so that the Max % of Capital at Risk per Position limit is not exceeded. Max % of Capital at Risk per
Position is defined as follows: entry price * number of shares. This is the definition for both long and short
positions.
Note: Max % of Capital at Risk per Position cannot exceed the Exposure setting.

4. In the Initial Portfolio Capital box, enter the amount of the initial trading capital.
5. In the Required Capital Assumptions in Margin Trading section, choose to use either Margin per Contract
settings or Potential Loss per Contract settings.
Note: Do not use both.
Using Margin per Contract Settings 244
1. In the Margin per Contract section,
· Select Absolute Margin value (from QuoteManager symbol settings) to get the margin value from
QuoteManager. Each symbol has a margin setting in QuoteManager. If no margin setting was entered in the
QuoteManager symbol settings, then the margin value is assumed to be zero, or
· Select the Margin value % of contract cost radio button to enter a margin percentage that will be applied
to all contrats.

2. In the Potential Loss per Contract section, input “0.001” into the Absolute Max Potential Loss box. This
effectively disables the Potential Loss per Contract section.
Note: Only the initial margin will be taken into consideration. The maintenance margin will not be taken into
consideration.
Using Potential Loss per Contract Settings 244
1. In the Potential Loss per Contract section,
· Select Absolute Max Potential Loss to enter the max potential loss in absolute dollars, or
· Select Max Potential Loss to enter the max potential loss in percentages.

2. In the Margin per Contract section, set Margin value % of contract cost to “0.” This effectively disables the
Margin per Contract section.

In real trading, margin values and other portfolio settings may change depending on the circumstances. Portfolio Backtester
enables the user to calculate the margin values and change portfolio settings dynamically with PowerLanguage.
For more information, please see PowerLanguage portfolio-related keywords (prefixed with the word “Portfolio”).

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 245

4.10.5 Backtesting a Portfolio

Backtesting a Portfolio

Once a portfolio has been created, strategy configured, and portfolio settings selected, the portfolio can be backtested.

To backtest a portfolio:

· Click the BackTest button on the toolbar, or


· Select Portfolio in the main menu and then select Run Backtesting.

Backtesting a portfolio will generate a Portfolio Performance Report 246 that will be displayed in a separate window.
The description for each performance measure is described in the report.

© 2009 TS Support, LLC


246 MultiCharts 5.5 User Guide

4.10.6 Portfolio Performance Report

Portfolio Performance Report

A Portfolio Performance Report is generated by Backtesting a Portfolio 245 .

Once the portfolio backtesting is complete, a Portfolio Performance Report is displayed in a separate window on the desktop.
Reports can be displayed only one at a time.
The report is used to analyze, based on the historical data, the strategy's performance for the entire portfolio.
Performance Report features a two-panel design. Left panel is a "tree" navigation structure, while the right panel displays the
performance data. Each section of the report is accessed by clicking the appropriate section name in the left panel.
Performance measurements are organized into five categories: Strategy Analysis, Trade Analysis, Periodical Analysis,
Breakdown by Symbols, and Correlation Analysis. A description for each of the measurements within a group is available in the
group‘s root section.
Two of the five categories are unique to portfolio backtesting.
Breakdown by Symbols 246

The Breakdown by Symbols category shows the performance of each symbol in the portfolio.
The Overview node shows the net profit and total number of trades of each symbol.
The Ratios node shows the performance ratios of each symbol. The ratios available are Upside Potential, Sharpe Ratio,
Sortino Ratio, Fouse Ratio, Calmar Ratio, Sterling Ratio, Avg. win / Avg. loss, Profit Factor, and Percent Profitable.
The Equity Curve Analysis node shows equity curve statistics for each symbol. The performance statistics available are
Maximum Equity Drawdown, Maximum Equity Run-up, Avg. Monthly Return, and Standard Deviation of Returns.
Correlation Analysis 246

The Correlation Analysis category shows the equity correlation among the symbols in the portfolio.
The Based on Daily Equity node shows the daily equity correlation of the symbols in the portfolio.
The Based on Monthly Equity node shows the monthly equity correlation of the symbols in the portfolio.
The Based on Annual Equity node shows the annual equity correlation of the symbols in the portfolio.
The description for each performance measure is described in the report.
To show the description of the performance measure,
1. Hover the mouse pointer over the name of the performance measure. If there is a description, the pointer will

change to a Description pointer.


2. Click on the name. The description will appear on the bottom of the report.

For a more information on using performance reports, see Using Performance Report 201 .

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 247

4.10.7 Portfolio Optimization

Portfolio Optimization

Understanding Optimization
A strategy is created by implementing trading concepts, ideas, and observations of historical market behavior, into a trading
system. The very idea of a trading system implies a degree of optimization to market behavior.
The process of strategy optimization further enhances and automates this process. Strategy optimization is the search for the
set of optimum parameters for the defined criteria. By testing a range of signal input values, optimization aids in selecting the
values that correspond, based on historical data, to the best strategy performance. Optimization aids in better understanding of
strategy's characteristics and in creating new criteria for entries and exits.
Optimization can have detrimental effects if the user searches for the combination of inputs based solely on the best
performance over a period of historical data and focuses to much on market conditions that may never occur again. This
approach is known as over-optimization or curve-fitting. Performance will not be the same in real trading, since historical
patterns are highly unlikely to be repeated.

Optimization Methods
There are two optimization methods: Exhaustive Search and Genetic Algorithm.
Exhaustive, also called Brute-Force, optimization systematically goes through all the potential combinations in search for the
best solution. The length of time required is proportional to the total number of all possible solutions. Unless relatively few
parameters are involved, the period of time required to reach a solution by this method may turn out to be unacceptably long.
Thus, exhaustive optimization may only be suitable when there is a limited number of possible solutions.
Genetic Algorithms optimization evaluates only the more promising combinations, finding near-optimum solutions in a fraction
of time that would be required by the brute-force approach, making Genetic Algorithm optimization powerful enough to analyze
strategies with hundreds of parameters. Genetic Optimizer settings add flexibility to this technique.
To learn more about optimization techniques, see Understanding Optimization 209

Running Portfolio Optimization


Once a portfolio has been created, strategy configured, and portfolio settings selected, portfolio optimization can be run.

Exhaustive Search Portfolio Optimization 247

To perform portfolio optimization:

1. Click the Optimize button on the toolbar, or select Portfolio in the main menu and then click Run
Optimization.
2. In the Select Optimization Method dialog box that appears, select Exhaustive Search.
3. In the Exhaustive Search Properties window that appears, select the Optimizable Inputs tab.
4. In the Start Value column, enter the desired starting values for each of the inputs.
5. In the End Value column, enter the desired ending values for each of the inputs.
6. In the Step column, enter the desired step size, for each of the inputs.
7. Select the Optimization Criteria tab.
8. Select the Use Limitation checkbox to limit the output to a defined number of the best results; unselect the
checkbox to list all the results in the optimization report.
9. Enter the desired number of best results in the Show N best results box.
10.Select the best results criteria in the best results for list box.
11.Select Ascending or Descending option to sort the output in ascending or descending order, respectively.
12.Click OK to run the optimization and generate the Optimization Report.

Genetic Algorithms Portfolio Optimization 247

To perform portfolio optimization:

© 2009 TS Support, LLC


248 MultiCharts 5.5 User Guide

1. Click the Optimize button on the toolbar, or select Portfolio in the main menu and then click Run
Optimization.
2. In the Select Optimization Method dialog box that appears, select Genetic Algorithm.
3. In the Genetic Algorithm Properties window that appears, select the Optimizable Inputs tab.
4. In the Start Value column, enter the desired starting values for each of the inputs.
5. In the End Value column, enter the desired ending values for each of the inputs.
6. In the Step column, enter the desired step size, for each of the inputs.
7. Select the Algorithm-specific Properties tab.
8. Select the best results criteria in the Criteria list box.
9. Select Ascending or Descending option to sort the output in ascending or descending order, respectively.
10.Set the Genetic Algorithm properties. For information on GA properties, see Understanding Genetic Algorithm
Optimization 209
11.Click OK to run the optimization and generate the Optimization Report.

Using Optimization Report 247

After the optimization process is complete, a Strategy Optimization Report is generated and displayed in the Optimization
Report window. Only one Optimization Report window can be open at a time.
The report lists the results of all input combinations (subject to limitations options), arranged by the specified criteria in the
specified order. Each row lists a set of performance results for each combination of inputs. The report can be sorted by
values in any three of the criteria, in either ascending or descending order.
Sorting the Optimization Report 247

To sort the report:


1. Select the most significant sort criterion in the Sort by list box at the top left of the report window, and then
select Ascending or Descending to specify the sort order.
2. Select the second most significant sort criterion in the Then by list box at the top center of the report window,
and then select Ascending or Descending to specify the sort order.
3. Select the least significant sort criterion in the Then by list box at the top right of the report window, and then
select Ascending or Descending to specify the sort order.

Applying an Inputs Combination to the Strategy 247

A combination of inputs listed in any row of the report can be applied directly to the portfolio strategy.
To apply an inputs combination:
1. Double-click the row with the desired inputs combination.
2. In the dialog box that appears, click Yes to apply the input combination, or click No to cancel.
Note: Once a new inputs combination is applied to the strategy, the portfolio will have to be backtested again.
3D Optimization Charts 247

3D Optimization Chart is a visual representation of how the strategy’s parameters affect its trading performance. The 3D
graph reveals the most robust parameter zones, and is a great tool for avoiding over-optimization (curve-fitting). Robust
parameter zones will appear to have gradual, rather then abrupt changes in the surface plot. Over-optimized zones will
appear to have radical changes or spikes in the surface plot.

To view the 3D Optimization Chart, click the View 3D Optimization Chart button at the bottom left of the report
window.
A 3D Chart will be displayed in the 3D Optimization Charts window.
Exporting Strategy Optimization Reports 247

Strategy Optimization Report can be exported to a standard .csv (comma-separated values) file. The .csv file can then be
imported into a spreadsheet application for further analysis.
To export the Optimization Report:
1. Click the Export button at the bottom left of the of the report window.

© 2009 TS Support, LLC


MultiCharts | Portfolio Backtesting 249

2. In the Save Strategy Optimization Report As dialog box that appears, navigate to the desired location, enter
the file name, and click the Save button.

© 2009 TS Support, LLC


250 MultiCharts 5.5 User Guide

4.11 Real-Time Market Scanner


4.11.1 Understanding Real-Time Market Scanner

Understanding Real-Time Market Scanner

The Real-Time Market Scanner (also known as "Screener" or "Quote Window") is a data grid (quote sheet) which can display
quotes, market data, and indicator data in spreadsheet format.
The Scanner is indispensable for monitoring, screening, searching, and organizing many symbols according to user defined
criteria. The Scanner can accept symbols from different data feeds. The Scanner can also plot charts automatically without
having to manually add the chart via a new chart window. Symbols can also be sorted by user-defined criteria.

The Scanner is used to:


· Monitor real-time market data in different resolutions (ticks, minutes, days, etc)
· Find trading opportunities based on customizable criteria and sorting
· Plot studies that are either newly built or imported from other sources

Scanner features:
· 5,000 symbols per Scanner window
· 200+ built-in studies
· Multiple-core and multiple CPU support
· Symbol sorting either on a per-second basis or based on a timer
· Ability to mix different data feeds within the same Scanner window
· Ability to use different resolutions for each symbol
· Ability to use all resolutions available in MultiCharts
· Ability to handle both real-time and end-of-day data
· Access to locally stored data
· Ability to handle different custom sessions for different symbols
· Ability to link symbols within a Scanner to a chart
· Ability to create a chart directly from the Scanner with a mouse click
· Ability to choose the number of bars/days back for study calculations
· Visual, audio, and e-mail alerts
· Direct access to PowerLanguage Editor to view and modify study scripts
· Script-driven text generation in the Scanner cells
· Customizable text and background colors
· Dedicated market trend histogram

Working with Scanner Windows 250

A Scanner window complete with all settings is always created and then being saved in a Workspace.
Note: When the window position is detached it can be visually located outside of the Workspace.
The number of windows that can be added to workspaces is limited only by computer's hardware configuration.

Creating a New Scanner Window 250

To create a new Scanner window:

© 2009 TS Support, LLC


MultiCharts | Real-Time Market Scanner 251

· Click on the New Scanner Window icon on the Main Toolbar, or


· Select File in the main menu, then point to New and click on New Scanner Window, or
· Use CTRL+SHIFT+INSERT hot key combination, or
· Right-click on the empty area of the workspace and select Scanner Window.

Learn more about working with windows:


Workspaces 23
Arranging Windows 23
Copying Windows 23
Detaching/Attaching Windows 23
Detached Windows "Always on Top" Feature 23
Deleting Windows 23
Switching between Windows 23

© 2009 TS Support, LLC


252 MultiCharts 5.5 User Guide

4.11.2 Working with Grid

Working with Grid

The Scanner is a data grid that can display quotes, market data, and indicator data in spreadsheet format. Each row always
includes the following columns:
Symbol (first column)
Resolution (second column)
Trend (third column)
The positions of the columns above are fixed and cannot be moved.
Ten additional data columns can be added. Each data column can have ten sub-columns. For example, the Data column
counts as one data column with seven sub-columns.
Selecting an Active Cell within the Scanner Window 252

It is possible to use the mouse or the keyboard to navigate an active cell within the Scanner window.

Using the mouse:


Select the cell to make it active.
Use the scroll bars located at the bottom and the right side of the Scanner window for viewing the cells that extend outside
the visible range of the window.

Using the keyboard:


Arrow Keys - moves the cursor in the direction of the arrow key
HOME – returns the active cell position to beginning of the row
END – returns the active cell position to the end of the row
PAGEUP – moves the active cell position one page down
PAGEDOWN – moves the active cell position one page up
CTRL+HOME – returns the active cell position to the top left corner
CTRL+END – returns the active cell position to the bottom right corner
F2 – edits the current cell
F7 – Insert Study
Making Column Width Fit to Text 252

To fit column width to text:


1. Move a mouse pointer to the right border of a column header (e.g. Study title or Plot title).

2. Double click when the pointer shape is changed to Horizontal Resize . The column width will be fitted to
the text in the column.

Moving Study Columns Position 252

To move a Study column:


1. Drag this Study header to a new location.
Note: Symbol, Resolution, and Trend columns cannot be moved.
Creating Chart Directly from a Scanner Window 252

To plot a chart directly from a Scanner window:


· Right-click on the symbol name and select Create Chart. A chart will be plotted in a new chart window.
or

· Double-click on the symbol's Trend cell. A chart will be plotted in a new chart window.
Note: Indicators from the scanner will be applied to the new chart automatically.
Changing the Scanner Theme Colors 252

To change the Scanner's theme colors:


1. Select View from the main menu.
2. Select Themes to choose the theme.

© 2009 TS Support, LLC


MultiCharts | Real-Time Market Scanner 253

4.11.3 Working with Symbols

Working with Symbols

In the Scanner it is possible to add, format, and remove symbols. Symbols can be added from diverse data feeds and have
different settings.
Linking of the symbols to the chart or multiple charts makes it possible to plot charts in considerably small time period.
Symbols can be sorted according to the defined criteria with possibility to use a timer.
Adding a Symbol 253

To add a new symbol to the Scanner window:


1. Access Format Symbol dialog window:
· Press F5 key on the keyboard, or
· Select Symbol in the main menu then select Symbol, or
· Double-click on any cell in any empty row, or
· Right-click on any cell and select Insert Symbol....

2. Select the Symbol tab.


3. Select a data feed in the Data Source drop-down list box.
4. Delete the text, if any, in the Symbol/Description drop-down list. The text is used to filter available symbols. If
there is text, then only symbols that contain the text will be available.
Learn more about Adding Symbols 260 to QuoteManager Symbol List
5. Select a symbol from the list of available symbols in All Symbols tab.
Tip: Use the category tabs to list only a particular category of symbols.
Tip: The list can be sorted by any column. To sort, click on the column header.
Tip: It is also possible to add multiple symbols at the same time. To highlight multiple symbols use one
of the following methods:
· Click on the symbol to begin with and while holding SHIFT key click on the last necessary
symbol. All symbols in the range between these two will be selected; or:
· Use CTRL in combination with the mouse to select/deselect symbols one by one. While
holding CTRL, a single click will select the symbol and second click on the same symbol will
deselect it; or:
· While holding SHIFT use the UP ARROW and the DOWN ARROW keys to select a group of
neighbor symbols; or:
· While holding CTRL, use the UP ARROW and the DOWN ARROW keys in combination with
the SPACE key to select symbols.
· Using the Ctrl+A keyboard shortcut to select all symbols.

1. Сlick OK, to create a chart with the default settings.


Read more about Formatting Symbols 253

Note: The order of the symbols in the scanner may be different from the order of the symbol selected in the Format
Symbol window if automated sorting is turned on.
Note: The maximum number of symbols per one Scanner window is 5,000.
Tip: Symbols can also be copied and pasted from a Microsoft Excel spreadsheet or text file to the Scanner.
Formatting Symbols 253

To format a symbol in the Scanner window:


1. Access the Format Symbol dialog window using one of the following methods:
· Select Scanner in the main menu and click on Format Symbol…, or:
· Double-click on the necessary symbol in the symbol list, or:
· Right-click on the necessary symbol and select Format Symbol...

2. Modify appropriate symbol settings if needed:

© 2009 TS Support, LLC


254 MultiCharts 5.5 User Guide

Symbols 38
Chart Resolution 41
Quote Field 47
Sessions 48
Build Volume On 41
Time Zone 51
Fractional Price Scale Format for Symbols 263

3. Modify Data Range settings if needed:

Using Custom Data Range 253


· Select the Use Custom Data Range check box to set the number of bars/days back for indicators applied to
this symbol. Clear the check box to use the default bars/days back.
· Enter a number in the text box (from 1 to 100000) and select either Bars Back or Days Back in the drop-
down list.
· Select the most recent date from which to calculate Bars Back or Days Back range.
Note: By default, current date is set for the initial value.

4. Click OK.

Formatting All Symbols 253

To edit resolution for all the symbols at the same time:


1. Right-click on any cell in the Resolution column.
2. Select Format Resolutions for All Symbols....
3. Format Resolution (All symbols) dialog window will appear.
Learn more about Chart Resolution 41 .
Note: Resolution settings will be applied to all existing symbols; however newly added symbols will not inherit these
settings.

To change the custom data range for all the symbols at the same time:
1. Right-click on any cell in the Resolution column.
2. Select Format Resolution for All Symbols....
3. Select the Use Custom Data Range check box.
4. Enter a number in the text box (from 1 to 100000) and select either Bars Back or Days Back in the drop-down
list.
5. Select the most recent date from which to calculate Bars Back or Days Back range.
Note: By default, current date is set for the initial value.
Removing a Symbol 253

To remove a symbol from the Scanner use one of the following methods:
· Click on the symbol name and use the DELETE button, or
· Select Edit in the main menu and click on Remove Symbol, or
· Right-click on the symbol and select Remove Symbol.

Removing All Symbols 253

To remove all symbols from the Scanner:


1. Select Edit in the main menu.
2. Click on Remove All Symbols. A confirmation window will appear.
3. Click Yes to remove all symbols, or No to cancel.

Sorting Symbols 253

Sorting makes it possible to quickly locate and monitor best trading opportunities defined by customizable criteria. The
market data lines in the Scanner can be sorted based on any column.

To sort based on a single criterion:

© 2009 TS Support, LLC


MultiCharts | Real-Time Market Scanner 255

1. Double-click on the column header. The market data lines will be sorted based on ascending or descending
order.
Tip: Double-click on the same header will switch from the ascending to the descending order of sorting.

To sort based on multiple criteria (up to three),


1. Right-click on any market data line and select Sort. The Sorting Settings window will appear.
2. Select the first criteria to sort by using the Sort by drop-down list. Then press the Ascending/Descending
button to sort by ascending or descending order.
3. Select the second criteria to sort by using the Then by drop-down list. Then press the Ascending/Descending
button to sort by ascending or descending order.
4. Select the third criteria to sort by using the Then by drop-down list. Then press the Ascending/Descending
button to sort by ascending or descending order.

To sort automatically:
1. Select the Sort Data Every check box and enter the time period in seconds.

Linking Symbols 253

Symbols in the Scanner can be linked to a chart plot. After linking, the selected symbol in the Scanner can be easily plotted
by simply clicking on the symbol in the Scanner. The symbol will plot automatically in the chart.

To link a Scanner symbol to a chart plot:


1. Create a Chart window using any symbol.
2. Create a Scanner window within the same or different workspace.

3. Select the Symbol Link button on the Symbol column header in the Scanner. Select a color.

4. Select the Symbol Link button on the Status Line of the Chart window to be linked. Select the same color
as the color chosen in the Scanner.
Note:
The Symbol Link button will not appear if it is hidden in the Status Line settings.

5. In the Scanner window select a cell that contains a symbol’s ticker. The chart for the symbol will be plotted in
the Chart window.
Note: The symbol name is linked to the Chart window. The other settings, such as Resolution of the Chart,
Quote field, Time Zone, Build Volume on, and Sessions will not be affected.

To unlink a chart from the scanner:

1. Click the Symbol Link button on the chart and change it to Not Linked .
Note: All studies or signals previously applied to the chart will be recalculated after linking.
Note: All manually placed drawings will stay in their original locations.
Note: Objects based on formula calculations (e.g., signal arrows, etc.) may disappear if the formula calculation on
the new data series does not generate an object.

© 2009 TS Support, LLC


256 MultiCharts 5.5 User Guide

4.11.4 Working with Studies

Working with Studies

Studies can be added, formatted, removed, and customized. A study script can be accessed directly from the Scanner. It is
possible to change settings for multiple studies at once. Indicated plots of a study can be hidden or displayed when necessary.
Audio, visual and E-mail alerts can be enabled.
Adding Studies 256
1. Open the Insert Study window.
· Press the F7 button, or
· Select Insert in the main menu and select Study, or
· Right-click on any cell in the Scanner window and select Insert Study.

2. Select either an individual study or multiple studies. To select multiple studies, hold down the CTRL button and
select each study.

A study's color is defined in its PowerLanguage Script. To edit the colors, use the reserved words SetPlotColor and
SetPlotBGColor
Formatting Studies 256

To format a study:
· Double-click on the symbol's cell in the study's column, or
· Right-click on the symbol's cell in the study's column. Select Format Study.

The Format Study dialog window will appear. If a study has two or more plots, then formatting will be applied to all the plots
for that particular study.

Setting Inputs Values 256

An Input is a constant used in the study’s calculations. Studies can have one or more inputs, or none at all. Each
input is assigned a name.
There are three types of inputs: Numeric, True/False, and String. Studies can be modified by changing the input
Values. Most, but not all, studies use input values. Learn more about Default Studies Inputs 322 .
One of the main advantages of using inputs is that the study's logic can be changed by simply changing the input
values. Editing the study’s code is not required. The inputs can be modified before and after the study has been
inserted.

Setting the Symbol Properties 256

Study properties can be different for all symbols in the Scanner window. Study properties include Number Format
and Update On Every Tick sections. To define the number of decimals to display for all the study plots of the
specified symbol,
· Select Same as Symbol radio button to use the same number of decimals as the symbol, or
· Select Show radio button and enter the number of decimals.

To recalculate study on every tick, select the Update On Every Tick check box.
Note: Even with this check box checked, updates are still limited to two updates in one second.
Note: If the Use as Default check box is selected, then the current Properties settings will be used for every
newly added symbol.

Enabling the Alerts 256

Visual, audio, or e-mail alerts can be sent when market conditions meet the criteria specified in the study.
To enable alerts,
1. Select the Enable Alerts check box under the Alerts.
2. In the Alert Conditions Check section, select whether the alerts will be triggered On Bar Close or
Every Tick.

Audio Alert 256

© 2009 TS Support, LLC


MultiCharts | Real-Time Market Scanner 257

To enable Audio alerts,


1. Select the Audio Alert check box.
2. Select the Beep radio button for a standard beep sound, or select the Sound radio button to play
a custom sound. If Sound is selected, select the .wav sound file.
3. Press the Test button to test the sound.
4. Select Play Once to play selected sound once or Repeat to play it continuously.
Note: The computer must be equipped with a Sound Card to support the Audio Alert function.

Visual Alert 256

To enable Visual alert:


1. Select the Visual Alert check box.
2. In the Display Notify Window for drop-down list, select the period of time for the alert message
to be displayed.

E-mail Alert 256

To enable E-mail alert:


1. In the E-mail Alert section, select the E-mail Alert check box.
2. Press the Settings button to access to the E-mail Alert settings window.
3. Enter the email addresses of the sender.
4. Enter the email address of the recipient. To send the email to multiple recipients, separate each
email address with a semi-colon.
5. Enter the SMTP Server Name or IP address, and Port number into the textboxes. Please get
this information from your email provider.
6. Check the SMTP Server authentication data checkbox if your SMTP server requires
authentication to send emails. (Usually, if your email account requires a login and password, you
need to check this box.)
7. Enter the User name and Password. (This is usually your email login and password.)
8. Press the Test button to send a test email.
If the sending process has been successful a message will appear in the pop-up window:

If the sending process has been unsuccessful a message will appear in the pop-up window:

9. Press OK to close the E-mail Alert window.


Example of Email Alert Message
01.10.2008 17:48:50 (alert time and date)
Source: Bollinger Bands (study that triggered alert)
Symbol: ESZ8 (traded symbol name)
Resolution: 1 Tick Bar (resolution used)
Price: 1157,5000 (price value at the moment when defined conditions has been met)
Message: Price crossing over lower price band (Message carrying information about the study
condition that has been met)
Note: To use these alert settings as the default for all new indicators, select Use as Default check box.

© 2009 TS Support, LLC


258 MultiCharts 5.5 User Guide

Displaying Studies with Two or More Plots 256

It is possible to hide/display plots of studies, in case a study has more than one plot. To hide/display plots of a study,
1. Right-click on a cell in the study's column or on the study title.
2. Select Show Plots.
3. Select or deselect the plots to be displayed/hidden.

Formatting a Study for All Symbols 256

Formatting a Study for All Symbols makes it possible to modify settings for all symbols at the same time.
To format a Study for all symbols:
1. Right-click anywhere within the Study's column, excluding the header.
2. Select Format 'Study Title' Study for All Symbols. The Format Study window will appear.

The settings for all existing studies will be changed. However newly added symbols will not inherit these settings.
Learn more about Formatting Studies 256

Removing Studies 256

To remove a study:
1. Right-click on any cell within the Study's column, excluding the header.
2. Select Remove 'Study Title' Study.

Accessing Scripts 256

To access a script from a Scanner window:


1. Right-click on any cell within the Study's column, excluding the header.
2. Select Open 'Study Title' Script. A PowerLanguage Editor window will appear.
3. Customize the study script in the PowerLanguage Editor.

Learn more about Working with Studies 314 in PowerLanguage Editor.

© 2009 TS Support, LLC


QuoteManager | Understanding QuoteManager 259

5 QuoteManager
5.1 Understanding QuoteManager

Understanding QuoteManager

QuoteManager is a tool for managing the database.

Its main functions include:


· Displaying and editing the Symbol list, Exchange/ECN list, Holiday list, Data Source list
· Rapid search and editing the necessary information
· Receiving the Symbol list on demand from data vendors that support this mode or adding symbols manually
· Editing the symbol name database and associated settings
· Editing data
· Importing 3rd party data
· Mapping ASCII files
· Connecting additional data vendors

To run QuoteManager click the New QuoteManager Window icon on the Main toolbar.

© 2009 TS Support, LLC


260 MultiCharts 5.5 User Guide

5.2 Operating Symbol List

Operating Symbol List

Symbol List is a list of commonly used financial instruments. Modern-day investors need easy access to any of the trading
vehicles.
QM has been developed based on those needs, the basic requirements being:
· The program must function with numbers of symbols in tens of thousands
· Rapid data access, which means powerful search, sorting, and selection capabilities
· Convenient adding and editing of data
· Simple data backup and restore
· Minimal setup and maintenance effort

Adding Symbol(s) to Symbol List 260

To start working with a symbol, the symbol must be added to the symbol list. Adding can be done manually or from a list,
downloaded from the data vendor.
Adding symbols manually is appropriate when the exact symbol name is known and the list of symbols is not available from
the data vendor. For instance, with DDE there is no way to download a list, and the user is supposed to know the exact
name for the query.
In all other cases, adding symbols manually is not recommended, as parameters in addition to the symbol name may be
required by the data vendor. When a symbol is added from a list, provided by the data vendor, all required parameters are
set automatically.
For details on specific data vendor symbols, see Built-in Sources 274

Adding Symbols in Manual Mode 260

To add a symbol:
1. On the Symbol menu, select Add Symbol, then click Manually, or

Click the Add Symbol icon on the toolbar.

2. Select a Data Source from the list. If the desired data vendor is not listed, it could be that the vendor is
not installed. See Data Sources 271 for additional information.
3. Enter the Symbol name.
4. Select the Category from the list.
5. Select the Exchange from the list. If the desired exchange is not listed, see the Exchanges 269 section.
6. Click OK.
7. Enter the symbol Root.
Tip: Stock root is the same as the stock's name.

8. Click OK to add symbol with current properties or set Symbol Properties 263 .

Adding Symbol from Data Vendor Supplied List 260

To add a symbol:
1. On the Symbol menu, select Add Symbol.
2. Select From Data Source.
3. Choose a data source from the Data Source list; the Insert Symbols into Portfolio window will open.
If a data vendor is not in the list:
· data source does not support a symbol list (the symbol must be added manually 260 )

· data source is currently deactivated (the data source should be activated 271 )

© 2009 TS Support, LLC


QuoteManager | Operating Symbol List 261

· data source is not supported (Built-in Datafeeds 274 should be used).

4. Select a tab, corresponding to the type of symbol to be added.


5. Enter all or part of the symbol name into the Symbol box and click Lookup.
Note: Additional search options may be available depending on data source selected.
6. Select the desired symbol(s).
7. Click Add.
8. Click Close or continue to search for symbols.
Note: If necessary, Symbol Properties 263 can be changed (not recommended).
Selecting Symbol(s) in Symbol List 260

Symbols can be selected by using the keyboard or a mouse.


Using the keyboard, move the selection pointer to the line containing the symbol. If the selection is not visible, press the
Down Arrow button twice, the selection will be visible on the uppermost symbol; selection with the mouse is simpler and
can be achieved by left-clicking the line once.
To select several sequential symbols at once keep Shift pressed and select with Up or Down Arrow buttons.
To select several sequential symbols at once with the mouse keep Shift pressed, scroll using the Vertical Scroll Bar to the
required position, and click it.
To select many sequential symbols at once, select the starting symbol, keep Ctrl pressed and move the selection with the
Home/End or Page Up/Page Down buttons, then release Ctrl, press Shift and press Up/Down arrow buttons depending
on the direction of selecting.
To select many sequential symbols at once with the mouse keep Ctrl pressed and click the symbols.
If you need to select several non-sequential symbols using the keyboard, start on the first symbol, press and keep down
Ctrl and move the selection border to the desired position using the Up/Down Arrows, Home/End or Page Up/Page
Down, then press Space. To perform such selection with the mouse keep Ctrl pressed and click the symbols to be
selected.
Note: To select all symbols, select Edit in the main menu and then click Select All, or use the Ctrl+A keyboard
shortcut.
Deleting Symbol(s) from the Symbol List 260

To delete one or more symbols:


1. Select the symbols to be deleted.
2. Selected symbols can be deleted by one of the following methods:

· Click the Delete Symbol icon on the toolbar


· Right-clicking on the selected symbols and then clicking Delete Symbol
· Selecting Symbol on the main menu and then clicking Delete Symbol
· Pressing the Delete key on the keyboard

Sorting the Symbol List 260

The list is sorted based on the contents of one of the available columns. For example, text data is sorted alphabetically, but
months in calendar order.
For sorting:
1. On the View menu, click Sort By.
2. Select the column to sort by, i.e. Symbol.
3. Select the sorting direction - Sort Ascending or Sort Descending.

-or-
1. Click the corresponding column heading to sort by that column.
2. The arrow on the heading indicates the sorting direction; click the column to reverse the sorting direction.
3. Right-click a column heading to call up a context menu with sorting options. See Selecting Symbol(s) in Symbol
List 260 section.

Finding Symbol(s) in Symbol List 260

© 2009 TS Support, LLC


262 MultiCharts 5.5 User Guide

Two types of a search can be performed: an Incremental search and a Full String search.
An Incremental search locates a symbol as the symbol name is typed. Please note that an incremental search can be
performed by the signal name only, and not by any other attributes.
To perform an Incremental search:
1. Select All Symbols in the left panel to search a list of all symbols, or select a particular symbol category.
2. Click on any symbol in the right panel.
3. Start typing the symbol name; as the name is being typed, the selection will move between symbols seeking for
a match.
Note: Each consecutive character in a symbol name must be typed with an interval of no more the one second; if you
pause for more then one second, a new search will be started, for a symbol name beginning with the first
character that was typed after a pause of more than a second.
To start a new search without waiting for the second to be over, simply press the ESC key.
Example: To search for AMD, type a m d with an interval of less than a second between each character; if you pause for
more than a second after typing a, once you type m, the first symbol, beginning with the character “m”, will be
located instead.
A Full String search can be used to find multiple symbols that satisfy the search criteria.
To perform a Full String search:
1. Select All Symbols in the left panel to search a list of all symbols, or select a particular symbol category.
2. Select Edit in the main menu, and then click Find, or use the CTRL+F keyboard shortcut; a Find dialog box will
open.
3. In the Find what text box, enter a string to search for.
4. In the In column list box, select the column to search in.
5. Click Find Next to begin the search.
6. To continue the search, click Find Next again.

A previously performed search can be repeated by simply pressing the F3 key, without opening the Find dialog box.

Customizing the Symbol List 260

The program supports workspace customization. The user can select the data columns and set their widths, including:
Symbol, Description, Exchange Listed, Data Source, Contract Month, Price Scale, CUSIP, Root, Margin, Contract Year,
Expiation Date, Expiration Rule, Expiration Status, Daily Limit, Min. Movement, Big Point Value, Strike Price, and Option
Type.
To customize the Symbol List:
1. On the View menu, click Columns.
2. Select the checkboxes, corresponding to the columns to be displayed.
3. Use the Move Up and the Move Down buttons to change the order in which the columns are displayed.
4. Enter the desired width, in pixels, in to the The selected column should be N pixels box.
Note: Column width can also be resized by using the mouse.

© 2009 TS Support, LLC


QuoteManager | Settings Symbols 263

5.3 Settings Symbols


5.3.1 Setting Properties

Setting Properties

It is possible to modify symbol properties in QuoteManager. Every symbol has a set of properties. Data Source, Category,
Exchange & ECN, Symbol Name and Symbol Root are the mandatory properties.
In case the symbol was added from a list supplied by data vendor 260 all mandatory and most optional properties are already
set according to data vendor requirements.
It is possible to modify propeties only after the symbol is already added 263 to the symbol list.
In case the symbol was added manually 260 all mandatory (except Symbol Root) and some optional properties are already
set.
It is possible to modify propeties while creating a symbol 263 as well as after the symbol is already added 263 to the symbol
list.
Important: This information can be obtained from the exchanges where the symbol is listed or from a brokerage firm.
The properties are edited in the Edit Symbol 263 window:
Editing an existing symbol properties 263
1. Double-click the necessary symbol in the symbol list.
2. Select appropriate tab in the Edit Symbol window opened.
Note: First tab name dynamically changes according to the symbol category set.
3. Set necessary properties.

-or-
1. Select the necessary symbol (see Selecting Symbol(s) in Symbol list 260 section).

2. Click the Edit Symbol icon on the toolbar.


3. Select appropriate tab in the Edit Symbol window opened.
Note: First tab name dynamically changes according to the symbol category set.
4. Set necessary properties.

-or-
1. Select the necessary symbol (see Selecting Symbol(s) in Symbol list 260 section).
2. Under menu select Symbol and click Edit Symbol....
3. Select appropriate tab in the Edit Symbol window opened.
Note: First tab name dynamically changes according to the symbol category set.
4. Set necessary properties.

Or
1. Right-click on necessary symbol and select Edit Symbol....
2. Select appropriate tab in the Edit Symbol window opened.
Note: First tab name dynamically changes according to the symbol category set.
3. Set necessary properties.

Editing a new symbol properties 263

After filling information in the Add Symbol 260 window the Edit Symbol window appears automatically making possible
setting properties.
Important: The Category property can not be changed for a symbol.
Important: It is required to set the Symbol Root property.
Tip: Symbol Root for stocks is the same as the Symbol Root property.
Property Tab Category Description
Applicable

© 2009 TS Support, LLC


264 MultiCharts 5.5 User Guide

Data Category All Data source to receive the data for the symbol from. It is possible to have
Source* several symbols with the same underlying asset (name) fed from different
data source.
Symbol Category All Symbol name is the abbreviation of the underlying asset name i.e. ticker
Name* name. Symbol names may vary for different data source. The same
underlying asset may have quite different symbol names for different
datas sources.
Symbol Category All Symbol root is a abbreviation of underlying' name. The same underlying
Root* asset may have quite different symbol names for different datas sources.
Description Category All Description is the full name for the asset. Usually it is a name of the
corporation, financial entity or instrument that the symbol is based on.
CUSIP Category Mutual Funds & CUSIP (Committee on Uniform Securities Identification Procedures) is a
Stocks unique nine-character identification number, for each class of security
approved for trading in the U.S., to facilitate clearing and settlement.
Margin Category Futures Amount of money exchange requires to reserve as a deposit for futures
trading (in percents).
Contract Category Bonds, Futures Delivery/expiration month of a security.
Month & Options
Contract Category Bonds, Futures Delivery/expiration year of a security.
Year & Options
Expiration Category Futures & Date future or option contract expires.
Date Options
Expiration Category Futures & Expiration rules are quite different for different types of futures and
Rule Options options.
Expiration Category Futures & Status displays if the contract is expired or not.
Status Options
Strike Price Category Options Option strike price.
Option Type Category Options Option type (Call or Put).
Price Scale Settings All Returns a numeric expression representing the fractional portion of a full
point move for a particular symbol. The PriceScale value is represented
by a whole number. For example; the PriceScale of the E-Mini S&P is100,
which represents the fractional portion of a full point move for the E-Mini
S&P. Any stock would also have a PriceScale of 100. 1 / PriceScale =
Minimum price increment.
Examples
MinMove / PriceScale returns the smallest increment between trades.
MinMove / PriceScale * BigPointValue returns the dollar value of the
smallest change in price.
Tip: MultiCharts can display prices in both decimal and fractional
format.
Displaying prices in decimal format 263
1. Double click on the symbol in QuoteManager. The Edit
Symbol window will appear.
2. Select the Settings tab.
3. In the Settings Details section, select the appropriate
Price Scale from the drop-down list. The following
selections are available for decimal format:

10000
1000
100
10
As is
1/10
1/100
1/1000
1/10000
1/100000
1/1000000

Displaying prices in fractional format 263

© 2009 TS Support, LLC


QuoteManager | Settings Symbols 265

1. Double click on the symbol in QuoteManager. The Edit


Symbol window will appear.
2. Select the Settings tab.
3. In the Settings Details section, select the appropriate
Price Scale from the drop-down list. The following
selections are available for fractional format:

Fractions with
integer numerator
1/2
1/4
1/8
1/16
1/32
1/64
1/128
1/256
The numerator of the fraction may have a decimal:
10 23.25/32
10 23.5 /32
10 23.75/32

Fractions with
decimal numerator
1/32 and 10th of 32nd
1/10 and j of 10th
1/32 and j of 32nd
1/64 and 10th of 64th
1/32 and Ѕ of 32nd
1/64 and Ѕ of 64th
The "10th", "j", and "S" markings have special meaning. Their
definitions are laid out in the table below:
Marking Decimal Fractional
representation in Equivalent
numerator
10th 0, 0.1, 0.2, ... 0.9 1/10
j 0, 0.25, 0.5, 0.75 1/4
S 0, 0.5 1/2
As shown,
"10th" means the decimal in the numerator can be in increments of
0.1.
"j" means the decimal in the numerator can be in increments of 0.25.
"S" means the decimal in the numerator can be in increments of 0.5.
In a user defined price scale range, it is also possible to input
numbers in fractional format into the Maximum and Minimum fields.
The numbers will be converted to decimal format when the dialog box
is closed. However, the price scale on chart will still be in fractional
format.
Note: If the price scale of the symbol is already in decimal format
and it is changed to fractional format, the chart must be
reloaded for the fractional format to appear.
Daily Limit Settings All The maximum price movement allowed during a session (currently is not
used in MultiCharts).
Min. Settings All Returns a numeric expression representing the minimum movement
Movement allowed for a particular symbol.
The MinMove value is represented by a whole number.
For example: the MinMove of the E-Mini S&P is 25, which represents the
minimum price move of the E-Mini S&P which is .25.
Any stock would have a MinMove of 1, which represents the minimum

© 2009 TS Support, LLC


266 MultiCharts 5.5 User Guide

price move of any stock which is .01 MinMove Examples MinMove /


PriceScale returns the smallest increment between trades. MinMove /
PriceScale * BigPointValue returns the dollar value of the smallest
change in price.
Big Point Settings All The dollar value represented by a full point of price movement. In the
Value case of stocks, the Big Point Value is usually 1, in that 1 point of
movement represents 1 dollar, however it may vary. For example, the Big
Point Value for the S&P Futures is 250, where 1 point of price movement
represents 250 dollars. The Big Point Value for a stock such as JDSU is
1, where 1 point of movement represents 1 dollar.
Session Sessions All Learn more about custom session templates 267 .
setting

© 2009 TS Support, LLC


QuoteManager | Settings Symbols 267

5.3.2 Setting Custom Session Templates

Setting Custom Session Templates

This tool allows creating templates for rapid access to the session configurations. This is especially useful for non-standard
sessions used with several symbols.
Create a template once and activate it for the desired symbol with just a few clicks.
Adding Session Templates 267

1. On the Tools menu, click Session Templates, or click the Session Templates icon on the toolbar.
2. Click Add.
3. Enter the Description (up to 50 characters long).
4. Select Session Time. This option indicates the time used for setting sessions.
5. Use the Add/Delete buttons to add or delete sessions.

Editing a Session Templates 267

1. On the Tools menu, click Session Templates, or click the Session Templates icon on the toolbar.
2. Click Edit.

Deleting Session Templates 267

1. On the Tools menu, click Session Templates, or click the Session Templates icon on the toolbar.
2. Click Delete.

© 2009 TS Support, LLC


268 MultiCharts 5.5 User Guide

5.3.3 Symbol Dictionary for Futures

Symbol Dictionary for Futures

The Symbol Dictionary in QuoteManager contains a list of futures symbol roots with pre-defined contract specifications and
session times. The user can use these pre-defined settings to add new symbols quickly without needing to manually complete
each field.
For example, if the user wants to add the ES#F symbol from eSignal and the Symbol Dictionary has the
ES symbol root defined, then QuoteManager will recognize the ES root symbol and automatically fill in the contract
specifications.
The contract specifications are important because the specifications are used to plot the chart and calculate dollar amounts. If
the contract specifications are not correct, then the chart may not plot properly and the strategy may not function properly.
It is also possible to add new symbol roots into Symbol Dictionary and edit existing symbol roots. Symbol Dictionary contains
symbol roots for most futures contracts. However, it is not possible for the list to be 100% complete, and contract specifications
may change.
Adding a Symbol Root to Symbol Dictionary 268

1. Click Tools in the main menu and select Symbol Dictionary, or click the Symbol Dictionary icon on the
toolbar.
2. Click the Add button. The New – Edit Root Settings window will appear.
3. Complete the Settings and Sessions sections on the form.
4. Click the OK button.

Editing a Symbol Root in Symbol Dictionary 268

1. Click Tools in the main menu and select Symbol Dictionary, or click the Symbol Dictionary icon on the
toolbar.
2. Select the symbol root to edit. Click the Edit button. The Edit Root Settings window will appear.
3. Edit the fields.
4. Click the OK button.

Using the Symbol Root in Symbol Dictionary 268


1. Add a new symbol into QuoteManager. Make sure the new symbol’s root is the same as the symbol root in
Symbol Dictionary. See Adding Symbol(s) to Symbol List 260 for more information.
2. Open the Edit Symbol Window.

How? 268
· Double-click the symbol in the symbol list, or
· Select the symbol in the symbol list, then select Symbol in the main menu and select Edit Symbol, or
· Right-click on the symbol and select Edit Symbol.
Note: Edit Symbol window is already open in Step 1. It is possible to leave it open and continue
working with it.

3. Select the Settings tab in the Edit Symbol window.


4. In the Settings Source section, select the Use Symbol Dictionary Settings radio button to use the symbol
root’s contract specifications in Symbol Dictionary.
5. Select the Sessions tab in the Edit Symbol window.
6. In the Sessions Source section, select the Use Symbol Dictionary Sessions radio button to use the symbol
root’s sessions information in Symbol Dictionary.

© 2009 TS Support, LLC


QuoteManager | Setting Exchanges 269

5.4 Setting Exchanges


5.4.1 Setting Exchanges/ECNs

Setting Exchanges & ECNs

This tool allows adding/removing Exchanges/ECNs and editing their parameters. The Exchanges/ECNs parameters are
inherited by the symbols, so the better are the Exchanges/ECNs tuned in, the higher will be the overall quality of the system
performance.
Sometimes the Exchange/ECN settings aren't the same for all the symbols traded on a given Exchange/ECN. So the user is
able to edit settings on a symbol-by-symbol basis, although in the majority of cases the Exchange/ECN settings are exactly the
same as the individual symbol settings.
Adding an Exchange/ECN 269

1. On the Tools menu, click Exchanges & ECNs, or click the Exchanges & ECNs icon on the toolbar.
2. Click Add.
3. Enter the Exchange/ECN name. This name must be informative for convenience and consist of the full
exchange name, up to 50 characters long. This full name will not be used on the Symbol list and in the symbol
settings.
4. Enter the Abbr. This short name, up to 7 characters long will be used for exchange identification, use the
standard abbreviations as they will be used for symbol searches.
5. Select the Holiday List. See Holidays 270 section for more information; if you do not want to use the Holiday
List, select None.
6. Select a Price Scale corresponding to most symbols traded at the selected Exchange/ECN.
7. Enter the Daily Limit.
8. Enter the Min. Movement.
9. Enter Big Point Value.
10.Add the sessions in the Sessions section. Use the Add/Delete buttons to add or remove them; the sessions
must be set in the local time of the corresponding exchange.
11.On the Time Zone tab set the exchange's time zone. This can be done either using From System Options or
Custom options. Selecting From System Options will set the OS time zone settings, which is usually correct;
you might have to set the time zone and daylight savings settings by using Custom.

Removing Exchange/ECN 269

1. On the Tools menu, click Exchanges & ECNs, or click the Exchanges & ECNs icon on the toolbar.
2. Click Delete.

Editing the Exchange/ECN 269

1. On the Tools menu, click Exchanges & ECNs, or click the Exchanges & ECNs icon on the toolbar.
2. Click Edit.

© 2009 TS Support, LLC


270 MultiCharts 5.5 User Guide

5.4.2 Setting Holidays

Setting Holidays

This tool is used to indicate the days when the exchanges do not work to avoid gaps on the charts. The holidays are divided
into groups so one select holidays by nation or other parameter.
Sometimes it makes sense to group the holidays into national and international to avoid double-listing. In other cases sorting
holiday by countries may be more convenient.
Adding Groups 270

1. On the Tools menu, click Holidays, or click the Holidays icon on the toolbar.
2. Click the Add Group button.
3. Enter the group name in the Description field (up to 15 characters).
4. Enter the Data Source Abbr (up to 3 characters).

Adding Holidays 270

1. On the Tools menu, click Holidays, or click the Holidays icon on the toolbar.

2. Click the desired group in the Date or Duration area or press Enter to open it so the sign to the left of the
group changes to sign.
3. Click the link or the Add Holiday button.
4. Enter the holiday name in the Description field (up to 15 characters).

Removing Holidays 270

1. On the Tools menu, click Holidays, or click the Holidays icon on the toolbar.

2. Click the desired group in the Date or Duration area or press Enter to open it so the sign to the left of the
group changes to sign.
3. Select the desired holiday.
4. Click the Remove Holiday button.

Removing Groups 270

1. On the Tools menu, click Holidays, or click the Holidays icon on the toolbar.
2. Click Remove Group.
3. Select the desired group.
4. Click the Remove Group button.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 271

5.5 Setting Data Sources


5.5.1 Operating Data Sources

Operating Data Sources

This tool is used for managing data sources. It allows adding/removing data sources, editing their settings, names and
abbreviations, receiving data source information, their states and versions.
Adding Data Sources 271

Data sources are added automatically. The system auto-adds a data source as soon as the data feed's DLL is placed in the
DataFeeds folder. This data source appears in the data sources list but it is still inactive. To activate the data source press
Activate button (see Activating Data Sources 271 section). Please, contact [email protected] to receive further
information concerning the API for developers.
Activating Data Sources 271

Activation/deactivation is used to set the list of daily used data sources or for activating a newly added data source. For full
access the data source must be activated. If the data source is present in the list but marked in red, this data source must
be activated.
To activate a Data Source:

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click Activate. The data source is now marked in
green and the Settings, Name and Abbr parameters can now be edited.

Deactivating Data Sources 271

If a data source is not used, it can be deactivated. In this case, it will not be displayed in the list of available data sources
when a symbol is added; if necessary, the data source can be reactivated later.
To deactivate a data source:

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click Deactivate. The data source is now marked in
red and the Settings, Name and Abbr parameters cannot be edited.

Configuring Data Sources 271

Most data sources have unique parameters, e.g. server IP address, port, user name/login information, etc. See the Built-in
Data Sources 274 section for more detailed descriptions. All the parameters for the integrated data sources are described
there.
To edit a data source's settings:

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click the Settings button.

Cloning Data Sources 271

To use a data source with different sets of settings it must be cloned. Cloning creates a virtual copy of the data source with
modified parameters. For instance, to receive data from several DDE data vendors one needs to have several DDE
templates. In this case for every DDE data feed a unique data source must be created. If there are two DDE data feeds,
Universal DDE and Universal DDE 2 must be created and a DDE template selected for each.
To clone a data source:

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click the Clone button.
3. Enter a Data Source Name (up to 3 characters).
4. Enter a Data Source Abbr (up to 3 characters).

© 2009 TS Support, LLC


272 MultiCharts 5.5 User Guide

Editing Data Sources 271

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click the Edit button.

Deleting Data Sources 271

1. On the Tools menu, click Data Sources, or click the Data Sources icon on the toolbar.
2. Select the data source using the keyboard or mouse and click the Delete button.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 273

5.5.2 Collecting Data

Collecting Data

The program provides optimal performance with various data feeds. Its behavior depends on the data feed connected; there
exist three kinds of data feeds - data feeds that provide real-time only, data feeds that provide both history and real-time and
data feeds that provide history only.
See the Built-In Data Sources 274 table for more detailed information on data feeds.
The program's behavior depending on the data feed type is described below:
Data feed provides real-time only 273

Most brokers do not provide history data. In this case the program receives only real-time data and stores it in the local
database. The data is saved immediately, at the same time as it is charted and may be used in the future. The program
creates 1 minute and 1 day resolutions automatically and stores them in the database along with ticks. All other resolutions
are generated from stored data. I.e. if we need a 100 tick chart, the program automatically builds it from existing ticks. If a 2
minute chart is required, the program builds it from 1 minute data. In case of gaps in data 1 tick, 1 minute or 1 day must be
imported correspondingly. See the Importing Data 293 section for more detailed information.
Data feed provides both history and real-time 273

Most professional data vendors as well as a number of advanced brokers provide history data for the ultimate trader
convenience. The amount and quality of data provided varies from vendor to vendor, though; see the table 274 for a general
overview of history data feeds. The program demonstrates the best performance with such data vendors, freeing the user
from the need to download missing data manually. The history data is stored in the local database and needs minimal effort
for reuse, as only missing data has to be downloaded instead of the entire period. Besides, as data is stored locally, it is
accessible even when vendor servers are not; all real-time data from the vendor is stored in the database as well, so no
repeated queries must be sent when charts are created again. This cuts down on the Internet traffic and accelerates work. 1
tick, 1 minute and 1 day resolutions are stored in the database.
Data feed provides only history data 273

There exists a multitude of End-of-Day and intraday historical data vendors. Data from such vendors is used by in-depth
analysis by experienced traders or for filling gaps in data from other vendors. When this data is used on its own, without
requiring combination with data from other vendors, we insist on importing data into symbols of real-time only vendors, such
as Universal DDE. This guarantees that the data will not be mixed up with already existing data and will be charted exactly
the way it was downloaded. The program saves to the database 1 tick, 1 minute and 1 day resolutions and generates all
others from them. When data is imported, existing data in the database will be overwritten by the data from the file if the
timestamps are the same.

© 2009 TS Support, LLC


274 MultiCharts 5.5 User Guide

5.5.3 Built-in Data Sources


5.5.3.1 Built-in Data Sources

Built-In Data Sources

Data Source Price * Real- History Symbol Contacts


Time List
ASCII 293 Mostly free. No Tick-by-tick, 1 minute, daily up to No Contact data vendor
Price 7Gb file size
depends on
data
source.
Bloomberg 276 Contact Yes Tick-by-tick up to 50 days, intra-day Yes 212.318.2000
data vendor up to 50 days, dayly up to 20 years www.Bloomberg.com
CyberTrader 277 $49/month Yes Tick-by-tick up to 2 days, intra-day No 888.762.9237
and higher up to 30 days, daily up to 100 days www.CyberTrader.com
eSignal 278 $49/month Yes Tick-by-tick 10 days back, minute Yes 800.815.8256
and higher bars 60 days back, daily bars 10 www.eSignal.com
years back
Free Quotes 279 N/A No Intra-day up to 2 months, daily up to No Finance.yahoo.com
2.5 years Moneycentral.msn.com
Quote.com
GlobalServer Price Yes All the data that is available in Yes 954.652.7100
280 depends on GlobalServer www.TradeStation2000i.com
GlobalServ
er's data
source
Interactive Free for Yes Second, minute or daily bars 6 Yes 877.442.2757
Brokers 281 customers month back www.InteractiveBrokers.com
IQFeed 282 $50/month Yes Tick-by-tick 8 days back, minute bars Yes 402.255.8787
and higher 120 days back, 1000 daily bars, 500 www.IQFeed.net
weekly bars
MarketCast 283 $127/month Yes No Yes 300.132.999
and higher www.MarketCast.com.au
MetaStock 284 N/A No All the existing data from MetaStock Yes 800.508.9180
database www.Equis.com
Open E Cry 285 Free for Yes Tick-by-tick 2 days back, minute bars Yes 800.920.5808
customers 2 weeks back, daily bars 3 months www.OpenECry.com
back
Patsystems (J- Free for Yes No Yes 312.922.7600
Trader) 286 customers www.Patsystems.com
Quote.com 287 $95/month Yes Intra-day 9 years, daily 15 years Stocks & 866.842.5377
and higher Options www.Quote.com
TradeStation 8.6 $99.95/ Yes Tick-by-tick 30 days back, minute Yes 954.652.7940
288 month and bars 20 years back, daily bars 45 www.TradeStation.com
higher years back
Trading Free for Yes No Futures, 312.476.1000
Technologies customers Stocks www.TradingTechnologies.com
289
Universal DDE ** Mostly free. Yes No No Contact data vendor
290 Price
depends on
data
source.
Zen-Fire 292 Free for Yes No No 312.423.2231
customers www.zen-fire.com

* Plus applicable exchange fees and taxes. The prices presented in the table are subject to
change from time to time.
We don't guarantee the accuracy of the presented information.
** More than 20 predefined templates are available: Bloomberg, CAIT s.c., FAINEX, FXCM, GL
Trade, Hi Sat, Infobolsa.de (BOVESPA A VISTA), Infobolsa.de (BOVESPA OPEOES

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 275

COMPRA), Infobolsa.de (EUREX Futures), Infobolsa.de (FUTURES BM&F), Infobolsa.de


(XETRA), IQLINK, MetaTrader, QLink, QuoteSpeed, Reuters, Taipan Realtime, Tradexpert.

© 2009 TS Support, LLC


276 MultiCharts 5.5 User Guide

5.5.3.2 Bloomberg

Bloomberg

Premium datafeed.

Pro Con
Widest coverage High price

Features and limitations 276

Features
· Searching for symbols by name or root
· Tick-by-tick up to 50 days, intra-day up to 50 days, daily up to 20 years

Limitations
· High price

Setting up 276
1. Make sure Bloomberg Terminal installed
To create a symbol using Bloomberg as the Data Source see Adding from a list supplied by data vendor 260 section.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 277

5.5.3.3 CyberTrader

CyberTrader

Well-known broker. As of December 10, 2007, CyberTrader has merged into Charles Schwab & Co., Inc.

Pro Con
High speed Limited history
execution
- Stocks & Options
only

Features and limitations 277

Features
· Advanced brokerage

Limitations
· History (Trades) limited to: Tick-by-tick up to 2 days, intra-day up to 30 days, daily up to 100 days
· No symbol list

Setting up 277
1. Make sure the CyberTrader account is active.
2. Launch Quote Manager.
3. In the Tools menu, click Data Sources.
4. Select CyberTrader and click Settings....
5. Type in the Authorization Code, Login, and Password.
To create a symbol using CyberTrader as the Data Source see Adding in manual mode 260 section.

© 2009 TS Support, LLC


278 MultiCharts 5.5 User Guide

5.5.3.4 eSignal

eSignal

One of the leading professional data vendors. The company has been working in the financial information area for decades,
constantly improving its services. The program performance and stability is the best with this data vendor.
Click here to subscribe to eSignal at a special price.

Pro Con
Affordable price Not enough
history data
Widest coverage No history data
for options
High reliability No continuous
contracts for
international
markets

Features and limitations 278

Features
· Automatic gap filling
· Automatic reconnection in case connection is lost

Limitations
· Delayed subscription cannot be used even for history data

Setting up 278

1. Make sure the eSignal Data Manager is installed and functions properly.
2. Make sure you're using a valid login/password.
No additional settings are required as the program receives data directly from Data Manager.
To create a symbol using eSignal as the Data Source see Adding Symbol(s) to Symbol list 260 section for more detailed
information.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 279

5.5.3.5 Free Quotes

Free Quotes

The quotes are downloaded from the free of charge recourses what makes it the most cost-effective solution for those who
don't need real-time information. The program downloads minute and day data. All the rest resolutions are based on them.
Minute data is delayed by 20 minutes.
As the service is free of charge its reliability and the quality of quotes are lower than with the service provided by the
commercial data vendors.

Pro Con
Free quotes Low reliability
No installation Poor data quality
and configuration

Features and limitations 279

Features
· Ability to select the server from which the data is downloaded
· Ability to define the mirror servers and the order of queries to them
· Automatical retry if the server is unavailable
· Ability to set up the timeout value and the number of retries

Limitations
· Bid/Ask not supported
· Data is delayed by 20 minutes
· Ticks unavailable

Setting up 279

Make sure you have the access to the Internet. The program has the same port as the Internet browser, what means that if
you can surf the Internet, the program will work.
To create a symbol using MarketCast as the Data Source see Adding Symbol(s) to Symbol list 260 section for more
detailed information.

© 2009 TS Support, LLC


280 MultiCharts 5.5 User Guide

5.5.3.6 GlobalServer

GlobalServer

Omega Research TradeStation 2000i has been the leading program for years. No surprise that hundreds of data sources were
integrated into GlobalServer. We think that OwnData 2 will be most useful to all users of TradeStation 2000i wishing to use all
the advantages of TradeStation 8.1's new features.

Pro Con
A ready-to-work None
system already in
place

Features and limitations 280

Features
· Automatic launch of GlobalServer when searching for symbols or plotting charts
· Automatic downloading of a Symbol list from GlobalServer
· Field types supported - Trade Price, Trade Volume, Bid Price, Bid Size, Ask Price, Ask Size

Limitations
· None found

Setting up 280
1. Make sure that the GlobalServer Version: 5.00.0822 Date: 03/23/2000 is installed and functioning properly.

To create a symbol using GlobalServer as the Data Source see Adding from a list supplied by data vendor 260 section.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 281

5.5.3.7 Interactive Brokers

Interactive Brokers

One of the leading electronic brokers. Gained immense fame with its high quality, affordable prices and supporting trading on
may exchanges worldwide.

Pro Con
Free quotes Not enough
history data

Features and limitations 281

Features
· Searching for symbols by name or root
· Auto-adding the symbol and required attributes to the database
· Automatic confirmation when querying for data. No need to click ok in the "Accept incoming connection" dialog
· Automatic reconnection in case connection is lost

Limitations
All the listed limitations arise on the Interactive Brokers' side so they may not always be overcome:
· Interactive Brokers provides 24 hours of historical data only. See the Importing Data 293 section for info on gap filling
· Interactive Brokers does not provide the day's Open price
· Interactive Brokers does not provide timestamps for quotes. Because of this limitation the program has to assign the
system time to every quote. Such a workaround may bias the true timestamp of the quote by the time difference between
its sending and receiving; in most cases the delay is fractions of a second
· Interactive Brokers does not support receiving data for over 80 symbols per one account

Setting up 281
1. Make sure that the latest version of Trade Workstation is installed and functioning properly.
2. Make sure the Trader Workstation allows interacting with other programs via the API:
a) Run Trader Workstation
b) In the main menu, select Configure, then click API
c) Check Enable ActiveX and Socket Clients

3. Make sure the Socket Port in Trader Workstation is the same as in the data source settings:
a) In the Configure menu, click API
b) Select Socket Port; the default value is 7496
c) Run Quote Manager
d) In the Tools menu, click Data Sources
e) Select Interactive Brokers and click Settings
f) Compare the Port with Socket Port

4. Make sure the Server IP address is 127.0.0.1 if the Trader Workstation is running on the same computer.
To connect to Trader Workstation running on another machine indicate the proper IP.
5. Check Launch Trader Workstation at start, if the program is to be started automatically at boot up.
To create a symbol using Interactive Brokers as the Data Source see Adding from a list supplied by data vendor 260
section.

© 2009 TS Support, LLC


282 MultiCharts 5.5 User Guide

5.5.3.8 IQFeed

IQFeed

One of the leading professional data vendors. The company has been working in the financial information since 1984. IQFeed
provides tick-by-tick unfiltered data, thus you will not miss about 50% of the actual trades.

Pro Con
Affordable price Not enough
history data
Unfiltered data Insufficient
coverage

Features and limitations 282

Features
· Automatic gap filling
· Automatic reconnection in case connection is lost

Limitations
· Since IQFeed has no identification of transactions there is no such a possibility to receive data for several charts
simultaneously. All the paralleled queries are queued. Thus, if you make a query of the history for a long period of time
there immediately comes the query for receiving several bars only as the program cannot draw data for the second query
before the first is not processed
· There is no method for deleting a historical query since it is necessary to wait for a response for the previous query in
order to begin to process the next one
· When plotting a chart for the Bid/Ask field of Minute, Day and etc, actually ticks will be requested because it is
impossible to receive the history of minutes and days for Bid/Ask. It will deteriorate data reception performance

Setting up 282
1. Make sure IQFeed 2.3 or higher is installed and functions properly.
2. Make sure you're using a valid login/password.
No additional settings are required.
To create a symbol using IQFeed as the Data Source see Adding Symbol(s) to Symbol list 260 section for more detailed
information.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 283

5.5.3.9 MarketCast

MarketCast

MarketCast provides real time data for the Australian markets. Information comes to users via the television signal.

Pro Con
Affordable price No historical data
Reliability Hardware
required

Features and limitations 283

Features
· Offmarket data filter

Limitations
· The Bid/Ask history is not supported (only real time data)
· When plotting a minute chart, ticks will be requested because it is impossible to receive the history of minutes. It will
deteriorate data reception performance
· When importing new data in MarketCast Data Server and when creating a chart the whole history is requested once
more

Setting up 283
1. Make sure MarketCast DataServer 2.11 or higher is installed and functions properly.
2. Make sure you've specified the path to RealTime API DLL "McApi.dll" correctly (by default the path is installed
automatically and indicates a folder where the MarketCast Data Server is installed).
No additional settings are required.
To create a symbol using MarketCast as the Data Source see Adding from a list supplied by data vendor 260 section for
more detailed information.

© 2009 TS Support, LLC


284 MultiCharts 5.5 User Guide

5.5.3.10 MetaStock

MetaStock

MetaStock has been one of the leading programs for years. Many of data sources provide data in the MetaStock format.

Pro Con
A ready-to-work Real time
system already in unavailable
place
Widest coverage Need to have the
data already
accumulated
Ability to use 65000 bars per
existing data from symbol limitation
MetaStock
database (from
QCharts, Reuters,
eSignal etc.)

Features and limitations 284

Features
· Ability to convert time between Local, Exchange and GMT
· Ability to create minute bars from ticks

Limitations
· 65000 bars per symbol limitation

Setting up 284
1. Make sure that the MetaStock Professional is installed and functioning properly.
2. In QuoteManager on the Tools menu select Data Sources....
3. Select MetaStock and click Settings....
4. Click Browse… and indicate the path to the folder storing the data.

To create a symbol using MetaStock as the Data Source see Adding Symbol(s) to Symbol list 260 section for more detailed
information.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 285

5.5.3.11 Open E Cry

Open E Cry

Futures, Options, and Forex broker.

Pro Con
Reliability Lack of history
data
Direct datafeed -

Features and limitations 285

Features
1. Direct fast datafeed.
2. Good market data.

Limitations
· Does not provide long historical data.

Setting up 285
1. Verify the registration information such as Login and Password received from Open E Cry.
2. Set Server and Port according to information received from Open E Cry.
3. Set Historical Data preferences.
To create a symbol using Open E Cry as the Data Source see Adding Symbol from Data Vendor Supplied List 260 section.

© 2009 TS Support, LLC


286 MultiCharts 5.5 User Guide

5.5.3.12 Patsystems

Patsystems (J-Trader)

A well-known system used by many brokers.

Pro Con
Free quotes No history data

Features and limitations 286

Features
· Searching for symbols by keyword
· Automated adding of symbols and the corresponding attributes to the database
· Automatic reconnection in case connection is lost

Limitations
· Patsystems (J-Trader) does not provide history data. See the Importing Data 293 section for information on gap filling

Setting up 286
1. Launch Quote Manager.
2. In the Tools menu, click Data Sources.
3. Select Patsystems (J-Trader) and click Settings.
4. Contact your broker. Inform the broker that your program uses MultiCharts as the Application ID and
FBD653F002 as Licence ID. Get from the broker the values for Host IP Address, Host Port, Price IP Address
, Price Port and enter them in the corresponding fields.
5. Indicate the Login and Password.
If your broker is experiencing problems, ask him to contact [email protected].
To create a symbol using Patsystems (J-Trader) as the Data Source see Adding from a list supplied by data vendor 260
section.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 287

5.5.3.13 Quote.com

Quote.com

Data direct from up to 15 exchanges. More than 9 years of intraday data and 15 years of daily data for any symbol.

Pro Con
Reliable datafeed Rather expensive

Features and limitations 287

Features
· Reliable datafeed

Limitations
· Symbol list for stocks and options only

Setting up 287
1. Make sure that the Quote.com account (Application-based not Browser-based) is active.
2. Launch Quote Manager.
3. In the Tools menu, click Data Sources.
4. Select QFeed and click Settings....
5. Type in the Login and Password.
To create a symbol using Quote.com as the Data Source see Adding from a list supplied by data vendor 260 section.

© 2009 TS Support, LLC


288 MultiCharts 5.5 User Guide

5.5.3.14 TradeStation 8.6

TradeStation 8.6

This data source is of utmost importance if there's a need to import 3rd party quotes into TradeStation 8.6.
This enables data testing on immense volumes of different data from different data providers.

Pro Con
Additional data None
import supported

Features and limitations 288

Features
· Automatic launching of TradeStation 8.6 whenever a symbol or chart is queried
· Automatic downloading of symbol lists from TradeStation 8.6

Limitations
· None found

Setting up 288
1. Make sure the TradeStation 8.6 is installed and functioning properly.
2. To create a symbol using TradeStation as the Data Source see Adding from a list supplied by data vendor 260
section.
3. Do not forget to import data before using. See Importing Data 293 section for additional information.

To create a symbol using TradeStation 8.6 as the Data Source see Adding Symbol(s) to Symbol list 260 section for more
detailed information.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 289

5.5.3.15 Trading Technologies

Trading Technologies

Industry-leader broker.

Pro Con
Reliability No history data
World-class -
execution level

Features and limitations 289

Features
1. World-class execution level
2. Wide market coverage

Limitations
· Does not provide historical data.

Setting up 289
1. Set Server IP according to information received from Trading Technologies.
2. Set Password, Port, SenderCompID, and TargetCompID for order connection according to information
received from Trading Technologies.
3. Set Password, Port, SenderCompID, and TargetCompID for data connection according to information
received from Trading Technologies.
4. Set Reconnection preferences.
To create a symbol using Open E Cry as the Data Source see Adding Symbol from Data Vendor Supplied List 260 section.

© 2009 TS Support, LLC


290 MultiCharts 5.5 User Guide

5.5.3.16 Universal DDE

Universal DDE

DDE (Dynamic Data Exchange) is a widely used protocol for exchanging data between applications in the MS Windows
environment.
Please see the developer's website for more detailed information on DDE.

Pro Con
Widest choice of Lack of historical
data sources quotes
Data Average stability
preprocessing and performance
with Excel or
other programs
possible,
additional
features such as
bad tick filtering
and creating
synthetic symbols

Features and limitations 290

Features
· User-definable DDE Server/Topic/Item for Trade Price, Trade Volume, Bid Price, Bid Size, Ask Price, Ask Size
· Rapid creation, editing and application of DDE Templates
· Testing the functionality of a DDE server or a newly created template
· Support for various server types. Some DDE servers contradict the Microsoft specifications. For maximal user
convenience the program has a set of deeply customizable options (not described here). If you're not able to receive data
from a required DDE server, please write to [email protected] and our support service will aid you as soon as
possible
· Automatic reconnection in case the connection to the DDE server is lost

Limitations
· Presently the following field types are not supported: Time, Open, High, Low, Close, Total Volume, Change
· The program receives ticks only and assigns the current system time to them. Sometimes the tick's real time may differ
from the assigned one due to delay
· The Status Bar is not displayed on the chart as there aren't enough fields to chart it

Setting up 290

To create a DDE Template:


1. On the Tools menu, click Data Sources.
2. Select Universal DDE and click Settings.
3. Indicate a template name in Template (up to 20 symbols long).
4. Indicate the DDE Links in the corresponding sections (the sections include Trade, Bid and Ask. The Price and
Volume/Size must be indicated in each section; if Volume/Size cannot be used (e.g for Forex), indicate Price
instead. Since for every price the program queries for a volume, this field will never be empty as the program
will be waiting for volume data to form a new tick.
5. Before creating DDE links in Universal DDE make sure they are functional in Excel. After that, copy the link to
the corresponding field in Universal DDE and replace the static symbol name with the asterisk symbol *. For
instance, replace =WINROS|LAST!MSFT with =WINROS|LAST!*. After that the program will automatically use
the symbol name for which the given template is used. Do the same for all fields.

© 2009 TS Support, LLC


QuoteManager | Setting Data Sources 291

6. To make sure that the created template is functional, click Test. Enter the symbol name in Symbol and click
OK. If the DDE Server is running, the template is properly created and the queried symbol is accessible, you'll
see the current value for each field and the number of updates. If quotes do not arrive, check the template and
symbol name. If fixing them does not resolve the problem, please send an e-mail to [email protected]
and indicate the DDE Server, symbol and template names, confirm that an identical template functions in Excel
and share any other information you deem important.
To create a symbol using Universal DDE as the Data Source see Adding Symbol(s) to Symbol list 260 section for more
detailed information.
To use several DDE servers at once You should clone the Universal DDE and assign new settings. See Cloning Data
Sources 271 section for more detailed information.

© 2009 TS Support, LLC


292 MultiCharts 5.5 User Guide

5.5.3.17 Zen-Fire

Zen-Fire

Futures broker.

Pro Con
Reliability Lack of symbol
lookup
Unfiltered tick -
data

Features and limitations 292

Features
1. Unfiltered tick data. Zen-Fire avoids dropping price data and sending only the latest updates – sometimes
referred to as "filtering". Hereby, Zen-Fire keeps the prices current and provides a true look at how the markets
are trading.
2. High quality data for Futures.

Limitations
· Zen-Fire does not provide historical data.

Setting up 292
1. Verify the registration information such as login and password received from Zen-Fire.
2. Select Sim or Live market data type.
3. No additional settings are required as the program receives data directly from Zen-Fire.
To create a symbol using Zen-Fire as the Data Source see Adding Symbol(s) to Symbol List 260 section.

© 2009 TS Support, LLC


QuoteManager | Managing Data 293

5.6 Managing Data


5.6.1 Importing Data

Importing Data

The program supports importing from most known text (ASCII) files. The principal requirement for the file is a clear structure,
data integrity and absence of logical errors.
See Invalid ASCII files 293 section for information on the most common file faults.
The program is based on analyzing several hundreds of quote files, most in unique formats, which served as principles for file
structure analysis. Despite successful automatic recognition of over 95% of files, there are still situations requiring the user to
interfere, mostly because of improper file structure or if the program cannot make up a conclusion on its structure.
Note: For more information on known import limitations see ASCII Import Limitations 293 section. Be careful when
importing files.
How to import ASCII data 293

To import data:
1. Select a symbol (see Selecting Symbol(s) in Symbol list 260 section). If the selected symbol contains quotes
with the same timestamp as in the file, they'll be overwritten without warning. Make sure the symbol's price
scale matches the price scale of the input data file. The program always uses the symbol's price scale when
importing.
2. Make sure the file you wish to import is a 1 Tick, Minutes or 1 Day. If a file contains bars, but has no static time
increment, this is a Tick\Volume Bar file and must be processed using ASCII Mapping 299 .

3. On the File menu, click Import Data, or click the Import Data icon on the toolbar.
4. Select ASCII or press Ctrl+I.
5. Indicate the Path. The path can be typed in, pasted from the clipboard or selected using the mouse. The
selected path persists after converting the file so on next operation the previous path will be used by default. If it
is necessary to move up a level, click the Up icon. To change the method of displaying files click the rightmost
icon Views and select an option from the drop down menu.
6. Select the desired file from the indicated folder.
7. If the Contents of the selected file field the information is garbled, choose the proper encoding in the File
origin.
8. Make sure the Resolution is valid. If the value is not correct, the possible causes may be the reason:

The Date field is not defined or not properly defined 293

To set date:
8.1.Click the Date column heading.
8.2.Select Date and the corresponding template.
8.3.Click Custom if there is no such template.
8.4.Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.
g. 9/9/2004 changed to 10/9/2004. The number of symbols changes from 6 to 7.
8.5.Apply the created template by selecting it from the list.

The Time filed is not defined or not properly defined 293

To set time:
8.6.Click the Time column heading.
8.7.Select Time and the corresponding template.
8.8.If the template does not exist, click Custom.
8.9.Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.
g. 8:30 changes to 10:10. The number of symbols changes from 4 to 5.

© 2009 TS Support, LLC


294 MultiCharts 5.5 User Guide

8.10.To set a time template, e.g. 5:22 PM, the template must look like H:MM tt@PM, where tt means the postfix
placeholder and after @ the PM value stands.
8.11.Apply the created template by selecting it from the list.

Wrong detection of the starting line of quotes 293

To set Start at Row You should indicate how many lines to skip.
After those parameters have been properly set, the program analyses the file again and sets the proper
Resolution.

9. Select Field Ask, Bid or Trade to define what king of data the file contains.
10.In the Time Zone please select the time zone of the quotes' origin.
11.If the price or volume needs to be multiplied or divided, select a proper factor in Price Multiplier or Volume
Multiplier.
12.To select the time period for importing data set the Start Date/Start Date Time and End Date/End Date Time.
Invalid ASCII files 293

In most cases the invalid files are lacking the required fields, lacking data in some column, mixed up time and dates,
irregular bar intervals. The program filters most faults and informs the user of them, but it is not possible in each and every
case. Please see the analysis of typical invalid files below.

Invalid structure 293

Example 1. Two of the four necessary bar components are missing:


05-12-69 46.4 33.9
12-12-69 51.7 34.5
19-12-69 55.2 31
Example 2. Date is missing:
1.2061, 1.2065, 1.2061, 1.2065
1.2065, 1.2069, 1.2065, 1.2069
1.2069, 1.2070, 1.2066, 1.2066

Incomplete data 293

Example 1. File has a damaged string:


2/28/2002 10:45 31505 31530 31480 31480 125 86
2/28/2002 10:50 31480 31505 31480 31500 44 42
2/28/20
Example 2. File has variable number of columns:
СС12-D,10/01/1995,3.51,3.53,3.5,3.5,0,2643200,,,
СС12-D,11/01/1995,3.44,3.53,3.43,3.44,0,501600,0,,
СС12-D,12/01/1995,3.45,3.5,3.41,3.45,0,1545600,0.017544,,
СС12-D,13/01/1995,3.34,3.47,3.34,3.44,0,2353600,-0.038184,,
СС12-D 16/01/1995,3.39,3.41,3.34,3.35,0,1897600,-0.023325,,
СС12-D,17/01/1995,3.47,3.5,3.38,3.41,0,7425600,-0.011461,,
СС12-D,18/01/1995,3.45,3.5,3.41,3.5,0,766400,0.002903,-3.518377,

Logical errors 293

Example 1. The file has a 60 minute interval, but with 1759 instead of 1800:
<TICKER>,<PER>,<DTYYYYMMDD>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>
EURUSD,I,19980420,160000,1.1005,1.1010,1.1005,1.1010
EURUSD,I,19980420,170000,1.1003,1.1003,1.1003,1.1003
EURUSD,I,19980420,175900,1.1012,1.1012,1.1012,1.1012
EURUSD,I,19980420,200000,1.1012,1.1016,1.1009,1.1015
EURUSD,I,19980420,210000,1.1017,1.1020,1.1000,1.1006
Example 2. Time is not ordered chronologically:
GBPUSD,19890627,0,2200,15457,B,N,N
GBPUSD,19890627,0,2200,15462,A,N,N
GBPUSD,19890627,1,0100,15485,B,N,N
GBPUSD,19890627,1,0100,15493,A,N,N

© 2009 TS Support, LLC


QuoteManager | Managing Data 295

ASCII Import Limitations 293


Important: Local data storage saves the following resolution types: 1 Tick, 1 Minute, 1 Day. All other resolutions are
sampled from those.
Other data types may not be added to the database - use ASCII Mapping 299 to process such files.

© 2009 TS Support, LLC


296 MultiCharts 5.5 User Guide

5.6.2 Exporting Data

Exporting Data

The quotes saved in the storage can be exported to a text file (ASCII) and imported into most of existing programs. The
program allows the user to specify the necessary data columns and their order as well as the start/end date/time.
How to export data 296

To export data:
1. Select a symbol (see Selecting Symbol(s) in Symbol list 260 section). The program always uses the symbol's
Price Scale when exporting.

2. On the File menu, click Export Data, or click the Export Data icon on the toolbar.
3. Select ASCII or press Ctrl+E.
4. Select the Resolution and Field.
5. In the Time Expressed in indicate the time zone for the quotes date/time.
6. To select the time period for exporting data set the Start Date/Start Time and End Date/End Time.
7. To change column order, click the header and keep down the left mouse button as you drag the column to its
desired place.

© 2009 TS Support, LLC


QuoteManager | Managing Data 297

5.6.3 Editing Data

Editing Data

This tool is necessary to review and edit data. It helps quickly find and correct the bad ticks as well as add or delete new data.
Operating with Data 297

It is possible to modify data settings, add, insert, delete and find the necessary data. All these arrangements are performed
in the Edit Data window.
Accessing Edit Data Window 297

There are 3 ways to access the Edit Data window:


1. In the Edit menu click Edit Data…
2. Right-click on the selected symbol and select Edit Data…
3. Use the Ctrl+R combination of hotkeys.

Modifying Data Settings 297

To load the data from the data storage one should define the data settings in the Edit Data window. It is possible to select
the desired resolution type, field and time zone. One can also specify the start date/time and the end date/time for the
loaded data.
When the data is loaded it is possible to change the data values.
To modify data settings:
1. In the Data Settings section, select the necessary resolution type from the Resolution drop-down list.
2. In the Data Settings section, select the necessary field from the Field drop-down list.
Note: In the field section only those fields are displayed for which the data is collected.

3. In the Data Settings section, select the necessary time zone from the Time Zone drop-down list. 3 time zones
are available: Local, GMT and Exchange.
4. In the Data Range section, enter the necessary date in the Start field or use the drop-down calendar. Then
enter the necessary time.
Note: The time field is available with the tick and minute resolutions only.

5. In the Data Range section, enter the necessary date in the End field or use the drop-down calendar. Then
enter the necessary time.
Note: The time field is available with the tick and minute resolutions only.

6. Press the Load button and the loaded data will be displayed in the Data section.
Note: For the quotes with the tick resolution there will be displayed the Date, Time, Price and Volume
values.
Note: For the quotes with the minute resolution there will be displayed the Date, Time, Open, High, Low,
Close, Up Volume, Down Volume, Unchanged Volume, Total Volume, Up Ticks, Down Ticks,
Unchanged Ticks and Total Ticks values.
Note: For the quotes with the day resolution there will be displayed the Date, Time, Open, High, Low,
Close, Up Volume, Down Volume, Unchanged Volume, Total Volume, Up Ticks, Down Ticks,
Unchanged Ticks, Total Ticks and Open Interest values.
Adding New Data 297

To add a new quote:


In the Edit Data window press the Add button to add a new quote. Each new quote will be added to the end of the quote
list.
Note: The difference between the Add and Insert buttons is that by pressing the Add button a quote is added to the
end of the quote list and by pressing the Insert button - at the beginning of the quote list.
Inserting New Data 297

To insert a new quote:


At the beginning of the quote list press the Insert button in the Edit Data window.
If the distance between the quotes is more than minimal increment for the given resolution type, it is possible to insert a
new quote between these quotes.

© 2009 TS Support, LLC


298 MultiCharts 5.5 User Guide

Note: Only in this case, the Insert button becomes active.


Deleting Data 297

To delete a quote or several quotes:


In the Data section select the necessary quote or quotes and press the Delete button.

Finding Data 297

To find the necessary quote or quotes:


1. Press the Find… button and the Find and Goto window will appear.
2. Select the Find tab.
3. On the Find tab select from the 1st drop-down list according to what value the necessary quote or quotes
should be found.
4. On the Find tab select from the 2nd drop-down list the necessary condition of the search.
5. Enter in the field (s) the necessary number (or percent) corresponding to the selected condition.
6. To find quote by quote, press the Find button. The Find button will change in the Find Next button, if you want
to find more than one quote with the selected conditions.
7. To mark all the quotes corresponding to the selected conditions, press the Mark All button.
8. Press the Close button to close the Find and Goto window.

Going to Data 297

To go to the necessary quote:


1. Press the Find… button and the Find and Goto window will appear.
2. Select the GoTo tab.
3. On the GoTo tab select from the 1st drop-down list according to what value the necessary quote should be
found.
4. On the GoTo tab in the 2nd field enter the necessary date or use the drop-down calendar.
5. On the GoTo tab enter the necessary time.
Note: The time field is available with the tick and minute resolutions only.

6. Press the GoTo button to go to the necessary quote.


7. Press the Close button to close the Find and Goto window.

Selecting All Quotes 297

Press the Select All button to mark all the quotes.


It is useful when all the quotes should be deleted.

© 2009 TS Support, LLC


QuoteManager | Managing Data 299

5.6.4 Mapping ASCII

Mapping ASCII

Sometimes importing data to the database is extremely complicated or outright impossible.


In such a case ASCII mapping is the solution; there are two principal reasons for using ASCII mapping:
1. If one or several ASCII files constantly used are periodically updated. Even if there are just a few updates per day,
re-importing hundreds of symbols is difficult or just not feasible;
2. If tick/volume bars must be displayed on a chart.

When mapping, the file path and format is indicated once, and every time a chart is created the program finds the file
automatically, converts it into the necessary format based on the preset configuration and displays the data.
How to map ASCII files 299
1. On the File menu, click Map ASCII.
2. Click Browse to indicate the path containing the files to be mapped.
3. In the Get Symbol From indicate File Name for the program to extract the symbol name from the filename. If
along with quotes the file contains the symbol name as one of the columns, indicate File's Field.
4. Use Get name from to characters, if a part of the word must be used.
5. If the symbol name needs to be edited manually, click the corresponding cell.
6. Make sure the program has correctly defined the Resolution for every file you intend to map. If you see an
error, click the hyperlinked file name. In the window that appears check:

The Date field is not defined or not properly defined 299

To set date:
6.1.Click the Date column heading.
6.2.Select Date and the corresponding template.
6.3.Click Custom if there is no such template.
6.4.Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.
g. 9/9/2004 changed to 10/9/2004. The number of symbols changes from 6 to 7.
6.5.Apply the created template by selecting it from the list.

The Time filed is not defined or not properly defined 299

To set time:
6.6.Click the Time column heading.
6.7.Select Time and the corresponding template.
6.8.If the template does not exist, click Custom.
6.9.Create a template. If the number of symbols in the date changes, use an asterisk * to replace the symbol, e.
g. 8:30 changes to 10:10. The number of symbols changes from 4 to 5.
6.10.To set a time template, e.g. 5:22 PM, the template must look like H:MM tt@PM, where tt means the postfix
placeholder and after @ the PM value stands.
6.11.Apply the created template by selecting it from the list.

Wrong detection of the starting line of quotes 299

To set Start at Row You should indicate how many lines to skip.

Wrong sequence of columns 299

To change the sequence:


6.12.Click the column heading.
6.13.From the drop-down field select the correct filed.

© 2009 TS Support, LLC


300 MultiCharts 5.5 User Guide

6.14.Repeat for all improperly defined columns.


After those parameters have been properly set, the program analyses the file again and sets the proper
Resolution.
The program will automatically apply the edited template for all files with the same structure, so the user
does not have to edit every file manually.
7. Indicate the Category, Exchange, Field, TimeZone, Price and Volume Multiplier for all symbols. If the same
value is to be used in several cells, the program supports copying and multi-pasting.
8. Make sure the check box is checked for files to be mapped. If all fields are filled, the program checks the check
box on the left, indicating that the file is ready for mapping. Click ok to complete the procedure.

© 2009 TS Support, LLC


QuoteManager | Managing Data 301

5.6.5 Online Mode Data Collection

Online Mode Data Collection

Online mode allows to collect data without any chart creating. The unlimited number of symbols can be connected to a data
feed and the received quotes are stored in the database.
The symbol's connection status as well as the number of the quotes received is displayed in the Realtime Status column.
Connecting symbols 301
1. Select a symbol or several symbols.
Note: Use Ctrl and (or) Shift buttons to select several symbols.

2. Right-click and select Fields to collect…


-or -
in the menu select Edit and click Fields to collect….
-or -
use Ctrl + Alt + S hotkey combination

3. In the Settings window select the fields and the resolution type to collect.
Note: Click the Check all button to select all the fields and resolution types.

4. Check the Apply to all symbols check box to apply these settings to all symbols.
Note: If several symbols are selected this check box will not be available.

5. Click OK.
6. Right-click anywhere on selected symbol(s) and select Connect Symbol(s)
-or -
in the menu select Edit and click Connect Symbol(s) .
Disconnecting symbols 301
1. Select the symbol(s) to be disconnected.
2. Right-click anywhere on selected symbol(s) and select Disconnect Symbol(s)
-or-
in the menu select Edit and click Disconnect Symbol(s).

© 2009 TS Support, LLC


302 MultiCharts 5.5 User Guide

5.6.6 Data Cache

Data Cache

The subsequent loading of previously created charts with multi-tick count-based resolutions is drastically accelerated by use of
"Cache" technology. Whenever the basic tick data is converted to a complex count-based resolution (for example, to 64-tick
bars), the converted data is stored in the cache for future use.
As much of the stored data segment as possible is used when another chart with the same resolution is plotted. When a
previously created chart is reloaded, the stored data is also used.
The cache can be cleared, forcing a fresh set of data to be loaded and used.

To clear the Cache:

1. Open the QuoteManager by clicking the New QuoteManager Window icon on the Main toolbar.
2. Right-click on the symbol, for which the cache must be cleared, and then click Clear Cache.
3. In the dialog box that appears, click OK to clear the cache for that symbol, or click Cancel to cancel the operation.

© 2009 TS Support, LLC


QuoteManager | Managing Data 303

5.6.7 Import Symbol List

Import Symbol List

Import Symbol List enables the user to import a text file that contains a list of symbols and their parameters. The feature allows
the user to import a list of symbols into QuoteManager quickly instead of manually adding the symbols one by one.
Preparing the Text File 303

The text file should contain four fields per row: Symbol Name, Description, Exchange, and Category. Of the four fields, only
the Symbol field is required. QuoteManager will prompt the user for the missing information during the import process. The
missing fields can also be entered manually into QuoteManager one by one after the symbol is imported.
Each field should be separated by a delimiter. The delimiter can be a comma, semi-colon, space, tab, or other character.
An example of the contents of a text file is shown below:
Symbol Name, Description, Exchange, Category
XYZ, XYZ Corporation, NYSE, Stocks
ABC, ABC Company, NASDAQ, Stocks
ESU9, S&P E-mini, GLOBEX, Futures

The order of the columns do not matter. However, each column must contain the same type of data. In the example above,
the second field of every row must be the “Description” field. The third field of every row must be the “Exchange” field.
Importing a Symbol List 303

To import a list of symbols:


1. Select File in the main menu and then select Import Symbol List. The Import Symbols Wizard window will
appear.
2. Use the Browse button to select the text file. Select Next.
3. In the Start Import at Row number box, enter the row number to start the import. Select Next.
For example, if the first row of the text file contains header names instead of symbol data, then start the import
at row 2.
4. In Set Data Delimiters, select the type of delimiter used in the text file.
5. Select the Treat Consecutive Delimiters as One checkbox to consider consecutive delimiters the same as
one delimiter. If this box is checked, consecutive delimiters will not be considered as an empty field.
6. Choose the text qualifier from the Text Qualifier drop down list. Select Next.
For example, if a text field can have double quotes around it (e.g., “MSFT”). If the double quote text qualifier is
selected, then MultiCharts will recognize that the user wishes to import MSFT without the quotes.

7. Use the drop down lists to assign the column names to the columns in the text file. Select Next.
8. In the Select Data Source drop down list, select the data source for the symbols.
9. If the Exchange and Category columns were not previously assigned to a column in the text file, then use the
Exchange and Category drop-down lists to specify the information.
10.Select Finish. The symbols will be imported into QuoteManager.

© 2009 TS Support, LLC


304 MultiCharts 5.5 User Guide

6 PowerLanguage
6.1 Introduction
Introduction

PowerLanguage is an advanced programming environment for creating technical analysis indicators and trading strategies for
the MultiCharts trading platform.
PowerLanguage offers the sophisticated features sought after by the experts while still maintaining an easy learning curve for
the beginners.
By supporting TradeStation® EasyLanguage® functionality, PowerLanguage maintains the compatibility with a wide existing
base of EL studies.
As an alternative to writing indicators or strategies from scratch, existing studies can easily be modified, or new studies
assembled piece-by-piece from built-in scripts.
PowerLanguage studies can easily be created and modified by using the PowerLanguage Editor 312 is included with the
MultiCharts platform. The Editor displays usage hints as the PowerLanguage words are entered, and a detailed keyword
reference is available directly in the PowerLanguage Editor window.
PowerLanguage capabilities can further be expanded by taking advantage of external DLL support, which offers virtually
unlimited capabilities and permits the use of high-level programming languages, such as C++ or Visual Basic.
This reference explains PowerLanguage words, details the syntax, and gives one or more usage examples for each word.

© 2009 TS Support, LLC


PowerLanguage | Language Elements 305

6.2 Language Elements

Language Elements

PowerLanguage is a system of expressing financial instrument trading rules in a systematic and logical way that can be
executed by a computer.
A well-thought-out trading strategy, properly expressed in PowerLanguage, will be carried out with a far greater speed,
accuracy, and persistence then could ever be possible for a human trader.
Implementing trading strategies in PowerLanguage requires familiarity with the basic rules and structure of the language,
outlined below, as well as with the keywords described in the keyword section of this reference guide.

PowerLanguage Studies and Statements


A complete PowerLanguage “program” is called a Script. An example of a script would be a Strategy, a study that issues
trading orders, an Indicator, a study that draws plots on a chart to assist in making trading decisions, or a Function, an
independent procedure (subroutine) that can be called from another script to carry out a specific task.
PowerLanguage scripts consist of at least one, but usually more, statements. A statement is a complete instruction, and ends
with a semi-column (;).
An example of a statement (and of a one-line script):
Buy Next Bar At Open;
Statements are evaluated from left to right, and scripts are evaluated from top to bottom.

Price Charts
A data series consists of groups of price data points, based on a defined interval and arranged in a chronological order.
The most popular format for visually presenting a data series is a Bar Chart. Each bar, based on a group of price data points, is
a vertical line connecting the High and the Low price points, and graphically represents the range of an instrument's price
movement over a defined interval. The prices of the first (Open) and of the last (Close) price points of the group, on which the
bar is based, are indicated on the line by marks known as the bar's Open and Close components.
PowerLanguage handles price data "packaged" in the form of bars. While bars can be based on a variety of resolutions, the
point of reference is always a "bar".
For example, the following statement places a Buy order at the Open price of the next bar if the previous bar’s High was less
then the current bar's Close:
If High 1 Bar Ago < Close Then Buy Next Bar At Open;
Both time and price in the above statement are referenced in terms of bars.

Price Chart Evaluation by PowerLanguage Studies


A PowerLanguage script evaluates a chart on bar-by-bar basis, starting with the very first (oldest) bar on the chart. The exact
same script is executed for every bar. After the entire script is executed for the first bar, the second bar is evaluated, and so on
to the last bar on the chart. The bar being currently evaluated by the study is defined as the current bar, and the previous bar is
the 1 Bar Ago. The current bar becomes the 1 Bar Ago once the study moves on to the next bar.

© 2009 TS Support, LLC


306 MultiCharts 5.5 User Guide

This is a basic overview is intended to give the initial understanding of how PowerLanguage studies function. A more detailed
description of how a chart is evaluated is presented in the How Scripts Work 308 section.

PowerLanguage
Power language allows a combination of keywords, constants, variables, mathematical and logical operators, and punctuation
to be used to express trading rules and bring about both conditional as well as unconditional actions and output.
There are tools to accomplish a variety of tasks, from the very basic, such as:
Print("My name is Joe");
all the way to array functions available in the advanced programming languages.
Each category of PowerLanguge components is discussed below:

Keywords
Most of the keywords are the instructions, “action words”, of PowerLanguage. Keywords instruct to buy or sell, plot or erase,
compare or convert. Some of the keywords are also “nouns”, and return specific values or characteristics. A list of keywords
with detailed descriptions and examples is available in the Keyword Reference

Skip Words
Skip words are the interjections of PowerLanguage. They actually do nothing, and are skipped during code execution, but they
make PowerLanguage easier to read. In PowerLanguage Editor, skip words appear in red. A list of these words is available in
the Skip Words section of this guide.

Operators
There are four types of operators: Mathematical, Relational, Logical, and String.
Mathematical operators are used to perform mathematical operations. There are five available mathematical operators:

© 2009 TS Support, LLC


PowerLanguage | Language Elements 307

+ Addition
- Subtraction
* Multiplication
/ Division
() Parentheses

Relational operators are used to make comparisons. There are six relational operators:
< Less then
> Greater than
<= Less then or equal to
=> Greater than or equal to
= Equal to
<> Not equal to

Logical operators are used to perform logical (Boolean) operations. There are two available logical operators: AND and OR.
There is only one string operator, the plus sign ( + ), is used as follows to combine multiple string expressions in to one:
“String expression one ” + “and string expression two”
The resulting string expression will be:
“String expression one and string expression two”

Referencing previous bars


Previous bars’ values can be referenced by using the statement N Bars Ago, or by using the bar offset notation that consists
of a numerical expression enclosed in square brackets:
High 2 Bars Ago
or
High [2]

Time and Date


Time values in PowerLanguage are specified in the 24-hour HHmm or HHmmss formats, where 1300 = 1:00 PM and 130000 =
1:00:00 PM, respectively.
Dates in PowerLanguage are specified 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. This format is also known as the “EL Date” format.

Variables
Variables are used to store numerical, string, or logical (true/false) values. The value stored in a variable can be referenced
throughout a script by the variable’s name, and can be modified by the script at any time. Variables must be declared before
use. For more information see Variable

Arrays
Arrays are multiple-element variables. For more information see Array

© 2009 TS Support, LLC


308 MultiCharts 5.5 User Guide

6.3 How Scripts Work

How Scripts Work

PowerLanguage studies can be used with the charts created by the MultiCharts trading platform and with the Portfolio
Backtester.
PowerLanguage studies operate on price data, organized as a series of data points, based on a defined interval and arranged
in a chronological order. Each data point is a summary of a group of price points (ticks) that includes the price values of the
first and of the last tick, as well as the range of price movement over the defined interval. Data points also include additional
data, such as date and time of the last tick and trade volume.
The most popular format for visually presenting a data point is a bar. References to bars in this guide actually refer to data
points. Any other visual formats for presenting data points, such as candlesticks, points, lines, etc., can equally well be
substituted.
In this guide, references to charts are used as a visualization tool to aid in understanding how the PowerLanguage scripting
works.
PowerLanguage studies are divided in to two main types: Indicators and Signals.
An Indicator is a visual technical analysis tool, used to analyze market conditions and identify and forecast trends and market
patterns. An indicator is a visualization of a mathematical formula, and consists of one or more Plots – lines, histograms,
series of points or crosses, highs and lows, left and right ticks, or a combination of the above, displayed on a chart. Indicators
are computed using only price, volume, and (occasionally) open interest data.
A Signal is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of
trading rules implemented in the signal’s algorithm. The trade points are indicated on a chart by ticks and arrows. Strategies
can easily be constructed by combining a number of signals. Market entry or exit points, specified by the signals, can be used
to send orders electronically directly to a broker, fully automating the trading process.
Due to the differences in their intended purposes, Indicators and Signals evaluate price data series somewhat differently, and
will be discussed separately.
Indicators 308

The purpose of indicators is to plot visualizations of mathematical formulas on a chart. The plots are created based on one
or more price data series.
When applied to a chart, an indicator script first evaluates all the completed bars 308 one-by-one, starting with the very first
(oldest) bar on the chart. The entire script is executed once for each completed bar. On each bar, based on the results of
the evaluation, an indicator script can generate output - graph, text, plot color change, audio alert, etc. If indicator script
contains references to previous bars’ values, indicator can begin generating output starting with the first bar that follows the
Maximum number of bars a study will reference 308 .
Once all the completed bars on the chart have been evaluated, an indicator script will proceed to evaluate the last bar on
the chart on tick-by-tick basis, without waiting for the bar to be completed. An incomplete bar is a summary of all ticks
received since the previous bar was completed. Each time a new tick is received, the entire script will be executed for that
bar, until the bar is completed and the next bar is started. Indicator scripts treat incomplete bars the same way as the bars
that are completed, and can take action each time an incomplete bar is evaluated.
Please note that only the last, incomplete, bar is re-evaluated on every new tick, and not the whole series.
The process of evaluation of a bar by an indicator is called a recalculation or an update. Indicator update on every tick is
enabled by default. However, in some instances it may be undesirable for indicators to be recalculated every time a new
tick is received; updating a large number of complex indicators on every tick will require substantial system resources.
Update on Every Tick option can be turned off in the MultiCharts settings.

Completed Bars 308

A bar is considered completed when it is closed and no additional ticks can be added to it.
· For time-based charts, the bar is closed once the first tick with a time stamp past the bar’s interval is received, or
if no additional ticks are received for a period of three seconds.
· For tick-based charts, the bar is closed once the defined number of ticks has been reached.
· For range-based charts, the bar is closed once the tick with a price outside of the original bar’s range has been
received.
· For volume-based charts, the bar is closed once a tick, bringing the current bar’s total to the defined number of
contracts, has been received.

© 2009 TS Support, LLC


PowerLanguage | How Scripts Work 309

· For change-based charts, the bar is closed once a tick with a price, bringing the current bar’s total number of price
changes to the defined number, has been received.

The Maximum number of bars a study will reference 308

A study's script can refer to the values of previous bars for use in evaluation of the current bar. When a value of a
bar N bars ago is referenced in a script, the study can only be visualized starting with the N + 1 bar. The number of
previous bars that must be available for a script in order to start performing calculations is called Maximum number
of bars a study will reference, or MaxBarsBack. The MaxBarsBack value can be selected to be detected
automatically or set manually.
When detected automatically, MaxBarsBack will initially be set to the value of the largest data offset in the study;
however, if a variable data offset is used in the script, the initial MaxBarsBack value may prove to be too small. In
such a case, the MaxBarsBack value will automatically be increased by 5 or by a factor of 1.618, whichever yields a
higher value, and the study recalculated.
The process of automatic MaxBarsBack detection may cause some functions to be executed repeatedly for the first
few bars of a chart when a study is first applied; this can be avoided by setting the MaxBarsBack value manually.
To select the smallest MaxBarsBack value sufficient for a particular study, set the value manually. The
recommended initial MaxBarsBack value is 50.

Learn more about setting MaxBarsBack values for Indicators 173

Signals 308

Signals are the basic building blocks of strategies. Signals are substantially more complex than indicators and take in to
account a far greater number of factors. Signals compile strategy performance data and support backtesting and
Automated Trade Execution.
When applied to a chart, a signal script first evaluates all the completed bars 308 one-by-one, starting with the very first
(oldest) bar on the chart. The entire script is executed once for each completed bar. On each bar, based on the results of
the evaluation, a signal script may generate one or more trading orders. Orders are indicated by an arrow or a mark on the
chart, by a visual or an audio alert, etc. If signal script contains references to previous bars’ values, signal can begin
generating orders staring with the first bar that follows the Maximum number of bars a study will reference 308 .
By default, once all the completed bars on a chart are evaluated, the execution of a signal script is paused until a new bar is
completed (a bar is completed once an interval, defined for each bar, is over), and then the entire script is executed again
for the new bar.
This signal script execution method can be modified by selecting intra-bar order generation. With intra-bar order generation
enabled, the signal script will evaluate the last bar without waiting for the bar to be completed. Each time a new tick is
received, the last bar will be re-evaluated, until the bar is completed and the next bar is started. Incomplete bar is a
summary of all ticks received since the previous bar was completed. In intra-bar order generation mode, signal scripts treat
incomplete bars the same way as the bars that are completed, and can take actions based on evaluation of incomplete
bars.
Please note that only the last, incomplete bar is re-evaluated on every new tick, and not the whole series.

Completed Bars 308

A bar is considered completed when it is closed and no additional ticks can be added to it.
· For time-based charts, the bar is closed once the first tick with a time stamp past the bar’s interval is received, or
if no additional ticks are received for a period of three seconds.
· For tick-based charts, the bar is closed once the defined number of ticks has been reached.
· For range-based charts, the bar is closed once the tick with a price outside of the original bar’s range has been
received.
· For volume-based charts, the bar is closed once a tick, bringing the current bar’s total to the defined number of
contracts, has been received.
· For change-based charts, the bar is closed once a tick with a price, bringing the current bar’s total number of price
changes to the defined number, has been received.

The Maximum number of bars a study will reference 308

A study's script can refer to the values of previous bars for use in evaluation of the current bar. When a value of a
bar N bars ago is referenced in a script, the study can only be visualized starting with the N + 1 bar. The number of
previous bars that must be available for a script in order to start performing calculations is called Maximum number
of bars a study will reference, or MaxBarsBack. The MaxBarsBack value can be selected to be detected
automatically or set manually.

© 2009 TS Support, LLC


310 MultiCharts 5.5 User Guide

When detected automatically, MaxBarsBack will initially be set to the value of the largest data offset in the study;
however, if a variable data offset is used in the script, the initial MaxBarsBack value may prove to be too small. In
such a case, the MaxBarsBack value will automatically be increased by 5 or by a factor of 1.618, whichever yields a
higher value, and the study recalculated.
The process of automatic MaxBarsBack detection may cause some functions to be executed repeatedly for the first
few bars of a chart when a study is first applied; this can be avoided by setting the MaxBarsBack value manually.
To select the smallest MaxBarsBack value sufficient for a particular study, set the value manually. The
recommended initial MaxBarsBack value is 50.

Learn more about setting MaxBarsBack values for Signals 196

Order Execution Priority 308

A signal can place multiple orders based on evaluation of a single bar. The orders may be generated by the same or
different statement types.
The orders are executed in three groups, based on the type of statement that generated the order:
Order group execution sequence:
1. Orders generated by This Bar [On] Close statements.
2. Orders generated by Next Bar [At] Market and Next Bar [At] Open statements.
3. Orders generated by Next Bar [At] Price Limit and Next Bar [At] Price Stop statements.

The orders generated within each order group are sorted by priority based on the current position:
Order Execution Priority Table
Higher value indicates greater priority
Position Flat Long Short
Long Entry 1 1 2
Short Entry 1 2 1
Long Exit - 1 -
Short Exit - - 1

Multiple same-direction orders are assigned priority relative to each other based on the order in which the order
statements are listed in the signal script. When multiple signals are combined to create a strategy, same-direction
orders generated by different signals are assigned priority relative to each other based on the order that the signals
appear under the Signals tab in the Format Objects window.
Once the orders are sorted, the order that has the highest priority is executed. It is important to note that an entry
order in the direction, opposite to the current position, will not simply cover the position, but actually reverse it. For
example, a Long 1 order, executed for a Short 1 position, will result in a Long 1 and not in a Flat position.
Taking in to account the change in position, resulting from execution of the order, the remaining orders are sorted
again, and the order that has the highest priority is executed.
This procedure is repeated until all the orders are executed, or until none of the orders left can be executed – for
example, only Exit orders are left and the position is flat.
If the only Entry orders left are in the same direction as the current position, these orders will only be executed if
Pyramiding is enabled. Pyramiding settings allow the number of entries in the same direction to be limited to a set
number.
Any orders left that could not be executed are discarded.
Order Execution Priority example:
Multiple orders are generated, in the following order: Short exit, Short entry, Long entry, Long exit, and Long entry.
The current position is Short.
1. The orders are sorted by priority (in descending order): SX SE LE LX LE
Long entry, Long entry, Short exit, Short entry (Long exit
could not be executed).
2. Long entry is executed; the position is now Long. SX SE ü LX LE
3. The orders are sorted by priority (in descending order):
Short entry, Long entry, Long exit (Short exit could not be
executed).
4. Short entry is executed; the position is now Short. SX ü ü LX LE

© 2009 TS Support, LLC


PowerLanguage | How Scripts Work 311

5. The orders are sorted by priority (in descending order):


Long entry, Short exit (Long exit could not be executed).
6. Long entry is executed; the position is now Long. SX ü ü LX ü
7. The orders are sorted by priority (in descending order):
Long exit (Short exit could not be executed).
8. Long exit is executed; the position is now Flat. SX ü ü ü ü
9. The only order left, Short exit, can not be executed
and is discarded.
SX ü ü ü ü
The net result of executing the above orders, from a Short position, will be a Flat position.

© 2009 TS Support, LLC


312 MultiCharts 5.5 User Guide

6.4 PowerLanguage Editor


6.4.1 Editor Overview

Editor Overview

An integral part of the PowerLanguage programming environment, PowerLanguage Editor is a development tool for creating
and managing PowerLanguage studies.

Main functions of PowerLanguage Editor:

· Creating studies
· Importing and exporting studies
· Protecting Studies
· Editing the study code and settings
· Editing data
· Compiling studies

PowerLanguage Editor also features a built-in PowerLanguage keyword reference as well as keyword help hints.

To start PowerLanguage Editor:

· click the Run PowerLanguage Editor icon on the MultiCharts Main toolbar, or:
· click the PowerLanguage Editor icon on the Quick Launch bar, or:
· click the PowerLanguage Editor icon on the desktop.

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 313

6.4.2 Editor Work Area

Editor Work Area

PowerLanguage Editor work area consists of the study script display panel in the upper left part of the work area, the navigator
panel at the upper right part of the work area, and the output panel at the bottom of the work area. Navigator and output panels
can be hidden by using the View menu.

Study Script Display Panel


Multiple studies can be opened simultaneously in the study code display panel, with each study’s code displayed in a separate
window. Each window has its own tab at the top of the script display panel, with the study’s name indicated on the tab. The
same study cannot be displayed in more than one window. The number of windows that can be added to the display panel is
limited only by your computer's hardware configuration. Any one of the windows can be selected by clicking the window or the
window tab, or by selecting Window in the main menu and clicking a study name.
Study windows can be moved anywhere within the study script display panel, arranged in any order, resized, maximized,
minimized, and closed. Closing a study window does not delete the study.

Navigator Panel
The navigator panel can display either a list of PowerLanguage keywords, or a list of available studies. To toggle between the
keyword dictionary mode and the studies list mode, click the Studies tab or the Dictionary tab at the bottom of the navigator
panel.
Dictionary mode
A list of PowerLanguage keywords is displayed in the navigator panel. To display the information for a particular keyword,
click the keyword name in the list; the reference information will be displayed in the Help tab of the output panel.
Note: Note: Help information for a keyword can also be displayed in the Help tab of the output panel by placing the
cursor over the keyword in a study window and pressing the F1 key.
Studies mode
Available studies are organized within three subfolders: Indicators, Signals, and Functions. Additional folders can be
created by right-clicking on a root folder or on any of the subfolders, selecting Add, and then clicking New Folder. Studies
can be moved between any of the folders.

Navigator panel can be displayed or hidden by clicking View in the main menu and then selecting or clearing the Navigator
Bar checkbox.

The Output Panel


The output panel contains three tabs: Build, Output, and Help:
· The Build tab is used to view the information about study compilation
· The Output tab is used to view the study output
· The Help tab is used to view PowerLanguage keyword help information

Output panel can be displayed or hidden by clicking View in the main menu and then selecting or clearing the Output Bar
checkbox.
Arranging Study Windows 313

It is possible to arrange windows in any order. A study window can be positioned anywhere in the study code display panel
by placing the mouse pointer over the window’s title bar, holding the left mouse button, and dragging the window to the
desired position. Study windows can also be arranged automatically, much the same way as in the main MultiCharts
application, by selecting Window in the main menu and then clicking the desired option.
Switching between Windows 313

You can switch between study windows by using the CTRL+F6 keyboard shortcut.

© 2009 TS Support, LLC


314 MultiCharts 5.5 User Guide

6.4.3 Working with Studies

Working with Studies

Custom studies can be created from scratch or existing studies modified by using the PowerLanguage Editor.
Studies can be classified into three types: Indicators, Signals, and Functions.
An Indicator is a visual technical analysis tool, used to analyze market conditions and identify and forecast trends and market
patterns. An indicator is a visualization of a mathematical formula, and consists of one or more Plots – lines, histograms, series
of points or crosses, highs and lows, left and right ticks, or a combination of the above.
A Signal is a mechanical technical analysis tool, used to systematically specify market entry or exit points according to a set of
trading rules implemented in the signal's algorithm. The trade points are indicated on a chart by ticks and arrows. Signals can
be viewed as the basic building blocks of strategies.
A Function is an independent procedure (subroutine) that can be called from another script to carry out a specific task.
Creating Indicators 314

To create an indicator:

1. Open New dialog box by clicking the New icon on the toolbar, by selecting File in the main menu and
clicking New, or by using the Ctrl+N keyboard shortcut.
2. Select Indicator.
3. Enter the indicator name.
4. Click OK.

Creating Signals 314

To create a signal:

1. Open New dialog box by clicking the New icon on the toolbar, by selecting File in the main menu and
clicking New, or by using the Ctrl+N keyboard shortcut.
2. Select Signal.
3. Enter the signal name.
4. Click OK.

Creating Functions 314

To create a function:

1. Open New dialog box by clicking the New icon on the toolbar, by selecting File in the main menu and
clicking New, or by using the Ctrl+N keyboard shortcut.
2. Select Function.
3. Enter the function name.
4. Select the Return Type.
5. Select the Function Storage.
6. Click OK.

Available Studies List 314

A list of all available studies can be viewed in the Open window. Studies' Name, Type, Status, and the last modification
date (Modified) are displayed in the list. Studies can be opened for editing, deleted, and studies' properties modified, from
the Open window.
To open the Open window:

Click the Open icon on the toolbar.

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 315

The Open window can also be opened by selecting File in the main menu and clicking Open, or by using the Ctrl+O
keyboard shortcut.

Study List
The list of available studies, displayed in the Open window, can be set to include one or more of the following study types:
Indicators, Signals, and Functions. To select the study types to be listed, select or clear the appropriate checkboxes in the
Study Type section. In the list, each study's name, type, status, and last modification date and time are displayed in the
Name, Type, Status, and Modified columns. The list can be sorted by any column, in ascending or descending order, by
clicking on the column header:
· Name column displays the study's name.
· Type column displays the study's type: Indicator, Signal, or Function.
· Status column displays the study's status:
· Compiled - the study is ready to be used; to learn more, see Compiling Studies 320

· Protected - the study cannot be opened for editing, and the study’s code cannot be viewed; to learn more, see
Protecting Studies 320
· No status is displayed – the study has to be compiled before it can be used; to learn more, see Compiling Studies 320

· Modified column displays the date and time that the most recent study modification has been made.
To scroll through the list of studies, use the scrollbar on the right side of the list, or the UP ARROW and DOWN ARROW
keys on the keyboard.
Opening Studies 314

To open a study:
1. Open the Open window.

How? 314

To open the Open window:

Click the Open icon on the toolbar.


The Open window can also be opened by selecting File in the main menu and clicking Open, or by
using the Ctrl+O keyboard shortcut.
2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the types
of studies to be included in the list.
3. Select one or more studies to be opened; several studies can be selected at once by holding down Ctrl or/and
Shift keys while making the selection. All studies can be selected by using the Ctrl+A keyboard shortcut, or by
clicking any study’s name and then clicking Select All.
4. Click OK or double-click the selected study.

Saving Studies 314

To save a study in PowerLanguage Editor, click the Save icon on the toolbar. A study can also be saved by selecting
File in the main menu and clicking Save, or by using the Ctrl+S keyboard shortcut.
All studies, currently open in PowerLanguage editor, can be saved by selecting File in the main menu and clicking Save All
, or by using the Ctrl+Shift+S keyboard shortcut.
Note: If no modifications have been made to studies, the Save icon on the toolbar and Save commands will not be
available.
Renaming Studies 314

A study can be renamed by one of the following methods:

· Click the Properties icon on the toolbar; in the Properties tab of the Properties dialog box that appears, in the
Name box, enter the new study name and click OK.
· Right-click within the study’s window and then click Properties; in the Properties tab of the Properties dialog box that
appears, in the Name box, enter the new study name and click OK.

© 2009 TS Support, LLC


316 MultiCharts 5.5 User Guide

· Select File in the main menu and click Save As; in the dialog box that appears, enter the new study name and click OK.

A study can also be renamed from the Open window. To rename a study from the Open window:
1. Open the Open window.

How? 314

To open the Open window:

Click the Open icon on the toolbar.


The Open window can also be opened by selecting File in the main menu and clicking Open, or by
using the Ctrl+O keyboard shortcut.
2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the types
of studies to be included in the list.
3. Right-click the study to be renamed, and then click Edit.
4. In the Properties tab of the Properties dialog box that appears, in the Name box, enter the new study name
and click OK.

Closing Studies 314

A study can be closed by one of the following methods:


· Click the Close icon on the study's title bar.
· Right-click on the study's window tab, and then click Close.
· Select File in the main menu and click Close.
· Use the Alt+F4 keyboard shortcut.

Deleting Studies 314

To delete a study:
1. Open the Open window.

How? 314

To open the Open window:

Click the Open icon on the toolbar.


The Open window can also be opened by selecting File in the main menu and clicking Open, or by
using the Ctrl+O keyboard shortcut.
2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the types
of studies to be included in the list.
3. Select one or more studies to be deleted; several studies can be selected at once by holding down Ctrl or/and
Shift keys while making the selection. All studies can be selected by using the Ctrl+A keyboard shortcut, or by
clicking any study’s name and then clicking Select All.
4. Press the Delete key on the keyboard, or right-click the study to be deleted, and then click Delete.

Editing Study Properties 314

Study properties can be edited from the Properties window.


Properties window can be opened by one of the following methods:

· Click the Properties icon on the toolbar.


· Right-click within the study’s window and then click Properties.

Properties window can be opened from the Open window. To open the Properties window from the Open window:
1. Open the Open window.

How? 314

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 317

To open the Open window:

Click the Open icon on the toolbar.


The Open window can also be opened by selecting File in the main menu and clicking Open, or by
using the Ctrl+O keyboard shortcut.
2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the types
of studies to be included in the list.
3. Right-click the study, the properties of which are to be edited, and then click Edit. To learn more about studies
properties, see default properties 320

© 2009 TS Support, LLC


318 MultiCharts 5.5 User Guide

6.4.4 Importing and Exporting Studies

Importing and Exporting Studies

In addition to supporting PowerLanguage studies, MultiCharts platform supports nearly all of EasyLanguage® studies.
MultiCharts supports Password-protected as well as Source-compiled (SEF) Study Protection.
Studies are imported and exported using the PowerLanguage Editor.
Importing Studies 318

In addition to MultiCharts native PLA (PowerLanguage Archive) format, studies in ELA, ELS, ELD, XML, and SEF formats
can be imported. Several studies can be imported simultaneously.
Note: Read-only studies in SEF (Source-compiled) format are imported using an Import Read-Only 318 procedure.

Importing Studies in ELA, ELS, ELD, and XML Formats 318

To import studies into PowerLanguage Editor:


1. Open the Select Files window.

How? 318
To open the Select Files window:

Click the Import icon on the toolbar.


The Select Files window can also be opened by selecting File in the main menu and clicking
Import, or by using the Ctrl+I keyboard shortcut.

2. Select one or more studies files; several files can be selected at once by holding down Ctrl or/and Shift
keys while making the selection, and all files can be selected by using the Ctrl+A keyboard shortcut.
3. Click Open or double-click the selected file.
4. In the Import Studies window that appears, in the Study Type section, select or clear Indicator, Signal,
and/or Function checkboxes to specify the types of studies to be displayed in the list.
5. Select the studies to be imported by using the checkbox to the left of the study's name, or by double-
clicking the study's name; click Select All to select all studies, and Clear All to clear all selections.
6. At the bottom left of the Import Studies window, select the Compile on import checkbox to compile
studies on import; to learn more, see Compiling Studies 320 .
7. Click OK to import the selected studies.

Importing Studies in SEF (Read-Only) Format 318


Important: Only SEF studies created with the same version number (build) of MultiCharts can be imported!
To import a read-only study into PowerLanguage Editor:
1. Open the Select Files window by selecting File in the main menu and clicking Import Read-Only, or by
using the Ctrl+M keyboard shortcut.
2. Select a study file.
3. Click Open or double-click the selected file.
4. In the Import Studies window that appears, in the Study Type section, select or clear Indicator, Signal,
and/or Function checkboxes to specify the types of studies to be displayed in the list.
5. Select the studies to be imported by using the checkbox to the left of the study's name, or by double-
clicking the study's name; click Select All to select all studies, and Clear All to clear all selections.
6. Click OK to import the selected studies.

Exporting Studies 318

Studies can be exported in XML or SEF (Read-only) formats.

Exporting Studies in XML Format 318

To export a study in XML format:

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 319

1. Open the Export Studieswindow.

How? 318
To open the Export Studieswindow:

Click the Export icon on the toolbar.


The Export Studieswindow can also be opened by selecting Filein the main menu and clicking
Export, or by using the Ctrl+E keyboard shortcut.

2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the
types of studies to be displayed in the list.
3. Select the studies to be exported by using the checkbox to the left of the study’s name, or by double-
clicking the study’s name; click Select Allto select all studies, and Clear Allto clear all selections.
4. At the bottom left of the Export Studies window, select the Select dependant function(s) checkbox to
automatically select the relevant functions.
5. Click OKto open the Exportwindow.
6. Select a path and choose the filename and type for the file to export the study or studies to, and click
Save.

Exporting Studies in SEF (Read-only) Format 318


Important: Exported SEF studies can only be imported by the same version number (build) of MultiCharts!
To export a study in SEF (Read-only) format:
1. Open the Export Studies window by selecting File in the main menu and clicking Export Read-Only, or
by using the Ctrl+R keyboard shortcut.
2. In the Study Type section, select or clear Indicator, Signal, and/or Function checkboxes to specify the
types of studies to be displayed in the list.
3. Select the studies to be exported by using the checkbox to the left of the study’s name, or by double-
clicking the study’s name; click Select All to select all studies, and Clear All to clear all selections.
4. Click OK to open the Export window.
5. Select a path and choose the name for the file to export the study or studies to, and click Save.

© 2009 TS Support, LLC


320 MultiCharts 5.5 User Guide

6.4.5 Editing Study Scripts

Editing Study Scripts

Studies are PowerLanguage scripts, expressing trading rules in a systematic and logical way that can be executed by a
computer. Scripts consist of at least one, but usually more, statements. Each statement is a complete instruction. To learn
more, see PowerLanguage Elements 305
PowerLanguage scripts can be easily created and edited by using the PowerLanguage Editor. PowerLanguage Editor includes
many advanced text editing features, built-in PowerLanguage keyword reference, and a keyword hint feature.
Before a study can be applied to a chart, the study’s script must be compiled 320 . The code is compiled directly in the
PowerLanguage editor.
The script of a study can be password protected 320 ; script of a protected study can not be viewed without the password.
Text Editing Features 320

The following text editing features are available:

Undoing and Re-doing Changes 320

Changes to the script that were made since the editor was open or the study compiled can be undone; “undone”
changes can be redone again.

Changes can be undone by one of the following methods:

· Clicking the Undo icon on the toolbar; or:


· Using the Ctrl+Z keyboard shortcut, or:
· Selecting Edit in the main menu, and clicking Undo.

Changes can be redone by one of the following methods:

· Clicking the Redo icon on the toolbar; or:


· Using the Ctrl+Y keyboard shortcut, or:
· Selecting Edit in the main menu, and clicking Redo.
Note: Changes to the script made before the study was compiled cannot be undone.

Copying, Cutting and Pasting Code 320

Text can be copied, cut, and pasted within the PowerLanguage Editor and between the editor and other programs.

Text can be copied by one of the following methods:


· Using the Ctrl+C keyboard shortcut; or:
· Selecting Edit in the main menu, and clicking Copy.

Text can be cut by one of the following methods:


· Using the Ctrl+X keyboard shortcut; or:
· Selecting Edit in the main menu, and clicking Cut.

Text can be pasted by one of the following methods:


· Using the Ctrl+V keyboard shortcut; or:
· Selecting Edit in the main menu, and clicking Paste.

Finding Text 320

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 321

To find text:

1. Open the Find window by clicking the Find icon on the toolbar, by using the Ctrl+F keyboard shortcut, or
by selecting Edit on the main menu and clicking Find.
2. Enter the text to be found into the Find what box.
3. Select the Match whole word only check box to find whole words only.
4. Check the Match case check box to make the search case-sensitive.
5. In the Direction section, choose Up or Down to select the search direction.
6. Click Find Next to begin the search or to find the next instance of the text.

Replacing Text 320

To replace text:

1. Open the Replace window by clicking the Replace icon on the toolbar, by using the Ctrl+H keyboard
shortcut, or by selecting Edit on the main menu and clicking Replace.
2. Enter the text to be found and replaced into the Find what box.
3. Enter the replacement text into the Replace with box.
4. Select the Match whole word only check box to find whole words only.
5. Check the Match case check box to make the search case-sensitive.
6. In the Direction section, choose Up or Down to select the search direction.
7. Click Find Next to begin the search or to find the next instance of the text. Once an instance of the text to be
replaced is found, the instance is highlighted.
8. Click Replace to replace the highlighted instance of the text.
9. Click Replace All to replace all instances of the text in the current study window.

Compiling Scripts 320

Before a study can be applied to a chart, the study's script must be compiled. In process of compilation, the correctness of
code in the script is verified. If any errors are found, the compilation process stops, and the error is highlighted. The results
of the compilation, and errors if any, are displayed under the Build tab in the lower panel.

1. To compile the script in the active window: Click the Compile toolbar icon, press the F3 key, or
select Compile in the main menu and click Compile Study Name.
2. To compile scripts of all opened studies: Select Compile in the main menu and click All Opened, or use the
Ctrl+Shift+F2 keyboard shortcut.
3. To compile any uncompiled scripts of all open studies: Select Compile in the main menu and click All
Uncompiled.
4. To compile all scripts of all studies, stored on the computer: Select Compile in the main menu and click All
Studies.
5. To compile indicators and signals only: Select Compile in the main menu and click All Indicators and Signals
Only.
Protecting Studies 320

The script of a study can be password protected; script of a protected study can not be viewed without the password.
To protect a study:
1. Select Tools in the main menu, and click Protect Study.
2. In the Password Selection dialog box that appears, enter a password and click OK.
3. Reenter the password for confirmation, and click OK to password-protect the study’s script.

© 2009 TS Support, LLC


322 MultiCharts 5.5 User Guide

6.4.6 Default Study Properties

Default Study Properties

Default study properties include Input Values, Style, and Maximum Bars Back settings. When a study is applied to a chart,
the default settings are used unless the user elects to set the study properties. To learn more about setting study properties in
MultiCharts, see Indicator Settings 173 and Signal Settings 178
Setting Default Indicator Input Values 322

An Input is a constant used in Indicator calculations. Indicators can have one or more inputs, or none at all. Each input is
assigned a name. There are three types of inputs: Numeric, True/False, and String. Indicators can easily be modified by
changing the input Values.
One of the main advantages of using the inputs is that basic adjustments to the indicator logic can be made be simply
changing the input values, without the need to edit the indicator code.
Most, but not all, indicators use input values.
Note: Default input values cannot be set for Signals or Functions.
To set default indicator input values:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the General tab.


3. In the Inputs section, in the Value column, click on the input that you want to assign a default value to, and
enter the desired value.
4. Select the Use as Default check box and click OK.

Setting Default Indicator Style 322

To set properties:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the General tab.


3. In the Style section, in the Type column, select the plot type from the drop-down list box.
4. In the Color column select the plot color from the drop-down palette box.
5. In the Style column select the plot style from the drop-down list box.
6. In the Weight column select the plot weight from the drop-down list box; the weight can only be selected for the
solid line style.
7. Select the Use as Default check box, and click OK.

Setting Default Signal Style 322

To set properties:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 323

2. Select the Entries or the Exits tab, to set the style of entry or exit points, respectively.
3. In each section, in the Color column, select a color for each of the components from the drop-down palette box.
4. In the Style column select the component style from the drop-down list box.
5. In the Size column select the component size from the drop-down list box; only the size of arrows and ticks can
be set.
6. Select the Use as Default check box, and click OK.

Setting Default Maximum Bars Back 322

All studies based on past data use a certain number of bars for their calculations. The number of bars is called Maximum
number of bars a study will reference, or Maximum Bars Back. Either automatic Max Bars Back value detection or a set
Max Bars Back value can be specified as the default.

Setting Automatic Max Bars Back Detection 322

To select automatic Maximum Bars Back detection as a default:


1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the Properties tab.


3. In the Max number of bars study will reference section, click Auto-detect.
4. Select the Use as Default check box, and click OK.

Setting Default Max Bars Back Value 322

To set a default Maximum Bars Back value:


1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the Properties tab.


3. In the Max number of bars study will reference section, click User specified, and enter the default
Max Bars Back value in to the box.
4. Select the Use as Default check box, and click OK.

Setting Default Indicator Price Scale (Axis) Type 322

The default type of indicator Y-Price Scale (Axis) Type can be set from the Properties tab of the Properties window:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the Properties tab.


3. In the Axis Type section, click Linear or Semi-Log to specify linear or semi-log scale type, respectively.
4. Enter the default Max Bars Back value in to the User specified box.
5. Select the Use as Default check box, and click OK.

Setting Default Indicator SubChart 322

© 2009 TS Support, LLC


324 MultiCharts 5.5 User Guide

By default, an indicator can be placed into a new SubChart, or into the same SubChart as the Symbol that the indicator is
based on.
To set the default indicator SubChart:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the Properties tab.


3. Select the Same as Symbol check box for the indicator to be placed by default into the same SubChart as the
Symbol, or clear the check box or the indicator to be placed into a new SubChart.
4. Select the Use as Default check box, and click OK.

Setting Indicator Update on Every Tick 322

An indicator can be recalculated every time a new tick is received, or only at the close of each bar. One or the other may be
more appropriate, depending on the indicator's algorithm. Updating a large number of complex indicators on every tick will
require substantial system resources
To set the default indicator update rate:
1. Open the Properties window by one of the following methods:

· Click the Properties icon on the toolbar; or:


· Right-click within the script display window and then click Properties; or:
· Select File in the main menu and click Properties.

2. Select the Properties tab.


3. Clear the Update on every tick check box to recalculate the indicator on bar close only, or select the check box
to recalculate the indicator every time a new tick is received.
4. Select the Use as Default box, and click OK.

© 2009 TS Support, LLC


PowerLanguage | PowerLanguage Editor 325

6.4.7 Editor Settings

Editor Settings

The appearance of the PowerLanguage Editor work area can be customized. Navigator panel, Output panel, Toolbar, and
Status bar can be hidden and redisplayed. Study Window font, font size, and background color can be selected. The color of
each type of the EasyLanguage code elements and line numbers can be individually selected.
Hiding and Redisplaying Toolbars and Panels 325

To hide or redisplay a toolbar or panel, select View in the main menu and clear or select the check box next to the name of
the toolbar or panel.
Toolbars can also be hidden or redisplayed form the Editor Options window:
1. Open the Editor Options window.

How? 325

To open the Editor Options window, select Tools in the main menu and click Editor Options.
2. Select the General tab.
3. In the Display section, clear or select the check box next to the name of the toolbar or panel to hide or redisplay
that toolbar or panel.
Note: Panels can also be hidden by clicking the Close button in the corner of the toolbar.
Setting Font and Font Size 325

Font type and size can be set form the Editor Options window:
1. Open the Editor Options window.

How? 325

To open the Editor Options window, select Tools in the main menu and click Editor Options.
2. Select the General tab.
3. In the Editor section, select the font name from the drop-down list
4. Select the font size from the drop-down list.

Setting Colors 325

Study Window background color, and colors of each type of the EasyLanguage code elements and line numbers can be
selected individually.
The colors can be set from form the Editor Options window:
1. Open the Editor Options window.

How? 325

To open the Editor Options window, select Tools in the main menu and click Editor Options.
2. Select the Colors tab.
3. In the Display Items list, select an EasyLanguage code element (item).
4. In the Item Color palette box, select one of the standard 40 colors, or click the More Colors button to create
custom colors; repeat for steps 3 and 4 for any additional items.
5. In the Background Color palette box, select one of the standard 40 colors for the background, or click the
More Colors button to create custom colors.
6. In the Line Numbers Color palette box, select one of the standard 40 colors for the line numbers, or click the
More Colors button to create custom colors.

© 2009 TS Support, LLC


326 MultiCharts 5.5 User Guide

6.5 Keyword Reference


6.5.1 Keyword Alphabetical Index

Keyword Alphabetical Index

#Events 548
A 718
Abort 597
Above 400
AbsValue 606
Ago 420
Alert 337
AlertEnabled 338
All 732
An 719
And 401
Arctangent 607
Array_Compare 580
Array_Copy 581
Array_GetMaxIndex 582
Array_GetType 583
Array_SetMaxIndex 584
Array_SetValRange 585
Array_Sort 586
Array_Sum 587
Array 520
Arrays 522
ArraySize 549
ArrayStartAddr 550
Arw_Delete 341
Arw_GetActive 342
Arw_GetColor 343
Arw_GetDate 344
Arw_GetDirection 345
Arw_GetFirst 346
Arw_GetNext 347
Arw_GetSize 348
Arw_GetStyle 349
Arw_GetText 350
Arw_GetTextAttribute 351
Arw_GetTextBGColor 352
Arw_GetTextColor 353
Arw_GetTextFontName 354
Arw_GetTextSize 355
Arw_GetTime_s 357
Arw_GetTime 356
Arw_GetVal 358
Arw_New_s 360
Arw_New_self_s 362
Arw_New_self 361
Arw_New 359
Arw_SetColor 363
Arw_SetLocation_s 365

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 327

Arw_SetLocation 364
Arw_SetSize 366
Arw_SetStyle 367
Arw_SetText 368
Arw_SetTextAttribute 369
Arw_SetTextBGColor 370
Arw_SetTextColor 371
Arw_SetTextFontName 372
Arw_SetTextSize 373
At 720
AutoSession 700
AvgBarsEvenTrade 763
AvgBarsLosTrade 764
AvgBarsWinTrade 765
AvgEntryPrice 766
AvgList 608
Bar 421
BarInterval 423
Bars 422
BarsSinceEntry 791
BarsSinceExit 792
BarStatus 424
BarType_ex 426
BarType 425
Based 721
BaseDataNumber 589
Begin 402
Below 403
BigPointValue 427
Black 376
Blue 377
Bool 551
Buy 733
BuyToCover 735
By 722
Byte 552
C 428
Cancel Alert 339
Category 429
Ceiling 609
Char 553
CheckAlert 340
ClearDebug 635
Close 430
Commission 817
ComputerDateTime 468
Contract 737
ContractProfit 793
Contracts 738
Cosine 610
Cotangent 611
Cover 739
Cross 404
Crosses 405

© 2009 TS Support, LLC


328 MultiCharts 5.5 User Guide

CurrentBar 431
CurrentContracts 794
CurrentDataNumber 590
CurrentDate 469
CurrentEntries 795
CurrentOpenInt 673
CurrentShares 796
CurrentTime_s 471
CurrentTime 470
Cyan 378
D 432
DailyClose 674
DailyHigh 675
DailyLimit 433
DailyLow 676
DailyOpen 677
DailyVolume 678
DarkBlue 379
DarkBrown 380
DarkCyan 381
DarkGray 382
DarkGreen 383
DarkMagenta 384
DarkRed 385
DarkYellow 386
Data 434
DataCompression 435
Date 436
DateTime2ELTime_s 473
DateTime2ELTime 472
DateTimeToString 474
DateToJulian 475
DateToString 476
Day 437
DayFromDateTime 477
DayOfMonth 478
DayOfWeek 479
DayOfWeekFromDateTime
480
Days 438
Default 643
DefineDLLFunc 554
Description 679
Does 723
Double 555
DoubleQuote 852
DownTicks 439
Downto 406
DWORD 556
EL_DateStr 481
EL_DateToDateTime 482
EL_TimeToDateTime_s 484
EL_TimeToDateTime 483
ELDateToDateTime 485
Else 407

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 329

ELTimeToDateTime_s 487
ELTimeToDateTime 486
EncodeDate 488
EncodeTime 489
End 408
Entry 740
EntryDate 797
EntryPrice 798
EntryTime 799
ExchListed 680
ExecOffset 591
ExitDate 800
ExitPrice 801
ExitTime 802
ExpirationDate 440
ExpValue 612
External 557
False 409
File 636
FileAppend 637
FileDelete 638
Fill_array 588
Float 558
Floor 613
For 410
FormatDate 490
FormatTime 492
fpCExact 598
fpCHighAccuracy 599
fpCLowAccuracy 600
fpCMedAccuracy 601
fpCVeryHighAccuracy 602
fpCVeryLowAccuracy 603
FracPortion 614
Friday 494
From 724
GetAppInfo
GetBackgroundColor 644
GetBValue 387
GetCountry 592
GetCurrency 593
GetExchangeName 441
GetGValue 388
GetPlotColor 645
GetPlotWidth 646
GetRValue 389
GetStrategyName 818
GetSymbolName 442
GetUserID 594
GradientColor 390
Green 391
GrossLoss 767
GrossProfit 768
H 443

© 2009 TS Support, LLC


330 MultiCharts 5.5 User Guide

High 444
Higher 741
HoursFromDateTime 495
i_AvgEntryPrice 769
i_ClosedEquity 770
i_CurrentContracts 771
i_CurrentShares 772
i_MarketPosition 773
i_MarketPosition_at_Broker
803
i_MarketPosition_at_Broker_fo
r_The_Strategy 804
i_OpenEquity 774
I 445
IEasyLanguageObject 559
If 411
IncMonth 496
Input 523
Inputs 524
InsideAsk 681
InsideBid 682
InStr 853
Int 560
IntPortion 615
IntrabarOrderGeneration 374
IntraBarPersist 525
Is 725
JulianToDate 497
L 446
LargestLosTrade 775
LargestWinTrade 776
Last 683
LastCalcJDate 498
LastCalcMMTime 499
LastCalcSSTime 500
LeftStr 854
LegacyColorToRGB 392
LegacyColorValue 375
LightGray 393
Limit 742
Log 616
Long 561
Low 447
Lower 743
LowerStr 855
LPBool 562
LPByte 563
LPDouble 564
LPDWORD 565
LPFloat 566
LPInt 567
LPLong 568
LPSTR 569
LPWORD 570
Magenta 394

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 331

Margin 819
Market 744
MarketPosition 805
MarketPosition_at_Broker 806
MarketPosition_at_Broker_for
_The_Strategy 807
MaxBarsBack 595
MaxBarsForward 596
MaxConsecLosers 777
MaxConsecWinners 778
MaxContractProfit 808
MaxContracts 809
MaxContractsHeld 779
MaxEntries 810
MaxIDDrawDown 780
MaxList 617
MaxList2 618
MaxPositionAgo 811
MaxPositionLoss 812
MaxPositionProfit 813
MaxShares 814
MaxSharesHeld 781
MessageLog 639
Method 571
MidStr 856
MillisecondsFromDateTime
501
MinList 619
MinList2 620
MinMove 448
MinutesFromDateTime 502
Mod 621
Monday 503
Month 504
MonthFromDateTime 505
Neg 622
NetProfit 782
NewLine 857
Next 449
NoPlot 647
Not 412
NthMaxList 623
NthMinList 624
Numeric 526
NumericArray 527
NumericArrayRef 528
NumericRef 529
NumericSeries 530
NumericSimple 531
NumEvenTrades 783
NumLosTrades 784
NumToStr 858
NumWinTrades 785
O 450
Of 726

© 2009 TS Support, LLC


332 MultiCharts 5.5 User Guide

On 727
OnCreate 572
OnDestroy 573
Open 451
OpenInt 452
OpenPositionProfit 815
Or 413
Over 414
PercentProfit 786
Place 728
PlaySound 640
Plot 648
PlotPaintBar 650
PlotPB 651
Point 453
Points 454
PointValue 455
Portfolio_CalcMaxPotentialLos
sForEntry 663
Portfolio_CurrentEntries 664
Portfolio_GetMarginPerContra
ct 668
Portfolio_GetMaxPotentialLos
sPerContract 669
Portfolio_GrossLoss 654
Portfolio_GrossProfit 655
Portfolio_MaxIDDrawdown 656
Portfolio_MaxOpenPositionPot
entialLoss 665
Portfolio_MaxRiskEquityPerPo
sPercent 670
Portfolio_NetProfit 657
Portfolio_NumLossTrades 658
Portfolio_NumWinTrades 659
Portfolio_OpenPositionProfit
666
Portfolio_PercentProfit 660
Portfolio_SetMaxPotentialLoss
PerContract 667
Portfolio_StrategyDrawdown
661
Portfolio_TotalMaxRiskEquity
Percent 671
Portfolio_TotalTrades 662
PortfolioEntriesPriority 672
Pos 625
PositionProfit 816
Power 626
PrevClose 684
PriceScale 456
Print 641
Printer 642
q_Ask 685
q_Bid 686
q_BigPointValue 687
q_Date 688
q_ExchangeListed 689

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 333

q_Last 690
q_OpenInterest 691
q_PreviousClose 692
q_Time 693
q_TotalVolume 694
RaiseRuntimeError 604
Random 627
Red 395
RegularSession 701
RGB 396
RGBToLegacyColor 397
RightStr 859
Round 628
Saturday 506
SecondsFromDateTime 507
Self 574
Sell 745
SellShort 747
Sess1EndTime 702
Sess1FirstBarTime 703
Sess1StartTime 704
Sess2EndTime 705
Sess2FirstBarTime 706
Sess2StartTime 707
SessionCount 708
SessionCountMS 709
SessionEndDay 710
SessionEndDayMS 711
SessionEndTime 712
SessionEndTimeMS 713
SessionLastBar 457
SessionStartDay 714
SessionStartDayMS 715
SessionStartTime 716
SessionStartTimeMS 717
SetBreakeven 749
SetDollarTrailing 750
SetExitOnClose 751
SetFPCompareAccuracy 605
SetPercentTrailing 752
SetPlotColor 652
SetPlotBGColor 653
SetPlotWidth 695
SetProfitTarget 753
SetStopContract 754
SetStopLoss 755
SetStopPosition 756
SetStopShare 757
Share 758
Shares 759
Short 760
Sign 629
Sine 630
Slippage 820

© 2009 TS Support, LLC


334 MultiCharts 5.5 User Guide

Spaces 860
Square 631
SquareRoot 632
Stop 761
String 532
StringArray 533
StringArrayRef 534
StringRef 535
StringSeries 536
StringSimple 537
StringToDate 508
StringToDateTime 509
StringToTime 510
StrLen 861
StrToNum 862
SumList 633
Sunday 511
Symbol 696
SymbolName 697
T 458
Tangent 634
Text_Delete 821
Text_GetActive 822
Text_GetAttribute 823
Text_GetBGColor 824
Text_GetBorder 825
Text_GetColor 826
Text_GetDate 827
Text_GetFirst 828
Text_GetFontName 829
Text_GetHStyle 830
Text_GetNext 831
Text_GetSize 832
Text_GetString 833
Text_GetTime_s 835
Text_GetTime 834
Text_GetValue 836
Text_GetVStyle 837
Text_New_s 839
Text_New_self_s 841
Text_New_self 840
Text_New 838
Text_SetAttribute 842
Text_SetBGColor 843
Text_SetBorder 844
Text_SetColor 845
Text_SetFontName 846
Text_SetLocation_s 848
Text_SetLocation 847
Text_SetSize 849
Text_SetString 850
Text_SetStyle 851
Text 863
Than 729

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 335

The 730
Then 415
This 459
Thursday 512
Ticks 460
Time_s 462
Time_s2Time 513
Time 461
Time2Time_s 514
TimeToString 515
TL_Delete 865
TL_GetActive 866
TL_GetAlert 867
TL_GetBeginDate 868
TL_GetBeginTime_s 870
TL_GetBeginTime 869
TL_GetBeginVal 871
TL_GetColor 872
TL_GetEndDate 873
TL_GetEndTime_s 875
TL_GetEndTime 874
TL_GetEndVal 876
TL_GetExtLeft 877
TL_GetExtRight 878
TL_GetFirst 879
TL_GetNext 880
TL_GetSize 881
TL_GetStyle 882
TL_GetValue_s 885
TL_GetValue 884
TL_New_s 887
TL_New_self_s 889
TL_New_self 888
TL_New 886
TL_SetAlert 890
TL_SetBegin_s 892
TL_SetBegin 891
TL_SetColor 893
TL_SetEnd_s 895
TL_SetEnd 894
TL_SetExtLeft 896
TL_SetExtRight 897
TL_SetSize 898
TL_SetStyle 899
To 416
Today 463
Tool_Dashed 900
Tool_Dashed2 901
Tool_Dashed3 902
Tool_Dotted 903
Tool_Solid 904
Total 762
TotalBarsEvenTrades 787
TotalBarsLosTrades 788

© 2009 TS Support, LLC


336 MultiCharts 5.5 User Guide

TotalBarsWinTrades 789
TotalTrades 790
TradeDate 698
TradeTime 699
True 417
TrueFalse 538
TrueFalseArray 539
TrueFalseArrayRef 540
TrueFalseRef 541
TrueFalseSeries 542
TrueFalseSimple 543
Tuesday 516
Under 418
Unsigned 575
UpperStr 864
UpTicks 464
V 465
Var 544
Variable 545
Variables 546
Vars 547
VarSize 576
VarStartAddr 577
Void 578
Volume 466
Was 731
Wednesday 517
While 419
White 398
WORD 579
Year 518
YearFromDateTime 519
Yellow 399
Yesterday 467

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 337

6.5.2 Alerts
6.5.2.1 Alert

Alert
Triggers an alert window where the necessary text can be created. The text can be dynamic, static or
absent.
Usage
Alert

Notes
· If the text isn't set in the alert then Source, Symbol, Resolution, Price is displayed
· Alerts are shown on the last bar only
· Detailed information of alerts' settings is available in Formatting Studies > Alerts
Example
This statement will call an alert without text message:
Alert;

This statement creates a dynamic alert text and displays the number of the weekday:
Alert(Text("Day of week is ", DayOfWeek(Date)));

This statement will show static text:


If Close > Close[1] Then
Alert(Text("Price turning up"))

© 2009 TS Support, LLC


338 MultiCharts 5.5 User Guide

6.5.2.2 AlertEnabled

AlertEnabled
Returns True if the alerts have been turned on in Format Study > Alerts. This information can make
script execution more efficient by discarding redundant calculations. This function can also be used
to notify the user that he will not see the alerts until the relevant option is turned on.
Usage
AlertEnabled

Notes
· Alerts are only generated for the last bar
· There is a difference between AlertEnabled and CheckAlert: AlertEnabled returns True/
False for all the bars on the chart while CheckAlert does so for the last bar only

· AlertEnabled will return True if alerts have been enabled


Example
The example below shows how a user can be notified that he has forgotten to turn on the alerts:
Variable: ID(-1);
If AlertEnabled=False And LastBarOnChart_S=True Then
ID = Text_New_S(Date, Time_S, Low, "Alerts are disabled. See Format Study >
Properties > Alerts");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 339

6.5.2.3 Cancel Alert

Cancel Alert
The expression deactivates alerts. This is necessary if a script contains multiple alert statements and
they need to be turned off under certain conditions.
Usage
Cancel Alert

Notes
Alerts are only generated for the last bar
Example
The example shows how all alerts can be turned off depending on time. The alerts will not be
displayed after 10:00 pm.
If Close > Close[1] Then
Alert("Price is going up");
If Volume > Volume[1] Then
Alert("Volume is increasing");
If Volatility(5) > Volatility(5)[1] Then
Alert("Volatility is rising");
If OpenInt > OpenInt[1] Then
Alert("Open interest is growing");
If Time >= 2200 Then Cancel Alert;

© 2009 TS Support, LLC


340 MultiCharts 5.5 User Guide

6.5.2.4 CheckAlert

CheckAlert
Returns True if the alerts have been turned on in Formatting Studies > Alerts.
True/False is returned on the last bar only.
For the bars other than the last False is always returned.

Usage
CheckAlert

Notes
· There is a difference between AlertEnabled and CheckAlert. AlertEnabled checks the
status on all the bars while CheckAlert does so for the last bar only.

· Alerts are only generated for the last bar.

Example
The example below shows how CheckAlert can help eliminate redundant calculations on historic
bars as well as in cases when alerts are not turned on:
If CheckAlert Then Begin
If Volume >= 2 * Average(Volume, 10) Then Alert ("Volume is going up");
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 341

6.5.3 Arrow Drawing


6.5.3.1 Arw_Delete

Arw_Delete
Removes an arrow object with the specified ID number from a chart; returns a value of 0 if the object
was successfully removed, and a value of -2 if the specified object ID number is invalid.

Usage
Arw_Delete(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Remove the arrow object with an ID number of 3:
Value1=Arw_Delete(3);

© 2009 TS Support, LLC


342 MultiCharts 5.5 User Guide

6.5.3.2 Arw_GetActive

Arw_GetActive
Returns a numerical value indicating the object ID number of the currently selected arrow object;
returns a value of -1 if no arrow objects are currently selected.

Usage
Arw_GetActive

Notes
An object-specific ID number is assigned by Arw_New 359 when the arrow object is created.

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

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 343

6.5.3.3 Arw_GetColor

Arw_GetColor
Returns an RGB color number or a legacy color value that correspond to the color of the arrow
contained in an arrow object with the specified ID number; returns a value of -2 if the specified object
ID number is invalid.

Usage
Arw_GetColor(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign an RGB color number, corresponding to the color of the arrow contained in an arrow object
with the ID number of 3, to Value1 variable:
Value1=Arw_GetColor(3);

Assign a legacy color value, corresponding to the color of the arrow contained in an arrow object with
the ID number of 3, to Value1 variable:
[LegacyColorValue=True];
Value1=Arw_GetColor(3);

© 2009 TS Support, LLC


344 MultiCharts 5.5 User Guide

6.5.3.4 Arw_GetDate

Arw_GetDate
Returns a numerical value, indicating the date of the bar at which an arrow object with the specified
ID number has been placed; returns a value of -2 if the specified object ID number is invalid.
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
Arw_GetDate(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the date of the bar at which an arrow object with the ID number of 3 has
been placed, to Value1 variable:
Value1=Arw_GetDate(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 345

6.5.3.5 Arw_GetDirection

Arw_GetDirection
Returns a logical value indicating the direction of the arrow contained in an arrow object with the
specified ID number; returns a value of True for Down arrow, and a value of False for Up arrow or if
the specified object ID number is invalid.
Usage
Arw_GetDirection(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a true/false value, indicating the direction of the arrow contained in an arrow object with the ID
number of 3, to DownArrow variable:
Variable:DownArrow(False);
DownArrow=Arw_GetDirection(3);

© 2009 TS Support, LLC


346 MultiCharts 5.5 User Guide

6.5.3.6 Arw_GetFirst

Arw_GetFirst
Returns a numerical value, indicating the object ID number of the oldest (the first to be added to the
current chart) arrow object of the specified origin; returns a value of -2 if the specified object ID
number is invalid.

Usage
Arw_GetFirst (Origin)
Parameters
Origin - a numerical expression specifying the origin of the arrow object:
1 - added by the current study
2 - added by a study other then the current study, or drawn manually by the user
3 - added by any study, or drawn manually by the user
4 - added by the current study, or drawn manually by the user
5 - added by a study other then the current study
6 - added by any study
7 - added manually by the user

Notes
If the oldest (the first added) arrow object is deleted, the next oldest (the second added) arrow object
becomes the oldest (the first added) arrow object.
Example
Assign a value, indicating the object ID number of the oldest arrow object added to the chart by the
current study, to Value1 variable:
Value1=Arw_GetFirst(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 347

6.5.3.7 Arw_GetNext

Arw_GetNext
Returns the ID number of the first existing arrow object added subsequent to an arrow object with the
specified ID number, with both objects of a specified origin; returns a value of -2 if the specified
object ID number is invalid.

Usage
Arw_GetNext(ObjectID,Origin)
Parameters
ObjectID - a numerical expression specifying the object ID number
Origin - a numerical expression specifying the origin of the arrow objects:
1 - added by the current study
2 - added by a study other then the current study, or drawn manually by the user
3 - added by any study, or drawn manually by the user
4 - added by the current study, or drawn manually by the user
5 - added by a study other then the current study
6 - added by any study
7 - added manually by the user

Example
Assign a value to Value1 variable, indicating the ID number of the first existing arrow object added
subsequent to an arrow object with the ID number of 3, with both objects added by the current study:
Value1=Arw_GetNext(3,1);

© 2009 TS Support, LLC


348 MultiCharts 5.5 User Guide

6.5.3.8 Arw_GetSize

Arw_GetSize
Returns a numerical value indicating the size of the arrow contained in an arrow object with the
specified ID number; returns a value of -2 if the specified object ID number is invalid.

Usage
Arw_GetSize(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the size of the arrow in an arrow object with the ID number of 3, to Value1
variable:
Value1=Arw_GetSize(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 349

6.5.3.9 Arw_GetStyle

Arw_GetStyle
Returns a numerical value, indicating the style of the arrow in an arrow object with the specified ID
number; returns a value of -2 if the specified object ID number is invalid.

Usage
Arw_GetStyle(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the style of the arrow in an arrow object with the ID number of 3, to Value1
variable:
Value1=Arw_GetStyle(3);

© 2009 TS Support, LLC


350 MultiCharts 5.5 User Guide

6.5.3.10 Arw_GetText

Arw_GetText
Returns a string expression corresponding to the text contained in an arrow object with the specified
ID number.

Usage
Arw_GetText(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Arw_GetText(3) will return a string expression corresponding to the text contained in an arrow
object with the ID number of 3

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 351

6.5.3.11 Arw_GetTextAttribute

Arw_GetTextAttribute
Returns a logical value indicating the setting for an attribute of the text in an arrow object with the
specified ID number; returns a value of True if the attribute is set to on, and a value of False if the
attribute is set to off or if the specified object ID number is invalid.
The settings of the following attributes can be returned: border, bold, italic, strike-out, and underline.

Usage
Arw_GetTextAttribute(ObjectID,Attribute)
Parameters
ObjectID - a numerical expression specifying the object ID number
Attribute - a numerical expression specifying the attribute:
0 - border
1 - bold
2 - italic
3 - strike-out
4 - underline

Notes
An object-specific ID number is assigned by Arw_New 359 when the arrow object is created.

Example
Assign a true/false value, indicating the setting of "bold" attribute for the arrow object with an ID
number of 3, to ArwTxtBold variable:
Variable:ArwTxtBold(False);
ArwTxtBold=Arw_GetTextAttribute(3,1);

© 2009 TS Support, LLC


352 MultiCharts 5.5 User Guide

6.5.3.12 Arw_GetTextBGColor

Arw_GetTextBGColor
Returns an RGB color number or a legacy color value that correspond to the text background color of
an arrow object with the specified ID number; returns a value of -2 if the specified object ID number is
invalid.

Usage
Arw_GetTextBGColor(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign an RGB color number, corresponding to the text background color of an arrow object with the
ID number of 3, to Value1 variable:
Value1=Arw_GetTextBGColor(3);

Assign a legacy color value, corresponding to the text background color of an arrow object with the ID
number of 3, to Value1 variable:
[LegacyColorValue=True];
Value1=Arw_GetTextBGColor(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 353

6.5.3.13 Arw_GetTextColor

Arw_GetTextColor
Returns an RGB color number or a legacy color value that correspond to the color of the text
contained in an arrow object with the specified ID number; returns a value of -2 if the specified object
ID number is invalid.

Usage
Arw_GetTextColor(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign an RGB color number, corresponding to the color of the text contained in an arrow object with
the ID number of 3, to Value1 variable:
Value1=Arw_GetTextColor(3);

Assign a legacy color value, corresponding to the color of the text contained in an arrow object with
the ID number of 3, to Value1 variable:
[LegacyColorValue=True];
Value1=Arw_GetTextColor(3);

© 2009 TS Support, LLC


354 MultiCharts 5.5 User Guide

6.5.3.14 Arw_GetTextFontName

Arw_GetTextFontName
Returns a string expression corresponding to the name of the text font assigned to an arrow object
with the specified ID number.

Usage
Arw_GetTextFontName(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Arw_GetTextFontName(3) will return a string expression corresponding to the name of the text
font assigned to an arrow object with the ID number of 3

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 355

6.5.3.15 Arw_GetTextSize

Arw_GetTextSize
Returns a numerical value indicating the font size assigned to the text of an arrow object with the
specified ID number; returns a value of -2 if the specified object ID number is invalid.

Usage
Arw_GetTextSize(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the font size of the text in an arrow object with the ID number of 3, to
Value1 variable:
Value1=Arw_GetTextSize(3);

© 2009 TS Support, LLC


356 MultiCharts 5.5 User Guide

6.5.3.16 Arw_GetTime

Arw_GetTime
Returns a numerical value, indicating the time of the bar at which an arrow object with the specified
ID number has been placed; returns a value of -2 if the specified object ID number is invalid.
The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
Arw_GetTime(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the time of the bar at which an arrow object with the ID number of 3 has
been placed, to Value1 variable:
Value1=Arw_GetTime(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 357

6.5.3.17 Arw_GetTime_s

Arw_GetTime_s
Returns a numerical value indicating the time of the bar, including seconds, at which an arrow object
with the specified ID number has been placed; returns a value of -2 if the specified object ID number
is invalid.
The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
Arw_GetTime_s(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New_s 360 when the arrow object is created.

Example
Assign a value, indicating the time of the bar at which an arrow object with the ID number of 3 has
been placed, to Value1 variable:
Value1=Arw_GetTime_s(3);

© 2009 TS Support, LLC


358 MultiCharts 5.5 User Guide

6.5.3.18 Arw_GetVal

Arw_GetVal
Returns the price value (vertical position, corresponding to a value on the price scale of a chart), at
which an arrow object with the specified ID number has been placed; returns a value of -2 if the
specified object ID number is invalid.

Usage
Arw_GetVal(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign a value, indicating the price value at which an arow object with the ID number of 3 has been
placed, to Value1 variable:
Value1=Arw_GetVal(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 359

6.5.3.19 Arw_New

Arw_New
Displays an object, consisting of an up or a down arrow located at the specified bar and specified
price value, on the chart that the study is based on; returns an object-specific ID number, required to
modify the object.

Usage
Arw_New (BarDate, BarTime, PriceValue, Direction)
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Direction - a logical expression specifying the direction of the arrow; True = Down and False =
Up
Example
Place, on the chart that the study is based on, an up arrow at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Arw_New(Date,Time,High,False);

© 2009 TS Support, LLC


360 MultiCharts 5.5 User Guide

6.5.3.20 Arw_New_s

Arw_New_s
Displays an object, consisting of an up or a down arrow located at the specified bar and specified
price value, on the chart that the study is based on; returns an object-specific ID number, required to
modify the object.

Usage
Arw_New_s (BarDate, BarTime_s, PriceValue, Direction)
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Direction - a logical expression specifying the direction of the arrow; True = Down and False =
Up
Example
Place, on the chart that the study is based on, an up arrow at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Arw_New_s(Date,Time_s,High,False);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 361

6.5.3.21 Arw_New_self

Arw_New_self
Displays an object, consisting of an up or a down arrow located at the specified bar and specified
price value, on the SubChart containing the study; returns an object-specific ID number, required to
modify the object.

Usage
Arw_New_self (BarDate, BarTime, PriceValue, Direction)
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Direction - a logical expression specifying the direction of the arrow; True = Down and False =
Up
Example
Place, on the SubChart containing the study, an up arrow at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Arw_New_self(Date,Time,High,False);

© 2009 TS Support, LLC


362 MultiCharts 5.5 User Guide

6.5.3.22 Arw_New_self_s

Arw_New_self_s
Displays an object, consisting of an up or a down arrow located at the specified bar and specified
price value, on the SubChart containing the study; returns an object-specific ID number, required to
modify the object.

Usage
Arw_New_self_s (BarDate, BarTime_s, PriceValue, Direction)
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Direction - a logical expression specifying the direction of the arrow; True = Down and False =
Up
Example
Place, on the SubChart containing the study, an up arrow at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Arw_New_self_s(Date,Time_s,High,False);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 363

6.5.3.23 Arw_SetColor

Arw_SetColor
Assigns the specified color to the arrow contained in an arrow object with the specified ID number;
returns a value of 0 if the color was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetColor(ObjectID,ArrowColor)
Parameters
ObjectID - a numerical expression specifying the object ID number
ArrowColor - an expression specifying the color of the arrow
The color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign the color blue to the arrow contained in an arrow object with the ID number of 3:
Value1=Arw_SetColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the arrow contained in an arrow object with the ID
number of 3:
Value1=Arw_SetColor(3,2138336);

Assign the legacy color 4 (Green) to the arrow contained in an arrow object with the ID number of 3:
[LegacyColorValue=True];
Value1=Arw_SetColor(3,4);

© 2009 TS Support, LLC


364 MultiCharts 5.5 User Guide

6.5.3.24 Arw_SetLocation

Arw_SetLocation
Modifies the location of an arrow object with the specified ID number; returns a value of 0 if the
location of the object was successfully modified, and a value of -2 if the specified object ID number is
invalid.

Usage
Arw_SetLocation (ObjectID, BarDate, BarTime, PriceValue)
Parameters
ObjectID - a numerical expression specifying the object ID number
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Move the arrow object with an ID number of 3 to the top of the current bar:
Value1=Arw_SetLocation(3,Date,Time,High);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 365

6.5.3.25 Arw_SetLocation_s

Arw_SetLocation_s
Modifies the location of an arrow object with the specified ID number; returns a value of 0 if the
location of the object was successfully modified, and a value of -2 if the specified object ID number is
invalid.

Usage
Arw_SetLocation_s (ObjectID, BarDate, BarTime_s, PriceValue)
Parameters
ObjectID - a numerical expression specifying the object ID number
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Notes
An object-specific ID number is returned by Arw_New_s 360 when the arrow object is created.

Example
Move the arrow object with an ID number of 3 to the top of the current bar:
Value1=Arw_SetLocation_s(3,Date,Time_s,High);

© 2009 TS Support, LLC


366 MultiCharts 5.5 User Guide

6.5.3.26 Arw_SetSize

Arw_SetSize
Assigns the specified size to the arrow contained in an arrow object with the specified ID number;
returns a value of 0 if the size was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetSize(ObjectID,ArrowSize)
Where: ObjectID - a numerical expression specifying the object ID number
ArrowSize - a numerical expression specifying the arrow size

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign an arrow size of 10 to the arrow object with an ID number of 3:
Value1=Arw_SetSize(3,10);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 367

6.5.3.27 Arw_SetStyle

Arw_SetStyle
Assigns the specified style to the arrow of an arrow object with the specified ID number; returns a
value of 0 if the arrow style was successfully modified, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetStyle(ObjectID,ArrowStyle)
Where: ObjectID - a numerical expression specifying the object ID number
ArrowStyle - a numerical expression specifying the arrow style; arrow styles range from 0
to 13

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign the arrow style of 5 to an arrow object with the ID number of 3:
Value1=Arw_SetStyle(3,5);

© 2009 TS Support, LLC


368 MultiCharts 5.5 User Guide

6.5.3.28 Arw_SetText

Arw_SetText
Adds text to, or replaces the existing text contained in an arrow object with the specified ID number;
returns a value of -2 if the specified object ID number is invalid.

Usage
Arw_SetText(ObjectID,"Text")
Where: ObjectID - a numerical expression specifying the object ID number
Text - the string expression to be displayed in the arrow object

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Add text "My Arrow" to the arrow object with an ID number of 3:
Value1=Arw_SetText(3,"My Arrow");

Replace text contained in the arrow object with an ID number of 3 with the string expression "New
Text":
Value1=Arw_SetText(3,"New Text");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 369

6.5.3.29 Arw_SetTextAttribute

Arw_SetTextAttribute
Sets an attribute of the text in an arrow object with the specified ID number; returns a value of 0 if the
attribute was successfully set, and a value of -2 if the specified object ID number is invalid.
The following text attributes can be set: border, bold, italic, strike-out, and underline.

Usage
Arw_SetTextAttribute(ObjectID,Attribute,LogicalExpression)
Parameters
ObjectID - a numerical expression specifying the object ID number
Attribute - a numerical expression specifying the attribute:
0 - border
1 - bold
2 - italic
3 - strike-out
4 - underline

LogicalExpression - a logical value; True = on and False = off

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Set the attribute "bold" to on for the text in an arrow object with the ID number of 3:
Value1=Arw_SetTextAttribute(3,1,True);

© 2009 TS Support, LLC


370 MultiCharts 5.5 User Guide

6.5.3.30 Arw_SetTextBGColor

Arw_SetTextBGColor
Assigns the specified background color to the text of an arrow object with the specified ID number;
returns a value of 0 if the color was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetTextBGColor(ObjectID,TextBGColor)
Parameters
ObjectID - a numerical expression specifying the object ID number
TextBGColor - an expression specifying the text background color
The color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign the color blue to the text background of an arrow object with the ID number of 3:
Value1=Arw_SetTextBGColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the text background of an arrow object with the ID
number of 3:
Value1=Arw_SetTextBGColor(3,2138336);

Assign the legacy color 4 (Green) to the text background of an arrow object with the ID number of 3:
[LegacyColorValue=True];
Value1=Arw_SetTextBGColor(3,4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 371

6.5.3.31 Arw_SetTextColor

Arw_SetTextColor
Assigns the specified color to the text contained in an arrow object with the specified ID number;
returns a value of 0 if the color was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetTextColor(ObjectID,TextColor)
Parameters
ObjectID - a numerical expression specifying the object ID number
TextColor - an expression specifying the color of the text
The color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign the color blue to the text contained in an arrow object with the ID number of 3:
Value1=Arw_SetTextColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the text contained in an arrow object with the ID number
of 3:
Value1=Arw_SetTextColor(3,2138336);

Assign the legacy color 4 (Green) to the text contained in an arrow object with the ID number of 3:
[LegacyColorValue=True];
Value1=Arw_SetTextColor(3,4);

© 2009 TS Support, LLC


372 MultiCharts 5.5 User Guide

6.5.3.32 Arw_SetTextFontName

Arw_SetTextFontName
Assigns the specified font to the text of an arrow object with the specified ID number; returns a value
of -2 if the specified object ID number is invalid.
Any font in the Fonts folder can be used; the folder is accessible from the Control Panel in Windows
XP operating system.

Usage
Arw_SetTextFontName(ObjectID,"FontName")
Where: ObjectID - a numerical expression specifying the object ID number
FontName - a string expression specifying the font name

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign font Verdana to the text of an arrow object with the ID number of 3:
Value1=Arw_SetTextFontName(3,"Verdana");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 373

6.5.3.33 Arw_SetTextSize

Arw_SetTextSize
Assigns the specified font size to the text of an arrow object with the specified ID number; returns a
value of 0 if the font size was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Arw_SetTextSize(ObjectID,FontSize)
Where: ObjectID - a numerical expression specifying the object ID number
FontSize - a numerical expression specifying the font size

Notes
An object-specific ID number is returned by Arw_New 359 when the arrow object is created.

Example
Assign the font size of 16 to the text of an arrow object with the ID number of 3:
Value1=Arw_SetTextSize(3,16);

© 2009 TS Support, LLC


374 MultiCharts 5.5 User Guide

6.5.4 Attributes
6.5.4.1 IntrabarOrderGeneration

IntraBarOrderGeneration
Toggles intra-bar order generation flag on or off.

Usage
[IntrabarOrderGeneration = LogicalValue]
Where: LogicalValue - a true/false value; True = Enable; False = Disable

If the attribute is not present in the study's code, intra-bar order generation can be set by the user in
the Calculations tab of the Format Signal window.
If set to True, "Enable intra-bar order generation and calculation" check box will be checked and
grayed out, and the radio buttons will be available.
If set to False, "Enable intra-bar order generation and calculation" check box will be unchecked and
grayed out, and the radio buttons disabled.
Notes
Intra-bar order generation is currently supported for single-data series charts only. Intra-bar order
generation for multiple-data series charts will be implemented in the next release of the platform.
Attributes are applied at the time of compilation and cannot be changed at run-time.
Example
Enable intra-bar order generation:
[IntrabarOrderGeneration = True];

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 375

6.5.4.2 LegacyColorValue

LegacyColorValue
Specifies the color designation scheme to be used for interpretation of numerical color values.

Usage
[LegacyColorValue = LogicalValue]
Where: LogicalValue - a true/false value; True = Enable; False = Disable

If the attribute is set to False, or not present in the study's code, the RGB (new) 16M color scheme
will be used.
If LegacyColorValue the attribute is set to True, the legacy (old) 16-bit, 16-color scheme will be used.

Notes
When a color name is converted to a numerical color value, the specified scheme will be followed.
To ensure compatibility, the attribute [LegacyColorValue = True] is inserted automatically when older
versions, prior to v8.1, of EasyLanguage studies are imported.
Example
Enable legacy color value interpretation:
[LegacyColorValue = True];

Create a Green color plot using the legacy color scheme:


[LegacyColorValue = True];
Plot1(Open);
SetPlotColor(1,4);

Create a Green color plot using the RGB color scheme:


[LegacyColorValue = False];
Plot1(Open);
SetPlotColor(1,65280);

Assign a value, representing the color Green under the legacy color scheme, to Value1 (Value1 will
be assigned a value of 4):
[LegacyColorValue = True];
Value1=Green;

Assign a value, representing the color Green under the RGB color scheme, to Value1 (Value1 will be
assigned a value of 65280):
[LegacyColorValue = False];
Value1=Green;

© 2009 TS Support, LLC


376 MultiCharts 5.5 User Guide

6.5.5 Colors
6.5.5.1 Black

Black
Constant, used to designate the color Black.

Usage
Black

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Black:
Plot1(Open);
SetPlotColor(1,Black);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 377

6.5.5.2 Blue

Blue
Constant, used to designate the color Blue.

Usage
Blue

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Blue:
Plot1(Open);
SetPlotColor(1,Blue);

© 2009 TS Support, LLC


378 MultiCharts 5.5 User Guide

6.5.5.3 Cyan

Cyan
Constant, used to designate the color Cyan.

Usage
Cyan

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Cyan:
Plot1(Open);
SetPlotColor(1,Cyan);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 379

6.5.5.4 DarkBlue

DarkBlue
Constant, used to designate the color DarkBlue.

Usage
DarkBlue

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkBlue:
Plot1(Open);
SetPlotColor(1,DarkBlue);

© 2009 TS Support, LLC


380 MultiCharts 5.5 User Guide

6.5.5.5 DarkBrown

DarkBrown
Constant, used to designate the color DarkBrown.

Usage
DarkBrown

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkBrown:
Plot1(Open);
SetPlotColor(1,DarkBrown);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 381

6.5.5.6 DarkCyan

DarkCyan
Constant, used to designate the color DarkCyan.

Usage
DarkCyan

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkCyan:
Plot1(Open);
SetPlotColor(1,DarkCyan);

© 2009 TS Support, LLC


382 MultiCharts 5.5 User Guide

6.5.5.7 DarkGray

DarkGray
Constant, used to designate the color DarkGray.

Usage
DarkGray

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkGray:
Plot1(Open);
SetPlotColor(1,DarkGray);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 383

6.5.5.8 DarkGreen

DarkGreen
Constant, used to designate the color DarkGreen.

Usage
DarkGreen

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkGreen:
Plot1(Open);
SetPlotColor(1,DarkGreen);

© 2009 TS Support, LLC


384 MultiCharts 5.5 User Guide

6.5.5.9 DarkMagenta

DarkMagenta
Constant, used to designate the color DarkMagenta.

Usage
DarkMagenta

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkMagenta:
Plot1(Open);
SetPlotColor(1,DarkMagenta);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 385

6.5.5.10 DarkRed

DarkRed
Constant, used to designate the color DarkRed.

Usage
DarkRed

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkRed:
Plot1(Open);
SetPlotColor(1,DarkRed);

© 2009 TS Support, LLC


386 MultiCharts 5.5 User Guide

6.5.5.11 DarkYellow

DarkYellow
Constant, used to designate the color DarkYellow.

Usage
DarkYellow

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color DarkYellow:
Plot1(Open);
SetPlotColor(1,DarkYellow);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 387

6.5.5.12 GetBValue

GetBValue
Returns the Blue color component value of an RGB color number; the value ranges from 0 to 255.
Usage
GetBValue(BigRGBValue)
Where: BigRGBValue - an RGB color number from 0 to 16777215

Example
Assign a value, representing the Blue color component of the RGB color number 2138336 (Orange),
to Value1 (Value1 will be assigned a value of 32):
Value1=GetBValue(2138336);

© 2009 TS Support, LLC


388 MultiCharts 5.5 User Guide

6.5.5.13 GetGValue

GetGValue
Returns the Green color component value of an RGB color number; the value ranges from 0 to 255.
Usage
GetGValue(BigRGBValue)
Where: BigRGBValue - an RGB color number from 0 to 16777215
Example
Assign a value, representing the Green color component of the RGB color number 2138336
(Orange), to Value1 (Value1 will be assigned a value of 160):
Value1=GetGValue(2138336);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 389

6.5.5.14 GetRValue

GetRValue
Returns the Red color component value of an RGB color number; the value ranges from 0 to 255.
Usage
GetRValue(BigRGBValue)
Where: BigRGBValue - an RGB color number from 0 to 16777215
Example
Assign a value, representing the Red color component of the RGB color number 2138336 (Orange),
to Value1 (Value1 will be assigned a value of 224):
Value1=GetRValue(2138336);

© 2009 TS Support, LLC


390 MultiCharts 5.5 User Guide

6.5.5.15 GradientColor

GradientColor
Returns an RGB color number, representing a shade of color from within a defined color range. The
gradient shade of color is determined by the value of the specified numerical expression in relation to
the defined value range.
For example, if the color range is defined as White to Black, and the value range is defined from 0 to
2, GradientColor will return an RGB color number representing White for the value of 0, Gray for the
value of 1, and Black for the value of 2. White will be returned for all values < 0, and Black for all
values > 2.

Usage
GradientColor(Value,Min,Max,StartColor,EndColor)
Where: Value – the specified numerical expression
Min – the minimum value of the value range; if Value=Min, StartColor is returned
Max – the maximum value of the value range; if Value=Max, EndColor is returned
StartColor – the starting color of the color range
EndColor – the ending color of the color range
Example
Plot an ADX indicator in Gradient Color, where Magenta gradually changes into White for the
indicator values from 5 to 50:
Variable:ADXValue(0);
ADXValue=ADX(14);
Plot1(ADXValue,"ADXValue");
SetPlotColor (1,GradientColor (ADXValue,5,50, Magenta,White));

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 391

6.5.5.16 Green

Green
Constant, used to designate the color Green.

Usage
Green

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Green:
Plot1(Open);
SetPlotColor(1,Green);

© 2009 TS Support, LLC


392 MultiCharts 5.5 User Guide

6.5.5.17 LegacyColorToRGB

LegacyColorToRGB
Returns an RGB color number that corresponds to the specified legacy color value; the number
ranges from 0 to 16777215.
Usage
LegacyColorToRGB(LegacyColorValue)
Where: LegacyColorValue - a legacy color value from 1 to 16

Example
Assign a value, representing the color 4 (Green) under the legacy color scheme, to Value1 (Value1
will be assigned a value of 65280):
Value1 = LegacyColorToRGB(4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 393

6.5.5.18 LightGray

LightGray
Constant, used to designate the color LightGray.

Usage
LightGray

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color LightGray:
Plot1(Open);
SetPlotColor(1,LightGray);

© 2009 TS Support, LLC


394 MultiCharts 5.5 User Guide

6.5.5.19 Magenta

Magenta
Constant, used to designate the color Magenta.

Usage
Magenta

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Magenta:
Plot1(Open);
SetPlotColor(1,Magenta);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 395

6.5.5.20 Red

Red
Constant, used to designate the color Red.

Usage
Red

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Red:
Plot1(Open);
SetPlotColor(1,Red);

© 2009 TS Support, LLC


396 MultiCharts 5.5 User Guide

6.5.5.21 RGB

RGB
Returns an RGB color number that corresponds to the specified combination of red, green, and blue
component color values; the number ranges from 0 to 16777215 and represents one of 16 M colors.
Usage
RGB (Red,Green,Blue)
Where: Red – a numerical value from 0 to 255, specifying the Red component of the RGB color
Green – a numerical value from 0 to 255, specifying the Green component of the RGB color
Blue – a numerical value from 0 to 255, specifying the Blue component of the RGB color
Example
Create an Orange color plot using the RGB color combination:
Plot1(Open);
SetPlotColor(1,RGB(224,160,32));

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 397

6.5.5.22 RGBToLegacyColor

RGBToLegacyColor
Returns the legacy color value that most closely matches the specified RGB color number; the value
ranges from 0 to 16.
Usage
RGBToLegacyColor(RGBColorValue)
Where: RGBColorValue - an RGB color number from 0 to 16777215
Example
Assign a value, representing the color 65280 (Green) under the RGB color scheme, to Value1
(Value1 will be assigned a value of 4):
Value1=RGBToLegacyColor(65280);

© 2009 TS Support, LLC


398 MultiCharts 5.5 User Guide

6.5.5.23 White

White
Constant, used to designate the color White.

Usage
White

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color White:
Plot1(Open);
SetPlotColor(1,White);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 399

6.5.5.24 Yellow

Yellow
Constant, used to designate the color Yellow.

Usage
Yellow

Notes
The base 17 colors can be designated by constants.
Example
Create a plot using the color Yellow:
Plot1(Open);
SetPlotColor(1,Yellow);

© 2009 TS Support, LLC


400 MultiCharts 5.5 User Guide

6.5.6 Comparison and Loops


6.5.6.1 Above

Above
Used in combination with Cross 404 to specify the direction of the cross.
Above specifies an upward (lesser to a greater value) direction.
The plot of A is defined as having crossed Above the plot of B if the value of A is greater than the
value of B and one of the following is true:
a) The value of A was less than the value of B on the bar immediately preceding the current bar
or
b) The values of A and B were equal for a consecutive sequence of one or more bars immediately
preceding the current bar and the value of A was less than the value of B on the bar immediately
preceding this sequence of bars.

For more information see Cross 404 .

Usage
E1 Cross Above E2
or:
Plot1 Cross Above Plot2
Where: E - a numerical expression

Example
Trigger an alert on the bar where the Close price crosses above 1350.00:
Plot1(Close);
If Plot1 Cross Above 1350.50 Then
Alert("Price has crossed above 1350.00");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 401

6.5.6.2 And

And
A logical (Boolean) operator that returns True only if both of its operands are true. Logical operators
are used in logical (Boolean) expressions that operate with true/false values.
Usage
E1 And E2
Where: E - true/false expressions

Example
2=1 And 2=2 will return a value of False
True And True And True will return a value of True

© 2009 TS Support, LLC


402 MultiCharts 5.5 User Guide

6.5.6.3 Begin

Begin
Used in combination with End 408 to group instructions for conditional execution; a Begin must
always be followed by an End.
Begin and End can be used with Then, Else, For, and While conditional statements.
Begin should not be followed by a semicolon (;), code lines within an instruction group should end
with a semicolon (;), and only the last instance of End within the same conditional execution
statement should be followed by a semicolon (;).

Usage
CS Begin
I1;
I2;
I3;
End;
Where: CS - conditional statement
I - conditional instructions
Example
If UpTrend is true then buy, otherwise sell short:

If UpTrend Then Begin


Buy Next Bar Market;
End
Else Begin
SellShort Next Bar Market;
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 403

6.5.6.4 Below

Below
Used in combination with Cross 404 to specify the direction of the cross.
Below specifies a downward (greater to a lesser value) direction.
The plot of A is defined as having crossed Below the plot of B if the value of A is less than the value
of B and one of the following is true:
a) The value of A was more than the value of B on the bar immediately preceding the current bar,
or
b) The values of A and B were equal for a consecutive sequence of one or more bars immediately
preceding the current bar and the value of A was more than the value of B on the bar immediately
preceding this sequence of bars.

For more information see Cross 404 .

Usage
E1 Cross Below E2
or:
Plot1 Cross Below Plot2
Where: E - a numerical expression

Example
Trigger an alert on the bar where the Close price crosses below 1350.00:
Plot1(Close);
If Plot1 Cross Below 1350.50 Then
Alert("Price has crossed below 1350.00");

© 2009 TS Support, LLC


404 MultiCharts 5.5 User Guide

6.5.6.5 Cross

Cross
Returns a value of True if, on the current bar, the plot of a numerical expression A crossed the plot
of a numerical expression B in the specified direction.
Above, Over, Below, or Under parameters specify the direction of the cross; Above and Over are
transposable and specify an upward (lesser to a greater value) direction, and Below and Under are
transposable and specify a downward (greater to a lesser value) direction.

The plot of A is defined as having crossed Above or Over the plot of B if the value of A is greater
than the value of B and one of the following is true:
a) The value of A was less than the value of B on the bar immediately preceding the current bar
or
b) The values of A and B were equal for a consecutive sequence of one or more bars immediately
preceding the current bar and the value of A was less than the value of B on the bar immediately
preceding this sequence of bars.

The plot of A is defined as having crossed Below or Under the plot of B if the value of A is less than
the value of B and one of the following is true:
a) The value of A was more than the value of B on the bar immediately preceding the current bar,
or
b) The values of A and B were equal for a consecutive sequence of one or more bars immediately
preceding the current bar and the value of A was more than the value of B on the bar immediately
preceding this sequence of bars.
Usage
E1 Cross Direction E2
or:
Plot1 Cross Direction Plot2
Where: E - a numerical expression
Direction - a required parameter; specifies the direction of the cross

Example
Trigger an alert on the bar where the Close price crosses above 1350.00:
Plot1(Close);
If Plot1 Cross Above 1350.50 Then
Alert("Price has crossed above 1350.00");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 405

6.5.6.6 Crosses

Crosses
Same as Cross 404

© 2009 TS Support, LLC


406 MultiCharts 5.5 User Guide

6.5.6.7 Downto

DownTo
Used in combination with For 410 to form a loop statement that will execute a set of instructions
repeatedly until the loop count reaches the specified final value.
DownTo specifies that the value of the counter variable is to be decreased by one on the completion
of each loop.
For more information see For 410 .

Usage
For Counter=IValue DownTo FValue Begin
I1;
I2;
End;
Where: Counter - a numerical variable used store the loop count
IValue - a numerical expression specifying the initial counter value
FValue - a numerical expression specifying the final counter value
Example
Add the high prices of the last 10 bars to the HighPriceSum variable:
For BarBackNo=9 DownTo 0 Begin
HighPriceSum=HighPriceSum+High[BarBackNo];
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 407

6.5.6.8 Else

Else
Used in combination with If 411 and Then 415 to form a conditional statement that executes specific
instructions if a logical expression is false.
The conditional execution statement must contain both If and Then in addition to Else.
For more information see If 411 .

Usage
If E Then I1 Else I2
Where: E - a true/false expression
I - conditional instructions

Example
If UpTrend is true then buy and if UpTrend is false then sell short:
If UpTrend Then Buy Next Bar Market Else SellShort Next Bar Market;

© 2009 TS Support, LLC


408 MultiCharts 5.5 User Guide

6.5.6.9 End

End
Used in combination with Begin to group instructions for conditional execution; an End must always
be preceded by a Begin. Begin and End can be used with Then, Else, For, and While
conditional statements.
Only the last instance of End within the same conditional execution statement should be followed by
a semicolon (;).

Usage
CS Begin
I1;
I2;
I3;
End;
Where: CS - conditional statement
I - conditional instructions
Example
If UpTrend is true then buy, otherwise sell short:
If UpTrend Then Begin
Buy Next Bar Market;
End
Else Begin
SellShort Next Bar Market;
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 409

6.5.6.10 False

False
A logical (Boolean) value. Logical values are used in logical (Boolean) expressions and for true/false
inputs.
Usage
False

Example
False And True will return a value of False
2=1 will return a value of False

Declare LogicalVar as a true/false variable with the initial value of false:


Variable:LogicalVar(False);

Declare Overnight as a true/false input with the default value of false:


Input:Overnight(False);

© 2009 TS Support, LLC


410 MultiCharts 5.5 User Guide

6.5.6.11 For

For
Used in combination with To or DownTo to form a loop statement that will execute a set of
instructions repeatedly until the loop count reaches the specified final value.
The loop statement specifies a numerical variable that holds the loop count, as well as initial and final
counter values. To specifies that the value of the counter variable is to be increased by one on the
completion of each loop, while DownTo specifies that the value of the counter variable is to be
decreased by one on the completion of each loop.
The use of Begin and End statements is required to group the instructions for execution within the
loop; a Begin must always be followed by an End.
Begin should not be followed by a semicolon (;), code lines within an instruction group should end
with a semicolon (;), and End should be followed by a semicolon (;).

Usage
For Counter=IValue To FValue Begin
I1;
I2;
End;
or:
For Counter=IValue DownTo FValue Begin
I1;
I2;
End;
Where: Counter - a numerical variable used store the loop count
IValue - a numerical expression specifying the initial counter value
FValue - a numerical expression specifying the final counter value
Example
Add the high prices of the last 10 bars to the HighPriceSum variable:
For BarBackNo=0 To 9 Begin
HighPriceSum=HighPriceSum+High[BarBackNo];
End;

Add the high prices of the last 10 bars to the HighPriceSum variable: For BarBackNo=9 DownTo
0 Begin
HighPriceSum=HighPriceSum+High[BarBackNo];
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 411

6.5.6.12 If

If
Used in combination with Then to form a conditional statement that executes specific instructions if a
logical expression is true, and with Else to form a conditional statement that executes specific
instructions if a logical expression is false.
The conditional execution statement must contain both If and Then; Else is optional.
Begin and End statements are used to group instructions for conditional execution; a Begin must
always be followed by an End.
Begin should not be followed by a semicolon (;), code lines within an instruction group should end
with a semicolon (;), and only the last instance of End within the same conditional execution
statement should be followed by a semicolon (;).

Usage
If E Then I1 Else I2
or:
If E Then Begin
I1;
I2;
End
Else Begin
I3;
I4;
End;
Where: E - a true/false expression
I - conditional instructions
Example
If UpTrend is false then sell:
If UpTrend=False Then Sell Next Bar Market;

If UpTrend is true then buy, otherwise sell short:


If UpTrend Then Buy Next Bar Market Else SellShort Next Bar Market;

If UpTrend is true then buy, otherwise sell short:


If UpTrend Then Begin
Buy Next Bar Market;
End
Else Begin
SellShort Next Bar Market;
End;

© 2009 TS Support, LLC


412 MultiCharts 5.5 User Guide

6.5.6.13 Not

Not
Reserved for future use

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 413

6.5.6.14 Or

Or
A logical (Boolean) operator that returns True if one or both of its operands are true. Logical
operators are used in logical (Boolean) expressions that operate with true/false values.
Usage
E1 Or E2
Where: E - true/false expressions
Example
2=1 Or 2>2 will return a value of False
True Or False Or False will return a value of True

© 2009 TS Support, LLC


414 MultiCharts 5.5 User Guide

6.5.6.15 Over

Over
Same as Above 400

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 415

6.5.6.16 Then

Then
Used in combination with If to form a conditional statement that executes specific instructions if a
logical expression is true.
For more information see If 411 .

Usage
If E Then I
Where: E - a true/false expression
I - conditional instructions
Example
If UpTrend is false then sell:
If UpTrend=False Then Sell Next Bar Market;

© 2009 TS Support, LLC


416 MultiCharts 5.5 User Guide

6.5.6.17 To

To
Used in combination with For to form a loop statement that will execute a set of instructions
repeatedly until the loop count reaches the specified final value.
To specifies that the value of the counter variable is to be increased by one on the completion of
each loop.
For more information see For 410 .

Usage
For Counter=IValue To FValue Begin
I1;
I2;
End;
Where: Counter - a numerical variable used store the loop count
IValue - a numerical expression specifying the initial counter value
FValue - a numerical expression specifying the final counter value
Example
Add the high prices of the last 10 bars to the HighPriceSum variable:
For BarBackNo=0 To 9 Begin
HighPriceSum=HighPriceSum+High[BarBackNo];
End;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 417

6.5.6.18 True

True
A logical (Boolean) value. Logical values are used in logical (Boolean) expressions and for true/false
inputs.
Usage
True

Example
True Or False will return a value of True
2=2 will return a value of True

Declare LogicalVar as a true/false variable with the initial value of true:


Variable:LogicalVar(True);

Declare Overnight as a true/false input with the default value of true:


Input:Overnight(True);

© 2009 TS Support, LLC


418 MultiCharts 5.5 User Guide

6.5.6.19 Under

Under
Same as Below 403

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 419

6.5.6.20 While

While
Used in combination with Begin and End to form a conditional loop statement that will execute a set
of instructions repeatedly as long as a logical expression is true. If the logical expression is not true,
the instructions will not be executed.
Begin and End statements are used to group instructions for conditional execution; a Begin must
always be followed by an End.
Begin should not be followed by a semicolon (;), code lines within an instruction group should end
with a semicolon (;), and End should be followed by a semicolon (;).

Usage
While E Begin
I1;
I2;
I3;
End;
Where: E - a true/false expression
I - conditional instructions
Example
Add the high prices of the last 10 bars to the HighPriceSum variable:
BarBackNo=0;
While BarBackNo<10 Begin
HighPriceSum=HighPriceSum+High[BarBackNo];
BarBackNo=BarBackNo+1;
End;

© 2009 TS Support, LLC


420 MultiCharts 5.5 User Guide

6.5.7 Data Information/General


6.5.7.1 Ago

Ago
Used in combination with Bar 421 or Bars 422 and a numerical expression to reference the bar a
specified number of bars back from the current bar.
Bars Ago can also be specified by using the bar offset notation that consists of a numerical
expression enclosed in square brackets.
Usage
N Bars Ago
or:
[N]
Where: N - a numerical expression specifying the number of bars back to reference

Example
Plot the closing price of the previous bar:
Plot1(Close Of 1 Bar Ago, "Previous bar's close");

Plot the closing price of two bars ago:


Plot1(Close[2], "Close 2 bars ago");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 421

6.5.7.2 Bar

Bar
Used in combination with This 459 , Next 449 , or Ago 420 to reference a specific bar.
Usage
Bar

Example
Close Of 1 Bar Ago will return the closing price of the previous bar

Buy a user-set number of shares on close of this bar:


Buy This Bar On Close;

Buy a user-set number of shares on open of next bar:


Buy Next Bar On Open;

© 2009 TS Support, LLC


422 MultiCharts 5.5 User Guide

6.5.7.3 Bars

Bars
Same as Bar 421

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 423

6.5.7.4 BarInterval

BarInterval
Returns a numerical value, indicating the number of resolution units (bar interval) of the data series
that the study is applied to.
Returns the number of Ticks, Contracts, Points, Changes, Seconds, Minutes, Hours, Days, Weeks,
Months, Quarters, or Years, depending on the chart resolution; a value of 5 will be returned for a 5-
second as well as for a 5-tick chart.

Usage
BarInterval

Example
Assign a value, indicating the number of resolution units (bar interval) of the data series that the
study is applied to, to Value1 variable:
Value1=BarInterval;

© 2009 TS Support, LLC


424 MultiCharts 5.5 User Guide

6.5.7.5 BarStatus

BarStatus
Returns a numerical value, indicating the status of the most recent tick in the current bar of the
specified data series.
A value of 0 indicates that the tick is the opening tick of the bar, 1 indicates that the tick is within the
bar, and 2 indicates that the tick is the closing tick of the bar.

Usage
BarStatus(DataNum)
Where: DataNum - a numerical expression specifying the data number of the series
If DataNum is not specified, a value for the current data series will be returned.
Example
BarStatus(1) will return a value of 2 if the current tick in the data series with the data number 1 is
the closing tick of a bar

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 425

6.5.7.6 BarType

BarType
Returns a numerical value, indicating the resolution units of the data series that the study is applied
to.

Usage
BarType

The following values are returned for each type of resolution units:
0 – Ticks (Ticks & Contracts)
1 – Intra-Day (Seconds, Minutes, & Hours)
2 – Days
3 – Weeks
4 – Months, Quarters, & Years
5 – Points & Changes
Example
Assign a value, indicating the resolution units of the data series that the study is applied to, to Value1
variable:
Value1=BarType;

© 2009 TS Support, LLC


426 MultiCharts 5.5 User Guide

6.5.7.7 BarType_ex

BarType_ex
An extended version of BarType 425 . Indicates the resolution units more specifically.
Returns a numerical value, indicating the resolution units of the data series that the study is applied
to.
Usage
BarType_ex

The following values are returned for each type of resolution units:
1 – Ticks
2 – Minutes
3 – Hours
4 – Days
5 – Weeks
6 – Months
7 – Years
8 – Volume
9 – Seconds
10 – Quarters
11 – Points
12 – Change
13 – Points (original)
Example
Assign a value, indicating the resolution units of the data series that the study is applied to, to Value1
variable:
Value1=BarType_ex;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 427

6.5.7.8 BigPointValue

BigPointValue
Returns a numerical value, indicating the currency value of a single whole unit price change for the
data series that the study is applied to.
Usage
BigPointValue

Notes
BigPointValue = PointValue 455 × PriceScale 456

Example
BigPointValue will return 1 for Google
BigPointValue will return 50 for E-mini S&P 500

© 2009 TS Support, LLC


428 MultiCharts 5.5 User Guide

6.5.7.9 C

C
Same as Close 430

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 429

6.5.7.10 Category

Category
Returns a numerical value, indicating the category (financial instrument type) of the symbol that study
is applied to.

Usage
Category
The following values are returned for each category:
0 – Future
1 – Future Option
2 – Stock
3 – Stock Option
4 – Index
5 – Currency Option
6 – Mutual Fund
7 – Money Market Fund
8 – Index Option
9 – Cash
10 – Bond
11 – Spread
12 – Forex
14 – Composite
Example
Assign a value, indicating the type of symbol that the study is applied to, to Value1 variable:
Value1=Category;

© 2009 TS Support, LLC


430 MultiCharts 5.5 User Guide

6.5.7.11 Close

Close
Returns the closing price.
Usage
Close

Example
Plot the closing price of the current bar:
Plot1(Close,"Close");

Plot the closing price of the previous bar:


Plot1(Close Of 1 Bar Ago, "Previous bar's close");

Plot the closing price of two bars ago:


Plot1(Close[2], "Close 2 bars ago");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 431

6.5.7.12 CurrentBar

CurrentBar
Returns the number of the current bar.
Each bar, subsequent to the initial number of bars specified by the Maximum Bars Back setting, is
assigned a sequential number; the initial bars specified by the setting are not numbered.
For example, if Maximum Bars Back is set to 20, the 21st bar will be assigned a number of 1.

Usage
CurrentBar

Example
CurrentBar will return the number of the current bar

© 2009 TS Support, LLC


432 MultiCharts 5.5 User Guide

6.5.7.13 D

D
Same as Date 436

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 433

6.5.7.14 DailyLimit

DailyLimit
Retained for backward compatibility.

© 2009 TS Support, LLC


434 MultiCharts 5.5 User Guide

6.5.7.15 Data

Data
Used to specify a particular data series in a multi-symbol chart; each data series in a multi-symbol
chart has a unique Data Number.
Usage
DataN
Where: N - the Data Number of the data series
Or:
Data(N)
Where: N - a numerical expression specifying the Data Number of the data series

Example
High Of Data2 will return the high price of a bar in the data series with the Data Number of 2
High Of Data(2) will return the high price of a bar in the data series with the Data Number of 2

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 435

6.5.7.16 DataCompression

DataCompression
Same as BarType 425

© 2009 TS Support, LLC


436 MultiCharts 5.5 User Guide

6.5.7.17 Date

Date
Returns a numerical value indicating the closing date of a bar. 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
Date

Example
Date will return a value of 1071030 for October 30th, 2007
Date will return a value of 990402 for April 2th, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 437

6.5.7.18 Day

Day
Retained for backward compatibility; replaced with Bar 421 .

© 2009 TS Support, LLC


438 MultiCharts 5.5 User Guide

6.5.7.19 Days

Days
Retained for backward compatibility; replaced with Bar 421 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 439

6.5.7.20 DownTicks

DownTicks
Returns the total number of Down ticks for the current bar if Build Volume On is set to Tick Count.
Returns the total Down volume for the current bar if Build Volume On is set to Trade Volume.
A down tick is a tick with the price lower then the preceding tick, and down volume is the volume
traded on down ticks.

With Build Volume On is set to Tick Count:


- the value of 1 will be returned for 1-tick charts
- the total number of Down ticks in the current bar will be returned for multi-tick, volume, and time-
based charts

With Build Volume On is set to Trade Volume:


- the Down volume of the current tick will be returned for 1-tick charts
- the total Down volume of the current bar will be returned for multi-tick, volume, and time-based
charts
Please note that most data feeds provide only a limited history of tick and volume data; storing real-
time feed data will ensure the availability of historical tick and volume data.

Usage
DownTicks

Example
Plot the number of Down ticks in the current bar (Build Volume On is set to Tick Count):
Plot1(DownTicks,"Down Ticks");

Plot the Down volume of the current bar (Build Volume On is set to Trade Volume):
Plot1(DownTicks,"Down Volume");

© 2009 TS Support, LLC


440 MultiCharts 5.5 User Guide

6.5.7.21 ExpirationDate

ExpirationDate
Returns a numerical value, indicating the expiration date of the financial instrument the study is
applied to. 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.
For example, the value returned for the date of October 30th, 2008 will be 1081030, and for April 2nd,
1999 will be 990402.
Usage
ExpirationDate
A valid expiration date will be returned for futures or options only.
Example
ExpirationDate will return a value of 1081030 for October 30th, 2008
ExpirationDate will return a value of 990402 for April 2nd, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 441

6.5.7.22 GetExchangeName

GetExchangeName
Returns a string expression containing the exchange name for the symbol that the study is applied to.
Usage
GetExchangeName

Example
GetExchangeName will return "NASD" for Google
GetExchangeName will return "CME" for E-mini S&P 500

© 2009 TS Support, LLC


442 MultiCharts 5.5 User Guide

6.5.7.23 GetSymbolName

GetSymbolName
Returns a string expression containing the name of the symbol that the study is applied to.
Usage
GetSymbolName

Example
GetSymbolName will return "GOOG" for Google

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 443

6.5.7.24 H

H
Same as High 444

© 2009 TS Support, LLC


444 MultiCharts 5.5 User Guide

6.5.7.25 High

High
Returns the high price.
Usage
High

Example
Plot the high price of the current bar:
Plot1(High,"High");

Plot the high price of the previous bar:


Plot1(High Of 1 Bar Ago,"Previous bar's high");

Plot the high price of two bars ago:


Plot1(High[2],"High 2 Bars ago");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 445

6.5.7.26 I

I
Same as OpenInt 452

© 2009 TS Support, LLC


446 MultiCharts 5.5 User Guide

6.5.7.27 L

L
Same as Low 447

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 447

6.5.7.28 Low

Low
Returns the low price.
Usage
Low

Example
Plot the low price of the current bar:
Plot1(Low,"Low");

Plot the low price of the previous bar:


Plot1(Low Of 1 Bar Ago,"Previous bar's low");

Plot the low price of two bars ago:


Plot1(Low[2],"Low 2 bars ago");

© 2009 TS Support, LLC


448 MultiCharts 5.5 User Guide

6.5.7.29 MinMove

MinMove
Returns a numerical value, indicating the minimum fractional unit price change for the data series
that the study is applied to.
Usage
MinMove

Example
MinMove will return 1 for Google
MinMove will return 25 for E-mini S&P 500
MinMove*PointValue will return the currency value, corresponding to the minimum price move of
a share or contract

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 449

6.5.7.30 Next

Next
Used in combination with Bar 421 to reference the next bar.
Usage
Next Bar

Example
Buy a user-set number of shares at Market price on open of next bar:
Buy Next Bar At Market;

© 2009 TS Support, LLC


450 MultiCharts 5.5 User Guide

6.5.7.31 O

O
Same as Open 451

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 451

6.5.7.32 Open

Open
Returns a numerical value indicating the open open price.
Usage
Open

Example
Plot the open price of the current bar:
Plot1(Open,"Open");

Plot the open price of the previous bar:


Plot1(Open Of 1 Bar Ago, "Previous bar's open");

Plot the open price of two bars ago:


Plot1(Open[2],"Open 2 bars ago");

© 2009 TS Support, LLC


452 MultiCharts 5.5 User Guide

6.5.7.33 OpenInt

OpenInt
Returns the open interest of the current bar for tick and volume-based charts, and for time-based
charts with resolutions of 24 hours or less:
- the volume traded on Down ticks will be returned if Build Volume On is set to Trade Volume
- the number of Down ticks in the current bar will be returned if Build Volume On is set to Tick
Count

OpenInt is not supported for time-based charts with resolutions of 1 day or more.

Please note that most data feeds provide only a limited history of volume and tick data; storing real-
time feed data will ensure the availability of historical volume and tick data.

Usage
OpenInt

Example
Plot the open interest of the current bar:
Plot1(OpenInt,"Open interest");

Plot the open interest of the previous bar:


Plot1(OpenInt of 1 Bar Ago,"Previous bar's open interest");

Plot the open interest of two bars ago:


Plot1(OpenInt[2],"Open interest 2 bars ago");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 453

6.5.7.34 Point

Point
Returns a decimal numerical value, equivalent to a single fractional price unit for the data series that
the study is applied to.
Usage
Point

Notes
Point = 1/PriceScale 456

Example
1 Point will return 0.01 for Google
8 Point will return 0.08 for E-mini S&P 500
8 Point will return 0.25 for T-Bond Futures

© 2009 TS Support, LLC


454 MultiCharts 5.5 User Guide

6.5.7.35 Points

Points
Same as Point 453

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 455

6.5.7.36 PointValue

PointValue
Returns a numerical value, indicating the currency value of a single fractional unit price change for
the data series that the study is applied to.
Usage
PointValue

Notes
PointValue = BigPointValue 427 /PriceScale 456

Example
PointValue will return 0.01 for Google
PointValue will return 0.50 for E-mini S&P 500

© 2009 TS Support, LLC


456 MultiCharts 5.5 User Guide

6.5.7.37 PriceScale

PriceScale
Returns a numerical value, indicating the fractional unit equivalent of a single whole unit price change
for the data series that the study is applied to.
Usage
PriceScale

Notes
PriceScale = BigPointValue 427 /PointValue 455

Example
PriceScale will return 100 for Google
PriceScale will return 32 for T-Bond Futures

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 457

6.5.7.38 SessionLastBar

SessionLastBar
Returns a logical value indicating whether the current bar is the last bar of the session;
returns a value of True if the current bar is the last bar of the session, and a value of False if
the current bar is not the last bar of the session.
Usage
SessionLastBar
Example
Assign a true/false value, indicating whether the current bar is the last bar on the chart, to
LastBar variable:
Variable:LastBar(False);
LastBar=SessionLastBar;

© 2009 TS Support, LLC


458 MultiCharts 5.5 User Guide

6.5.7.39 T

T
Same as Time 461

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 459

6.5.7.40 This

This
Used in combination with Bar 421 to reference the current bar.
Usage
This Bar

Example
Buy a user-set number of shares on close of this bar:
Buy This Bar On Close;

© 2009 TS Support, LLC


460 MultiCharts 5.5 User Guide

6.5.7.41 Ticks

Ticks
Returns the total number of ticks for the current bar if Build Volume On is set to Tick Count.
Returns the total volume for the current bar if Build Volume On is set to Trade Volume.
With Build Volume On is set to Tick Count:
- the value of 1 will be returned for 1-tick charts
- the total number of ticks in the current bar will be returned for multi-tick, volume, and time-based
charts
With Build Volume On is set to Trade Volume:
- the volume of the current tick will be returned for 1-tick charts
- the total volume of the current bar will be returned for multi-tick, volume, and time-based charts
Please note that most data feeds provide only a limited history of tick and volume data; storing real-
time feed data will ensure the availability of historical tick and volume data.
Usage
Ticks

Example
Plot the number of ticks in the current bar (Build Volume On is set to Tick Count):
Plot1(Ticks,"Ticks");

Plot the volume of the current bar (Build Volume On is set to Trade Volume):
Plot1(Ticks,"Volume");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 461

6.5.7.42 Time

Time
Returns a numerical value indicating the closing time of the current bar. The time is indicated in the
24-hour HHmm format, where 1300 = 1:00 PM.

Usage
Time

Example
Time will return a value of 1015 for 10:15 AM
Time will return a value of 1545 for 3:45 PM

© 2009 TS Support, LLC


462 MultiCharts 5.5 User Guide

6.5.7.43 Time_s

Time_s
Returns a numerical value indicating the closing time, including seconds, of the current bar. The time
is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
Time_s

Example
Time_s will return a value of 101525 for 10:15:25 AM
Time_s will return a value of 154500 for 3:45:00 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 463

6.5.7.44 Today

Today
Retained for backward compatibility; replaced with This Bar 459

© 2009 TS Support, LLC


464 MultiCharts 5.5 User Guide

6.5.7.45 UpTicks

UpTicks
Returns the total number of Up ticks for the current bar if Build Volume On is set to Tick Count.
Returns the total Up volume for the current bar if Build Volume On is set to Trade Volume.
An up tick is a tick with the price higher then the preceding tick, and up volume is the volume traded
on up ticks.
With build volume on is set to tick count:
- the value of 1 will be returned for 1-tick charts
- the total number of Up ticks in the current bar will be returned for multi-tick, volume, and time-
based charts

With build volume on is set to trade volume:


- the Up volume of the current tick will be returned for 1-tick charts
- the total Up volume of the current bar will be returned for multi-tick, volume, and time-based
charts
Please note that most data feeds provide only a limited history of tick and volume data; storing real-
time feed data will ensure the availability of historical tick and volume data.
Usage
UpTicks

Example
Plot the number of Up ticks in the current bar (Build Volume On is set to Tick Count):
Plot1(UpTicks,"Up Ticks");

Plot the Up volume of the current bar (Build Volume On is set to Trade Volume):
Plot1(UpTicks,"Up Volume");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 465

6.5.7.46 V

V
Same as Volume 466

© 2009 TS Support, LLC


466 MultiCharts 5.5 User Guide

6.5.7.47 Volume

Volume
Returns the volume of the current bar.
For tick and volume-based charts, and time-based charts with resolutions of 24 hours or less:
- the volume traded on Up ticks will be returned if Build Volume On is set to Trade Volume
- the number of Up ticks in the current bar will be returned if Build Volume On is set to Tick Count
For time-based charts with resolutions of 1 day or more:
- the total volume traded will be returned if Build Volume On is set to Trade Volume
- the total number of ticks in the current bar will be returned if Build Volume On is set to Tick Count
Please note that most data feeds provide only a limited history of volume and tick data; storing real-
time feed data will ensure the availability of historical volume and tick data.
Usage
Volume

Example
Plot the volume of the current bar:
Plot1(Volume,"Volume");

Plot the volume of the previous bar:


Plot1(Volume Of 1 Bar Ago,"Previous bar's volume");

Plot the volume of two bars ago:


Plot1(Volume[2],"Volume 2 bars ago");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 467

6.5.7.48 Yesterday

Yesterday
Retained for backward compatibility.

© 2009 TS Support, LLC


468 MultiCharts 5.5 User Guide

6.5.8 Date and Time Routines


6.5.8.1 ComputerDateTime

ComputerDateTime
Returns a double-precision decimal DateTime value indicating the computer's current date and time.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
ComputerDateTime

Example
ComputerDateTime will return a value of 39448.25000000 for 6:00 AM on January 1st, 2008

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 469

6.5.8.2 CurrentDate

CurrentDate
Returns a numerical value indicating the computer's current date. 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.
For example, the value returned for the date of October 30th, 2008 will be 1081030.

Usage
CurrentDate

Example
CurrentDate will return a value of 1081030 for October 30th, 2008

© 2009 TS Support, LLC


470 MultiCharts 5.5 User Guide

6.5.8.3 CurrentTime

CurrentTime
Returns a numerical value, indicating the computer's current time. The time is indicated in the 24-
hour HHmm format, where 1300 = 1:00 PM.

Usage
CurrentTime

Example
CurrentTime will return a value of 1015 for 10:15 AM
CurrentTime will return a value of 1545 for 3:45 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 471

6.5.8.4 CurrentTime_s

CurrentTime_s
Returns a numerical value indicating the computer's current time, including seconds. The time is
indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
CurrentTime_s

Example
CurrentTime_s will return a value of 101525 for 10:15:25 AM
CurrentTime_s will return a value of 154500 for 3:45:00 PM

© 2009 TS Support, LLC


472 MultiCharts 5.5 User Guide

6.5.8.5 DateTime2ELTime

DateTime2ELTime
Returns a numerical value indicating the time from the specified DateTime value. The time is
indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DateTime2ELTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
DateTime2ELTime(39449.65625000) will return a value of 1545, indicating 3:45 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 473

6.5.8.6 DateTime2ELTime_s

DateTime2ELTime_s
Returns a numerical value indicating the time, including seconds, from the specified DateTime value.
The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DateTime2ELTime_s (DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
DateTime2ELTime_s(39449.646354167) will return a value of 153045, indicating 3:30:45 PM

© 2009 TS Support, LLC


474 MultiCharts 5.5 User Guide

6.5.8.7 DateTimeToString

DateTimeToString
Returns a string expression corresponding to the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DateTimeToString (DateTime)
Where: DateTime - a double-precision decimal DateTime value to be converted to a string
expression

Notes
The output example is in the default US regional date and time format. Date and time formats are
controlled by the Regional Options settings that can be accessed from the Control Panel of the
Windows XP operating system.
Example
DateTimeToString(39448.25000000) will return the string "1/1/2008 6:00:00 AM"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 475

6.5.8.8 DateToJulian

DateToJulian
Returns a numerical value corresponding to the Julian Date equivalent of the specified date.
The date is specified 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.
Julian Date indicates the number of days that have elapsed since January 1st, 1900.

Usage
DateToJulian(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in YYYMMdd format

Example
DateToJulian (1080101) will return a value of 39448, corresponding to the specified date of
January 1st, 2008
DateToJulian (990402) will return a value of 36252, corresponding to the specified date of April
2nd, 1999

© 2009 TS Support, LLC


476 MultiCharts 5.5 User Guide

6.5.8.9 DateToString

DateToString
Returns a string expression corresponding to the date (integer) portion of the specified DateTime
value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DateToString(DateTime)
Where: DateTime - a double-precision decimal DateTime value to be converted to a string
expression representing the date

Notes
The output example is in the default US regional date format. Date format is controlled by the
Regional Options settings that can be accessed from the Control Panel of the Windows XP operating
system.
Example
DateToString(39448.25000000) will return the string "1/1/2008".

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 477

6.5.8.10 DayFromDateTime

DayFromDateTime
Returns a numerical value indicating the day of the month for the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DayFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
DayFromDateTime(39449.25000000) will return a value of 2, indicating the 2nd day of the month
of January, 2008

© 2009 TS Support, LLC


478 MultiCharts 5.5 User Guide

6.5.8.11 DayOfMonth

DayOfMonth
Returns a numerical value, indicating the day of the month of the specified date.
The date is specified 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
DayOfMonth(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in YYYMMdd format

Example
DayOfMonth(1080101) will return a value of 1, indicating the 1st day of the month of January,
2008
DayOfMonth(990605) will return a value of 5, indicating the 5th day of the month of June, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 479

6.5.8.12 DayOfWeek

DayOfWeek
Returns a numerical value, indicating the day of the week corresponding to the specified date, where
0 = Sunday, 1 = Monday, etc.
The Date is specified 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
DayOfWeek(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in YYYMMdd format

Example
DayOfWeek(1080101) will return a value of 2, indicating Tuesday, for January 1st, 2008
DayOfWeek(990603) will return a value of 4, indicating Thursday, for June 3rd, 1999

© 2009 TS Support, LLC


480 MultiCharts 5.5 User Guide

6.5.8.13 DayOfWeekFromDateTime

DayOfWeekFromDateTime
Returns a numerical value, indicating the day of the week corresponding to the specified DateTime
value, where 0 = Sunday, 1 = Monday, etc.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
DayOfWeekFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
DayOfWeekFromDateTime(39448.25000000) will return a value of 2, indicating Tuesday, for
January 1st, 2008

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 481

6.5.8.14 EL_DateStr

El_DateStr
Returns an 8-character numerical string corresponding to the specified date. The string is in the
yyyyMMdd format, where yyyy is the four-digit year, MM is the month, and dd is the day of the month.

Usage
El_DateStr(dd, MM, yyyy)
Where: dd - a numerical expression specifying the day of the month
MM - a numerical expression specifying the month
yyyy - a four-digit numerical expression specifying the year

Example
El_DateStr(02,04,2008) will return the string "20080402", corresponding to the specified date of
April 2nd, 2008.

© 2009 TS Support, LLC


482 MultiCharts 5.5 User Guide

6.5.8.15 EL_DateToDateTime

El_DateToDateTime
Same as the ElDateToDateTime 485

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 483

6.5.8.16 EL_TimeToDateTime

EL_TimeToDateTime
Same as the ElTimeToDateTime 486

© 2009 TS Support, LLC


484 MultiCharts 5.5 User Guide

6.5.8.17 EL_TimeToDateTime_s

EL_TimeToDateTime_s
Same as ElTimeToDateTime_s 487

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 485

6.5.8.18 ELDateToDateTime

ELDateToDateTime
Returns the integer portion of a double-precision decimal DateTime value corresponding to the
specified EL Date.
EL Date is specified 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.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
ELDateToDateTime(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in EL YYYMMdd format

Example
ELDateToDateTime(1080101) will return a value of 39448.00000000, corresponding to the
specified date of January 1st, 2008
ELDateToDateTime(990402) will return a value of 36252.00000000, corresponding to the
specified date of April 2nd, 1999

© 2009 TS Support, LLC


486 MultiCharts 5.5 User Guide

6.5.8.19 ELTimeToDateTime

ELTimeToDateTime
Returns the fractional portion of a double-precision decimal DateTime value corresponding to the
specified time. The time is specified in the 24-hour HHmm format, where 1300 = 1:00 PM.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
ELTimeToDateTime(HHmm)
Where: HHmm - a numerical expression specifying the time

Example
ELTimeToDateTime(1015) will return a value of 0.42708333, corresponding to the specified time
of 10:15 AM
ELTimeToDateTime(1545) will return a value of 0.65625000, corresponding to the specified time
of 3:45 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 487

6.5.8.20 ELTimeToDateTime_s

ELTimeToDateTime_s
Returns the fractional portion of a double-precision decimal DateTime value corresponding to the
specified time, including seconds. The time is specified in the 24-hour HHmmss format, where
130000 = 1:00:00 PM.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
ELTimeToDateTime_s(HHmmss)
Where: HHmmss - a numerical expression specifying the time

Example
ELTimeToDateTime_s(101525) will return a value of 0.427372685, corresponding to the
specified time of 10:15:25 AM
ELTimeToDateTime_s(154500) will return a value of 0.656250000, corresponding to the
specified time of 3:45:00 PM

© 2009 TS Support, LLC


488 MultiCharts 5.5 User Guide

6.5.8.21 EncodeDate

EncodeDate
Returns the integer portion of a double-precision decimal DateTime value corresponding to the
specified date.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
EncodeDate(yy,MM,dd)
Where: yy - a numerical expression specifying the two-digit year
MM - a numerical expression specifying the month
dd - a numerical expression specifying the day of the month

Example
EncodeDate(08,01,01) will return a value of 39448.00000000, corresponding to the specified
date of January 1st, 2008

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 489

6.5.8.22 EncodeTime

EncodeTime
Returns the fractional portion of a double-precision decimal DateTime value corresponding to the
specified time.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
EncodeTime(HH,mm,ss,mmm)
Where: HH - a numerical expression specifying the hours in 24-hour format
mm - a numerical expression specifying the minutes
ss - a numerical expression specifying the seconds
mmm - a numerical expression specifying the milliseconds

Example
EncodeTime(16,29,55,500) will return a value of 0.6874479167, corresponding to the specified
time of 16:29:55.500

© 2009 TS Support, LLC


490 MultiCharts 5.5 User Guide

6.5.8.23 FormatDate

FormatDate
Returns a formated string expression corresponding to the date (integer) portion of the specified
DateTime value.
The format of the string expression, including the abbreviations and separators, is defined by the
specified format string. The format string consists of one or more elements arranged in the desired
order. Each element represents a particular part of the date in a specific format. Spaces and
separator characters to be used can be inserted within the format string.

Usage
FormatDate("FormatString", DateTime)
Parameters
FormatString - a format string, specifying the format of the output string expression
representing the date
The following elements can be used in the format string:
d Day of
month as
digits with
no leading
zero for
single-digit
days
dd Day of
month as
digits with
leading
zero for
single-digit
days
ddd Day of
week as a
three-letter
abbreviatio
n
dddd Day of
week as its
full name
M Month as
digits with
no leading
zero for
single-digit
months
MM Month as
digits with
leading
zero for
single-digit
months
MMM Month as a
three-letter
abbreviatio
n
MMMM Month as
its full
name
y Year as
last two
digits, but
with no
leading
zero for
years less

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 491

than 10
yy Year as
last two
digits, but
with
leading
zero for
years less
than 10
yyyy Year
represente
d by full
four digits
DateTime - a double-precision decimal DateTime value to be converted to a string expression
representing the date
The integer portion of the DateTime value specifies the number of days since January 1st, 1900,
and the fractional portion of the DateTime value specifies the fraction of the day since midnight.
Example
FormatDate("dddd, MMMM dd, yyyy.",39469.250) will return the string "Tuesday, January
22, 2008."
FormatDate("M/d/y",39469.250) will return the string "1/22/8"
FormatDate("dd-MM-yy",39469.250) will return the string "22-01-08"
FormatDate("Next ddd is: MMM dd",39469.250) will return the string "Next Tue is: Jan 22"

© 2009 TS Support, LLC


492 MultiCharts 5.5 User Guide

6.5.8.24 FormatTime

FormatTime
Returns a formated string expression corresponding to the time (fractional) portion of the specified
DateTime value.
The format of the string expression, including separators, is defined by the specified format string.
The format string consists of one or more elements arranged in the desired order. Each element
represents a particular unit of time in a specific format. Spaces and separator characters to be used
can be inserted within the format string.

Usage
FormatTime("FormatString", DateTime)
Parameters
FormatString - a format string, specifying the format of the output string expression
representing the time
The following elements can be used in the format string:
h Hours in
12-hour
AM/PM
format with
no leading
zero for
single-digit
hours
hh Hours in
12-hour
AM/PM
format with
leading
zero for
single-digit
hours
H Hours in
24-hour
format with
no leading
zero for
single-digit
hours
HH Hours in
24-hour
format with
leading
zero for
single-digit
hours
m Minutes
with no
leading
zero for
single-digit
minutes
mm Minutes
with
leading
zero for
single-digit
minutes
s Seconds
with no
leading
zero for
single-digit
seconds

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 493

ss Seconds
with
leading
zero for
single-digit
seconds
t One
character
AM/PM
designator
tt Multichara
cter AM/
PM
designator
DateTime - a double-precision decimal DateTime value to be converted to a string expression
representing the time
The integer portion of the DateTime value specifies the number of days since January 1st, 1900,
and the fractional portion of the DateTime value specifies the fraction of the day since midnight.
Example
FormatTime("hh:mm:ss t",39469.6674) will return the string "04:01:03 P"
FormatTime("h tt",39469.6674) will return the string "4 PM"
FormatTime("HH:mm",39469.6674) will return the string "16:01"
FormatTime("m MIN s SEC",39469.6674) will return the string "1 MIN 3 SEC"

© 2009 TS Support, LLC


494 MultiCharts 5.5 User Guide

6.5.8.25 Friday

Friday
Returns a numerical value of 5, corresponding to Friday.

Usage
Friday

Example
Friday will return a value of 5

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 495

6.5.8.26 HoursFromDateTime

HoursFromDateTime
Returns a numerical value indicating the hours from the specified DateTime value. The hours are
indicated in the 24-hour format, where 13 = 1 PM.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
HoursFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
HoursFromDateTime(39449.85000000) will return a value of 20, indicating 8 PM

© 2009 TS Support, LLC


496 MultiCharts 5.5 User Guide

6.5.8.27 IncMonth

IncMonth
Returns a numerical value corresponding to a Julian date that is after or before the specified Julian
date by a specified number of calendar months.
Julian Date indicates the number of days that have elapsed since January 1st, 1900.

Usage
IncMonth(JulianDate,M)
Where: JulianDate - a numerical expression specifying the Julian Date
M - a numerical expression specifying the number of calendar months from the specified
Julian date; if the value of M &nbspis positive, a date after the specified date will be returned; if the
value of M &nbspis negative, a date before the specified date will be returned

Example
IncMonth(39417,1) will return a value of 39448, corresponding to January 1st, 2008, one calendar
month after the specified date of December 1st, 2007
IncMonth(36252,-2) will return a value of 36193, corresponding to February 2nd, 1999, two
calendar months before the specified date of April 2nd, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 497

6.5.8.28 JulianToDate

JulianToDate
Returns a numerical value corresponding to the EL Date equivalent of the specified Julian Date.
Julian Date indicates the number of days that have elapsed since January 1st, 1900.
EL Date is 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
JulianToDate(JulianDate)
Where: JulianDate - a numerical expression specifying the Julian Date
Example
JulianToDate (39448) will return a value of 1080101, corresponding to the specified date of
January 1st, 2008
JulianToDate (36252) will return a value of 990402, corresponding to the specified date of April 2
nd, 1999

© 2009 TS Support, LLC


498 MultiCharts 5.5 User Guide

6.5.8.29 LastCalcJDate

LastCalcJDate
Returns a numerical value indicating the Julian date for the last completed bar.
Julian Date indicates the number of days that have elapsed since January 1st, 1900.
Usage
LastCalcJDate

Example
LastCalcJDate will return a value of 39448 for the last bar completion date of January 1st, 2008

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 499

6.5.8.30 LastCalcMMTime

LastCalcMMTime
Returns a numerical value indicating the closing time of the last completed bar. The time is indicated
as the number of minutes that have passed since midnight.

Usage
LastCalcMMTime

Example
LastCalcMMTime will return a value of 850 for the last bar completion time of 2:10 PM

© 2009 TS Support, LLC


500 MultiCharts 5.5 User Guide

6.5.8.31 LastCalcSSTime

LastCalcSSTime
Returns a numerical value indicating the closing time of the last completed bar. The time is indicated
as the number of seconds that have passed since midnight.

Usage
LastCalcSSTime

Example
LastCalcSSTime will return a value of 51030 for the last bar completion time of 2:10:30 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 501

6.5.8.32 MillisecondsFromDateTime

MilliSecondsFromDateTime
Reserved for future use.

© 2009 TS Support, LLC


502 MultiCharts 5.5 User Guide

6.5.8.33 MinutesFromDateTime

MinutesFromDateTime
Returns a numerical value indicating the minutes from the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
MinutesFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
MinutesFromDateTime(39449.35000000) will return a value of 24, indicating 24 minutes after 8
AM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 503

6.5.8.34 Monday

Monday
Returns a numerical value of 1, corresponding to Monday.

Usage
Monday

Example
Monday will return a value of 1

© 2009 TS Support, LLC


504 MultiCharts 5.5 User Guide

6.5.8.35 Month

Month
Returns a numerical value, indicating the month of the specified EL Date.
EL Date is specified 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
Month(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in EL YYYMMdd format

Example
Month (1080101) will return a value of 1, indicating the month of January
Month (990605) will return a value of 6, indicating the month of June

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 505

6.5.8.36 MonthFromDateTime

MonthFromDateTime
Returns a numerical value indicating the month for the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
MonthFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
MonthFromDateTime (39600.25000000) will return a value of 6, indicating the month of June

© 2009 TS Support, LLC


506 MultiCharts 5.5 User Guide

6.5.8.37 Saturday

Saturday
Returns a numerical value of 6, corresponding to Saturday.

Usage
Saturday

Example
Saturday will return a value of 6

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 507

6.5.8.38 SecondsFromDateTime

SecondsFromDateTime
Returns a numerical value indicating the seconds from the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
SecondsFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
SecondsFromDateTime (39449.35440000) will return a value of 20, indicating 20 seconds from
8:30:20 AM

© 2009 TS Support, LLC


508 MultiCharts 5.5 User Guide

6.5.8.39 StringToDate

StringToDate
Returns the integer portion of a double-precision decimal DateTime value, corresponding to the
specified date. The date is specified by a string expression "MM/dd/yy"* or "MM/dd/yyyy"*, where MM
* is the month, dd* is the day, and yy or yyyy is a two-digit or four-digit year.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
StringToDate("MM/dd/yy")
or:
StringToDate("MM/dd/yyyy")
Where: MM - month*
dd - day of the month*
yy - a two-digit year
yyyy - a four-digit year

Notes
* Described usage and examples are for the default US regional date format. If the default UK
regional format is selected, the dates will be in dd/MM/yy and dd/MM/yyyy format instead. Date
format is controlled by the Regional Options settings that can be accessed from the Control Panel of
the Windows XP operating system.
Example
StringToDate("01/01/2008") will return a value of 39448.00000000, corresponding to the
specified date of January 1st, 2008
StringToDate("04/04/99") will return a value of 36254.00000000, corresponding to the
specified date of April 4th, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 509

6.5.8.40 StringToDateTime

StringToDateTime
Returns a double-precision decimal DateTime value corresponding to the specified date and time.
The date and time are specified by a string expression "MM/dd/yy hh:mm:ss tt"* or "MM/dd/yyyy hh:
mm:ss tt"*, where MM* is the month, dd* is the day, yy or yyyy is a two-digit or four-digit year, hh is
the hours in 12-hour AM/PM format, mm is the minutes, ss is the seconds, and tt is the AM/PM
designator.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
StringToDateTime("MM/dd/yy hh:mm:ss tt")
or:
StringToDateTime("MM/dd/yyyy hh:mm:ss tt")
Where: MM - month*
dd - day of the month*
yy - a two-digit year
yyyy - a four-digit year
hh - hours
mm - minutes
ss - seconds
tt - AM/PM designator

Notes
* Described usage and examples are for the default US regional date and time formats. If the default
UK regional format is selected, the dates will be in dd/MM/yy and dd/MM/yyyy format instead.
Date and time formats are controlled by the Regional Options settings that can be accessed from the
Control Panel of the Windows XP operating system.
Example
StringToDateTime("01/01/2008 08:00:00 AM") will return a value of 39448.33333333,
corresponding to 08:00:00 AM on January 1st, 2008
StringToDateTime("04/04/99 04:48:00 PM") will return a value of 36254.70000000,
corresponding to 04:48:00 PM on April 4th, 1999

© 2009 TS Support, LLC


510 MultiCharts 5.5 User Guide

6.5.8.41 StringToTime

StringToTime
Returns the fractional portion of a double-precision decimal DateTime value, corresponding to the
specified time.
The time is specified by a string expression "hh:mm:ss tt", where hh is the hours in the 12-hour AM/
PM format, mm is the minutes, ss is the seconds, and tt is the AM/PM designator.
The integer portion of the DateTime value indicates the number of days that have elapsed since
January 1st, 1900, and the fractional portion of the DateTime value indicates the fraction of the day
that has passed since midnight.

Usage
StringToTime("hh:mm:ss tt")
Where: hh - hours in the 12-hour AM/PM format
mm - minutes
ss - seconds
tt - AM/PM designator

Notes
Described usage and examples are for the default US regional time format. Time format is controlled
by the Regional Options settings that can be accessed from the Control Panel of the Windows XP
operating system.
Example
StringToTime ("08:00:00 AM") will return a value of 0.33333333
StringToTime ("04:48:00 PM") will return a value of 0.70000000

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 511

6.5.8.42 Sunday

Sunday
Returns a numerical value of 0, corresponding to Sunday.

Usage
Sunday

Example
Sunday will return a value of 0

© 2009 TS Support, LLC


512 MultiCharts 5.5 User Guide

6.5.8.43 Thursday

Thursday
Returns a numerical value of 4, corresponding to Thursday.

Usage
Thursday

Example
Thursday will return a value of 4

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 513

6.5.8.44 Time_s2Time

Time_s2Time
Returns a numerical value indicating the time in the HHmm format, corresponding to the specified
time in the HHmmss format; the seconds are truncated.
The time is returned in the 24-hour HHmm format, where 1300 = 1:00 PM, and specified in the 24-
hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
Time_s2Time(HHmmss)
Where: HHmmss - a numerical expression specifying the time

Example
Time_s2Time(101520) will return a value of 1015
Time_s2Time(154548) will return a value of 1545

© 2009 TS Support, LLC


514 MultiCharts 5.5 User Guide

6.5.8.45 Time2Time_s

Time2Time_s
Returns a numerical value indicating the time in the HHmmss format, corresponding to the specified
time in the HHmm format.
The time is returned in the 24-hour HHmmss format, where 130000 = 1:00:00 PM, and specified in
the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
Time2Time_s(HHmm)
Where: HHmm - a numerical expression specifying the time

Example
Time2Time_s(1015) will return a value of 101500
Time2Time_s(1545) will return a value of 154500

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 515

6.5.8.46 TimeToString

TimeToString
Returns a string expression corresponding to the time (fractional) portion of the specified DateTime
value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
TimeToString(DateTime)
Where: DateTime - a double-precision decimal DateTime value to be converted to a string
expression representing the time

Notes
The output example is in the default US regional time format. Time format is controlled by the
Regional Options settings that can be accessed from the Control Panel of the Windows XP operating
system.
Example
TimeToString(39448.75000000) will return the string "6:00 PM"

© 2009 TS Support, LLC


516 MultiCharts 5.5 User Guide

6.5.8.47 Tuesday

Tuesday
Returns a numerical value of 2, corresponding to Tuesday.

Usage
Tuesday

Example
Tuesday will return a value of 2

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 517

6.5.8.48 Wednesday

Wednesday
Returns a numerical value of 3, corresponding to Wednesday.

Usage
Wednesday

Example
Wednesday will return a value of 3

© 2009 TS Support, LLC


518 MultiCharts 5.5 User Guide

6.5.8.49 Year

Year
Returns a numerical value, indicating the year of the specified EL Date.
EL Date is specified 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
Year(YYYMMdd)
Where: YYYMMdd - a numerical expression, specifying the date in EL YYYMMdd format

Example
Year(1080101) will return a value of 108, indicating the year of 2008
Year(990605) will return a value of 99, indicating the year of 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 519

6.5.8.50 YearFromDateTime

YearFromDateTime
Returns a numerical value indicating the year for the specified DateTime value.
The integer portion of the DateTime value specifies the number of days since January 1st, 1900, and
the fractional portion of the DateTime value specifies the fraction of the day since midnight.

Usage
YearFromDateTime(DateTime)
Where: DateTime - a double-precision decimal DateTime value

Example
YearFromDateTime(39449.25000000) will return a value of 2008, indicating the year of 2008

© 2009 TS Support, LLC


520 MultiCharts 5.5 User Guide

6.5.9 Declaration
6.5.9.1 Array

Array
Declares one or more names as arrays, containing multiple variable data elements; specifies the
array structure, data elements type and initial value, update basis, and data number, for each of the
arrays.
Data elements type can be numerical, string, or true/false.
The number of elements in an array can be fixed or dynamic (unlimited).
In arrays with a fixed number of elements, the elements can be arranged in single or multiple
dimensions. A one-dimensional 10-element array contains 10 elements, a two-dimensional 10-
element by 10-element array contains 100 elements, a three-dimensional 10 by 10 by 10 element
array contains 1000 elements, a four-dimensional 10 by 10 by 10 by 10 element array contains
10000 elements, etc. The maximum number of array dimensions in PowerLanguage is 9.
Each element in an array is referenced by one or more index numbers, one for each of the
dimensions. Indexing starts at 0 for each of the dimensions.
Dynamic arrays (arrays with an unlimited number of elements) are one-dimensional, and are
initialized at declaration as having only one element. Declared dynamic arrays can be resized using
Array_SetMaxIndex 584 .
Elements can be manipulated individually or as a group, in all or part of an array.
Usage
Array:<IntraBarPersist>ArrayName1[D1,D2,D3,etc.](InitialValue1<,DataN>), <
IntraBarPersist>ArrayName2[D1,D2,D3,etc.](InitialValue2<,DataN>),etc.
Parameters inside the angled brackets are optional
Parameters
IntraBarPersist - an optional parameter; specifies that the value of the array elements is to
be updated on every tick
If this parameter is not specified, the value will be updated at the close of each bar.
ArrayName - an expression specifying the array name
The name can consist of letters, underscore characters, numbers, and periods. The name cannot
begin with a number or a period and is not case-sensitive.
D - a numerical expression specifying the array size in elements, starting at 0, for each of the
dimensions; a single expression specifies a one-dimensional array, two expressions specify a two-
dimensional (D1 by D2) array, three expressions specify a three-dimensional (D1 by D2 by D3)
array, etc. A dynamic array, with an unlimited number of elements, is specified by the empty
square brackets: [] and will be a one-dimensional array.
InitialValue - an expression, specifying the initial value and defining the data type for all of the
elements in the array
The value can be a numerical, string, or true/false expression; the type of the expression defines
the data type.
DataN - an optional parameter; specifies the Data Number of the data series the array is to be
tied to
If this parameter is not specified, the array will be tied to the default data series.

Example
Declare Length and SFactor as 9-element one-dimensional numerical arrays with data elements'
initial values of 0:
Array:Length[8](0),SFactor[8](0);

Declare Max_Price as a 24-element by 60-element two-dimensional numerical array, updated on


every tick, tied to the series with Data #2, and with data elements' initial values equal to the value of
Close function:
Array:IntraBarPersist Max_Price[23,59](Close,Data2);

Declare Highs2 as a dynamic numerical array with data elements' initial values of 0:

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 521

Array:Highs2[](0);

© 2009 TS Support, LLC


522 MultiCharts 5.5 User Guide

6.5.9.2 Arrays

Arrays
Same as the Array 520

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 523

6.5.9.3 Input

Input
Declares one or more names as inputs; specifies the default value and defines the input type for
each input.
Inputs can be numerical, string, or true/false. Once declared, the value of the input cannot be
modified by the study's code.

Usage
Input:InputName1(DefaultValue1), InputName2(DefaultValue2), etc.
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods. The name cannot
begin with a number or a period and is not case-sensitive.

DefaultValue - an expression specifying the default value and defining the input type
The expression can be numerical, string, or true/false; the type of the expression defines the input
type.
Example
Declare Length as a numerical input with the default value of 20:
Input:Length(20);

Declare Price as a numerical input with the default value equal to the value of Close function, and
Name as a character string input with the default value of "Last Close":
Input:Price(Close), Name("Last Close");

Declare Draw_Line as a true/false input with the default value of True:


Input:Draw_Line(True);

© 2009 TS Support, LLC


524 MultiCharts 5.5 User Guide

6.5.9.4 Inputs

Inputs
Same as the Input 523

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 525

6.5.9.5 IntraBarPersist

IntraBarPersist
Used in variable and array declaration statements, before a variable or array name, to specify that
the value of the variable or array elements are to be updated on every tick.
If IntraBarPersist is not specified, the value will be updated at the close of each bar.

Usage
Declaration:[IntraBarPersist]Name(InitialValue1)

Example
Declare Max as a numerical variable, updated on every tick, with the initial value of 100:
Variable:IntraBarPersist Max(100);

Declare Max_Price as a 24-element single-dimension numerical array, updated on every tick, and
with data elements' initial values of 0:
Array:IntraBarPersist Max_Price[23](0);

© 2009 TS Support, LLC


526 MultiCharts 5.5 User Guide

6.5.9.6 Numeric

Numeric
Used in function input declaration statements to define an input as Numerical.
Input defined as Numerical can be used both as a Numerical Simple as well as a Numerical Series
input; the value of a Simple input is constant from bar to bar and thus has no history, while the value
of a Series input may vary from bar to bar and can be referenced historically.

Usage
Input:InputName(Numeric)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Length as a Numerical function input:
Input:Length(Numeric);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 527

6.5.9.7 NumericArray

NumericArray
Used in function input declaration statements to define an input as a Numerical Array with a specified
number of dimensions.
Input defined as Numerical can be used both as a Numerical Simple as well as a Numerical Series
input; the value of a Simple input is constant from bar to bar and thus has no history, while the value
of a Series input may vary from bar to bar and can be referenced historically.

Usage
Input:InputName[M1,M2,M3,etc.](NumericArray)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.

M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare Length as a one-dimensional Numerical Array function input:
Input:Length[X](NumericArray);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare Table as a three-dimensional Numerical Array function input:


Input:Table[X,Y,Z](NumericArray);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


528 MultiCharts 5.5 User Guide

6.5.9.8 NumericArrayRef

NumericArrayRef
Used in function input declaration statements to define an input as Passed by Reference Numerical
Array with a specified number of dimensions.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName[M1,M2,M3,etc.](NumericArrayRef)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare Count as a Passed by Reference one-dimensional Numerical Array function input:
Input:Count[X](NumericArrayRef);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare Table as a Passed by Reference three-dimensional Numerical Array function input:


Input:Table[X,Y,Z](NumericArrayRef);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 529

6.5.9.9 NumericRef

NumericRef
Used in function input declaration statements to declare a Passed by Reference Numerical input.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName(NumericRef)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare BarCount as a Passed by Reference Numerical function input:
Input:BarCount(NumericRef);

© 2009 TS Support, LLC


530 MultiCharts 5.5 User Guide

6.5.9.10 NumericSeries

NumericSeries
Used in function input declaration statements to define an input as a Numerical Series.
The value of an input defined as a Series may vary from bar to bar and can be referenced
historically.

Usage
Input:InputName(NumericSeries)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Price as a Numerical Series function input:
Input:Price(NumericSeries);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 531

6.5.9.11 NumericSimple

NumericSimple
Used in function input declaration statements to define an input as Numerical Simple.
The value of an input defined as Simple is constant from bar to bar and thus has no history.

Usage
Input:InputName(NumericSimple)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Length as a Numerical Simple function input:
Input:Length(NumericSimple);

© 2009 TS Support, LLC


532 MultiCharts 5.5 User Guide

6.5.9.12 String

String
Used in function input declaration statements to define an input as String.
Input defined as String can be used both as a String Simple as well as a String Series input; the
value of a Simple input is constant from bar to bar and thus has no history, while the value of a
Series input may vary from bar to bar and can be referenced historically.

Usage
Input:InputName(String)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Name as a String function input:
Input:Name(String);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 533

6.5.9.13 StringArray

StringArray
Used in function input declaration statements to define an input as a String Array with a specified
number of dimensions.
Input defined as String can be used both as a String Simple as well as a String Series input; the
value of a Simple input is constant from bar to bar and thus has no history, while the value of a
Series input may vary from bar to bar and can be referenced historically.
Usage
Input:InputName[M1,M2,M3,etc.](StringArray)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare Messages as a one-dimensional String Array function input:
Input:Messages[X](StringArray);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare MessageTable as a three-dimensional String Array function input:


Input:MessageTable[X,Y,Z](StringArray);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


534 MultiCharts 5.5 User Guide

6.5.9.14 StringArrayRef

StringArrayRef
Used in function input declaration statements to define an input as Passed by Reference String Array
with a specified number of dimensions.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName[M1,M2,M3,etc.](StringArrayRef)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare Messages as a Passed by Reference one-dimensional String Array function input:
Input:Messages[X](StringArrayRef);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare CommentsTable as a Passed by Reference three-dimensional String Array function input:


Input:CommentsTable[X,Y,Z](StringArrayRef);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 535

6.5.9.15 StringRef

StringRef
Used in function input declaration statements to declare a Passed by Reference String input.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName(StringRef)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Message as a Passed by Reference String function input:
Input:Message(StringRef);

© 2009 TS Support, LLC


536 MultiCharts 5.5 User Guide

6.5.9.16 StringSeries

StringSeries
Used in function input declaration statements to define an input as String Series.
The value of an input defined as a Series may vary from bar to bar and can be referred to historically.

Usage
Input:InputName(StringSeries)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Messages as a String Series function input:
Input:Messages(StringSeries);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 537

6.5.9.17 StringSimple

StringSimple
Used in function input declaration statements to define an input as String Simple.
The value of an input defined as Simple is constant from bar to bar and thus has no history.

Usage
Input:InputName(StringSimple)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Name as a String Simple function input:
Input:Name(StringSimple);

© 2009 TS Support, LLC


538 MultiCharts 5.5 User Guide

6.5.9.18 TrueFalse

TrueFalse
Used in function input declaration statements to define an input as true/false.
Input defined as true/false can be used both as a true/false Simple as well as a true/false Series
input; the value of a Simple input is constant from bar to bar and thus has no history, while the value
of a Series input may vary from bar to bar and can be referenced historically.

Usage
Input:InputName(TrueFalse)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Overnight as a true/false function input:
Input:Overnight(TrueFalse);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 539

6.5.9.19 TrueFalseArray

TrueFalseArray
Used in function input declaration statements to define an input as a true/false Array with a specified
number of dimensions.
Input defined as true/false can be used both as a true/false Simple as well as a true/false Series
input; the value of a Simple input is constant from bar to bar and thus has no history, while the value
of a Series input may vary from bar to bar and can be referenced historically.

Usage
Input:InputName[M1,M2,M3,etc.](TrueFalseArray)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare UpTrend as a one-dimensional true/false Array function input:
Input:UpTrend[X](TrueFalseArray);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare FlagTable as a three-dimensional true/false Array function input:


Input:FlagTable[X,Y,Z](TrueFalseArray);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


540 MultiCharts 5.5 User Guide

6.5.9.20 TrueFalseArrayRef

TrueFalseArrayRef
Used in function input declaration statements to define an input as Passed by Reference true/false
Array with a specified number of dimensions.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName[M1,M2,M3,etc.](TrueFalseArrayRef)
Parameters
InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
M - an input variable that represents the maximum index value for each dimension of the array
passed to the function; a single input variable specifies a one-dimensional array input, two input
variables specify a two-dimensional (M1 by M2) array input, three input variables specify a three-
dimensional (M1 by M2 by M3) array input, etc.
An input will only accept an array with the specified number of dimensions.
Example
Declare Trend as a Passed by Reference one-dimensional true/false Array function input:
Input:Trend[X](TrueFalseArrayRef);
The maximum index value for the array passed to the function will be assigned to input variable X.

Declare TrendTable as a Passed by Reference three-dimensional true/false Array function input:


Input:TrendTable[X,Y,Z](TrueFalseArrayRef);
The maximum index value for each dimension of the array passed to the function will be assigned to
input variables X, Y, and Z.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 541

6.5.9.21 TrueFalseRef

TrueFalseRef
Used in function input declaration statements to declare a Passed by Reference true/false input.
Declaring an input as Passed by Reference enables the function to modify the values of variables
passed as the input.

Usage
Input:InputName(TrueFalseRef)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Flag as a Passed by Reference true/false function input:
Input:Flag(TrueFalseRef);

© 2009 TS Support, LLC


542 MultiCharts 5.5 User Guide

6.5.9.22 TrueFalseSeries

TrueFalseSeries
Used in function input declaration statements to define an input as a true/false Series.
The value of an input defined as a Series may vary from bar to bar and can be referenced
historically.

Usage
Input:InputName(TrueFalseSeries)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare UpTrend as a true/false Series function input:
Input:UpTrend(TrueFalseSeries);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 543

6.5.9.23 TrueFalseSimple

TrueFalseSimple
Used in function input declaration statements to define an input as true/false Simple.
The value of an input defined as Simple is constant from bar to bar and thus has no history.

Usage
Input:InputName(TrueFalseSimple)
Where: InputName - an expression specifying the input name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
Example
Declare Overnight as a true/false Simple function input:
Input:Overnight(TrueFalseSimple);

© 2009 TS Support, LLC


544 MultiCharts 5.5 User Guide

6.5.9.24 Var

Var
Same as the Variable 545

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 545

6.5.9.25 Variable

Variable
Declares one or more names as variables; specifies the initial value, variable type, update basis, and
data number for each variable.
Variables can be numerical, string, or true/false.

Usage
Variable:[IntraBarPersist]VariableName1(InitialValue1[,DataN]), [
IntraBarPersist]VariableName2(InitialValue2[,DataN]),etc.
Parameters inside the square brackets are optional
Parameters
IntraBarPersist - an optional parameter; specifies that the value of the variable is to be
updated on every tick
If this parameter is not specified, the value will be updated at the close of each bar.
VariableName - an expression, specifying the variable name
The name can consist of letters, underscore characters, numbers, and periods.
The name cannot begin with a number or a period and is not case-sensitive.
InitialValue - an expression, specifying the initial value and defining the variable type
The value can be a numerical, string, or true/false expression; the type of the expression defines
the variable type.
DataN - an optional parameter; specifies the Data Number of the data series the variable is to be
tied to
If this parameter is not specified, the variable will be tied to the default data series.
Example
Declare Avg. as a numerical variable with the initial value of 20:
Variable:Avg.(20);

Declare Max as a numerical variable, updated on every tick, with the initial value of 100:
Variable:IntraBarPersist Max(100);

Declare Min_Price as a numerical variable, tied to the series with Data #2, and the initial value equal
to the value of Close function:
Variable:Min_Price(Close,Data2);

Declare Overnight as a true/false variable with the initial value of False, and Name as a string
variable with the initial value of "Intra-Day":
Variable:Overnight(False),Name("Intra-Day");

© 2009 TS Support, LLC


546 MultiCharts 5.5 User Guide

6.5.9.26 Variables

Variables
Same as the Variable 545

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 547

6.5.9.27 Vars

Vars
Same as the Variable 545

© 2009 TS Support, LLC


548 MultiCharts 5.5 User Guide

6.5.10 DLL Calling


6.5.10.1 #Events

#Events
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 549

6.5.10.2 ArraySize

ArraySize
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


550 MultiCharts 5.5 User Guide

6.5.10.3 ArrayStartAddr

ArrayStartAddr
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 551

6.5.10.4 Bool

Bool
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


552 MultiCharts 5.5 User Guide

6.5.10.5 Byte

Byte
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 553

6.5.10.6 Char

Char
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


554 MultiCharts 5.5 User Guide

6.5.10.7 DefineDLLFunc

DefineDLLFunc
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 555

6.5.10.8 Double

Double
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


556 MultiCharts 5.5 User Guide

6.5.10.9 DWORD

DWORD
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 557

6.5.10.10 External

External
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


558 MultiCharts 5.5 User Guide

6.5.10.11 Float

Float
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 559

6.5.10.12 IEasyLanguageObject

iEasyLanguageObject
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


560 MultiCharts 5.5 User Guide

6.5.10.13 Int

Int
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 561

6.5.10.14 Long

Long
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


562 MultiCharts 5.5 User Guide

6.5.10.15 LPBool

LPBool
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 563

6.5.10.16 LPByte

LPByte
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


564 MultiCharts 5.5 User Guide

6.5.10.17 LPDouble

LPDouble
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 565

6.5.10.18 LPDWORD

LPDWORD
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


566 MultiCharts 5.5 User Guide

6.5.10.19 LPFloat

LPFloat
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 567

6.5.10.20 LPInt

LPInt
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


568 MultiCharts 5.5 User Guide

6.5.10.21 LPLong

LPLong
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 569

6.5.10.22 LPSTR

LPSTR
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


570 MultiCharts 5.5 User Guide

6.5.10.23 LPWORD

LPWORD
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 571

6.5.10.24 Method

Method
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


572 MultiCharts 5.5 User Guide

6.5.10.25 OnCreate

OnCreate
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 573

6.5.10.26 OnDestroy

OnDestroy
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


574 MultiCharts 5.5 User Guide

6.5.10.27 Self

Self
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 575

6.5.10.28 Unsigned

Unsigned
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


576 MultiCharts 5.5 User Guide

6.5.10.29 VarSize

VarSize
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 577

6.5.10.30 VarStartAddr

VarStartAddr
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


578 MultiCharts 5.5 User Guide

6.5.10.31 Void

Void
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 579

6.5.10.32 WORD

WORD
Supported by PowerLanguage.
A detailed description and usage examples will be presented in the documentation accompanying the
next release of MultiCharts.

© 2009 TS Support, LLC


580 MultiCharts 5.5 User Guide

6.5.11 Dynamic Arrays


6.5.11.1 Array_Compare

Array_Compare
Compares a specified range of elements of the specified one-dimensional source array, starting at
the specified source index, to the same range of elements of the specified one-dimensional
destination array, starting at the specified destination index.
Source and destination can be the same array as well as two different arrays.
For numerical arrays, the numerical values for each pair of elements are compared. For string arrays,
the ASCII values of the string characters, with the first character of the string being the most
significant, are compared for each pair of elements. For true/false arrays, the logical values of each
pair of elements are compared, with the value of true considered to be greater than the value of false.
Returns a value of 0 if each respective pair of elements compared as equal; a value of 1 if, for the
first pair that was not equal, the value in the source range was greater then the value in the
destination range; and a value of -1 if, for the first pair that was not equal, the value in the source
range was less then the value in the destination range.

Usage
Array_Compare(SourceArray,SourceIndex,DestinationArray,DestinationIndex,
NumberOfElements)
Where: SourceArray - an expression specifying the name of the source array
DestinationArray - an expression specifying the name of the destination array
SourceIndex - a numerical expression specifying the starting index for the source array
DestinationIndex - a numerical expression specifying the starting index for the
destination array
NumberOfElements - a numerical expression specifying the number of elements to
compare
Return
0 - each respective pair of elements compared as equal
1 - for the first pair compared that was not equal, the value in the source range was greater then
the value in the destination range
-1 - for the first pair compared that was not equal, the value in the source range was less then the
value in the destination range
Example
Assign a value, indicating the result of comparing two-element segments, of Array1, beginning at the
index of 4, and of Array2, beginning at the index of 6, to Value1 variable:
Value1=Array_Compare(Array1,4,Array2,6,2);

Assign a value, indicating the result of comparing two-element segments that begin at the index of 4
and at the index of 6 within the same array, to Value1 variable:
Value1=Array_Compare(Array1,4,Array1,6,2);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 581

6.5.11.2 Array_Copy

Array_Copy
Copies a specified number of elements from the specified one-dimensional source array, starting at
the specified source index; the elements are copied to the specified one-dimensional destination
array, starting at the specified destination index.
Source and destination can be the same array as well as two different arrays.

Usage
Array_Copy(SourceArray,SourceIndex,DestinationArray,DestinationIndex,
NumberOfElements)
Where: SourceArray - an expression specifying the name of the source array
DestinationArray - an expression specifying the name of the destination array
SourceIndex - a numerical expression specifying the starting index for the source array
DestinationIndex - a numerical expression specifying the starting index for the
destination array
NumberOfElements - a numerical expression specifying the number of elements to copy

Example
Copy from Array1 the two-element segment beginning at the index of 4, to the Array2, beginning at
the index of 6:
Array_Copy(Array1,4,Array2,6,2);

Copy from Array1 the two-element segment beginning at the index of 4, to the same array, beginning
at the index of 6:
Array_Copy(Array1,4,Array1,6,2);

© 2009 TS Support, LLC


582 MultiCharts 5.5 User Guide

6.5.11.3 Array_GetMaxIndex

Array_GetMaxIndex
Returns a numerical value indicating the maximum index of a one-dimensional array.
Array indexes start at 0, and array size is equal to the value of the maximum index plus one.

Usage
Array_GetMaxIndex(ArrayName)
Where: ArrayName - an expression specifying the name of an array

Example
Assign a value that indicates the maximum index of Array1 to the MaxIndex variable:
MaxIndex=Array_GetMaxIndex(Array1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 583

6.5.11.4 Array_GetType

Array_GetType
Returns a numerical value indicating the type of the specified array.
Usage
Array_GetType(ArrayName)
Where: ArrayName - an expression specifying the name of an array
Return
2 - a true/false array
3 - a string array
7 - a double-precision numerical array

Example
Assign a value, indicating the type of Array1, to Value1 variable:
Value1=Array_GetType(Array1);

© 2009 TS Support, LLC


584 MultiCharts 5.5 User Guide

6.5.11.5 Array_SetMaxIndex

Array_SetMaxIndex
Resizes a declared dynamic array to a specified number of elements; returns a value of True to
indicate a successful resize.
An array can be resized to a larger or to a smaller number of elements; any elements added to an
array will be assigned the initial value that was specified at array declaration.
Usage
Array_SetMaxIndex(ArrayName,MaxIndex)
Where: ArrayName - an expression specifying the name of an array to be resized
MaxIndex - a numerical expression specifying the maximum index of the array*
*Array indexes start at 0, and array size is equal to the value of MaxIndex plus one.
Return
True - resize sucessfull
False - resize failed

Example
Resize the dynamic array Array1 to 10 elements by specifying a maximum index value of 9:
Array_SetMaxIndex(Array1,9);

Assign a value that indicates a status of the resize of Array1 to the ResizeReport variable:
ResizeReport=Array_SetMaxIndex(Array1,9);
A value of True will indicate a successful resize, and a value of False will indicate a failed resize.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 585

6.5.11.6 Array_SetValRange

Array_SetValRange
Assigns a specified value to each element within a specified range, of the specified one-dimensional
array.
Usage
Array_SetValRange(ArrayName,StartIndex,EndIndex,Value)
Where: ArrayName - an expression specifying the name of an array
StartIndex - a numerical expression specifying the starting index for the range
EndIndex - a numerical expression specifying the ending index for the range
Value - a value to be assigned to each element within the range

Example
Assign a value of True to each element within a segment, beginning at index 4 and ending at index 6,
of Array1:
Array_SetValRange(Array1,4,6,True);

© 2009 TS Support, LLC


586 MultiCharts 5.5 User Guide

6.5.11.7 Array_Sort

Array_Sort
Sorts, in either ascending or descending order, the range of elements, specified by the starting and
ending indexes, of the specified one-dimensional array.
For numerical arrays, the elements are sorted according to the values they contain. For string arrays,
the elements are sorted according to the ASCII values of the string characters, with the first character
of the string being the most significant. For sorting true/false array elements, the value of true is
considered to be greater than the value of false.

Usage
Array_Sort(ArrayName,StartIndex,EndIndex,SortOrder)
Where: ArrayName - an expression specifying the name of an array
StartIndex - a numerical expression specifying the starting index for the range
EndIndex - a numerical expression specifying the ending index for the range
SortOrder - a true/false value specifying the sort order; true specifies ascending order, and
false specifies descending order
Example
Sort the elements in the segment of Array1 that begins at the index of 4 and ends at the index of 6, in
ascending order:
Array_Sort(Array1,4,6,True);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 587

6.5.11.8 Array_Sum

Array_Sum
Returns a sum of the values contained in a range of elements, specified by the starting and ending
indexes, of the specified one-dimensional array; returns the number of true elements if the array
contains true/false values; returns a value of 0 if the array contains string values.
Usage
Array_Sum(ArrayName,StartIndex,EndIndex)
Where: ArrayName - an expression specifying the name of an array
StartIndex - a numerical expression specifying the starting index for the range
EndIndex - a numerical expression specifying the ending index for the range

Example
Assign a value, indicating a sum of the values contained in the segment of Array1 that begins at the
index of 4 and ends at the index of 6, to Value1 variable:
Value1=Array_Sum(Array1,4,6);

© 2009 TS Support, LLC


588 MultiCharts 5.5 User Guide

6.5.11.9 Fill_array

Fill_Array
Assigns a specified value to each element of the specified one-dimensional array.

Usage
Fill_Array(ArrayName,Value)
Where: ArrayName - an expression specifying the name of an array
Value - a value to be assigned to each element of the array

Example
Assign a value of True to each element of Array1:
Fill_Array(Array1,True);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 589

6.5.12 Environment Information


6.5.12.1 BaseDataNumber

BaseDataNumber
Returns a numerical value indicating the Data Number of the series that the study is applied to.

Usage
BaseDataNumber

Example
Assign a value, indicating the Data Number of the series that the study is applied to, to Value1
variable:
Value1=BaseDataNumber;

© 2009 TS Support, LLC


590 MultiCharts 5.5 User Guide

6.5.12.2 CurrentDataNumber

CurrentDataNumber
Returns a numerical value indicating the Data Number of the series that the function is being
calculated on.

Usage
CurrentDataNumber

Example
Assign a value, indicating the Data Number of the series that the function is being calculated on, to
Value1 variable:
Value1=CurrentDataNumber;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 591

6.5.12.3 ExecOffset

ExecOffset
Returns a numerical value indicating the function execution offset in bars.

Usage
ExecOffset

Example
Assign a value, indicating the function execution offset, to Value1 variable:
Value1=ExecOffset;

© 2009 TS Support, LLC


592 MultiCharts 5.5 User Guide

6.5.12.4 GetCountry

GetCountry
Returns the locale name, corresponding to the Standards and formats setting selected in the
Regional Options settings of the Windows XP Control Panel.
Usage
GetCountry

Example
GetCountry will return a string expression "United States" for the setting "English (United States)"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 593

6.5.12.5 GetCurrency

GetCurrency
Returns the currency symbol selected in the Regional Options settings of the Windows XP Control
Panel.
Usage
GetCurrency

Example
GetCurrency will return the "$" symbol for the US Dollar

© 2009 TS Support, LLC


594 MultiCharts 5.5 User Guide

6.5.12.6 GetUserID

GetUserID
Returns a unique identification number (UserID) for the PC that the study is being run on.
UserID number is used for study protection.

Usage
GetUserID

Example
Assign a value, indicating the UserID, to Value1 variable:
Value1=GetUserID;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 595

6.5.12.7 MaxBarsBack

MaxBarsBack
Returns a numerical value indicating the Maximum Bars Back setting for the study.
All studies based on past data use a certain number of bars for their calculations. The number of
bars is called Maximum number of bars a study will reference, or Maximum Bars Back.

Usage
MaxBarsBack

Example
Assign a value, indicating the Maximum Bars Back setting for the study, to Value1 variable:
Value1=MaxBarsBack;

© 2009 TS Support, LLC


596 MultiCharts 5.5 User Guide

6.5.12.8 MaxBarsForward

MaxBarsForward
Returns a numerical value indicating the size, in bars, of the right margin on the chart.
Right margin is used by the studies that visualize the predicted price movement.

Usage
MaxBarsForward

Example
Assign a value, indicating the size of the right margin of the chart, to Value1 variable:
Value1=MaxBarsForward;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 597

6.5.13 Execution Control


6.5.13.1 Abort

Abort
Generates a run-time error and aborts the execution of the study.

Usage
Abort

Example
Abort the study’s execution:
Abort;

© 2009 TS Support, LLC


598 MultiCharts 5.5 User Guide

6.5.13.2 fpCExact

fpcExactAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 0.00; can be substituted by a numerical value of 5.
Usage
SetFPCompareAccuracy(fpcExactAccuracy)
or:
SetFPCompareAccuracy(5)

Example
Set the floating point compare accuracy to Exact:
SetFPCompareAccuracy(fpcExactAccuracy);

Set the floating point compare accuracy to Exact:


SetFPCompareAccuracy(5);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 599

6.5.13.3 fpCHighAccuracy

fpcHighAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 2.2204460492503131e-14; can be substituted by a numerical value of 3.
Usage
SetFPCompareAccuracy(fpcHighAccuracy)
or:
SetFPCompareAccuracy(3)

Example
Set the floating point compare accuracy to High:
SetFPCompareAccuracy(fpcHighAccuracy);

Set the floating point compare accuracy to High:


SetFPCompareAccuracy(3);

© 2009 TS Support, LLC


600 MultiCharts 5.5 User Guide

6.5.13.4 fpCLowAccuracy

fpcLowAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 2.2204460492503131e-10; can be substituted by a numerical value of 1.
Usage
SetFPCompareAccuracy(fpcLowAccuracy)
or:
SetFPCompareAccuracy(1)

Example
Set the floating point compare accuracy to Low:
SetFPCompareAccuracy(fpcLowAccuracy);

Set the floating point compare accuracy to Low:


SetFPCompareAccuracy(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 601

6.5.13.5 fpCMedAccuracy

fpcMedAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 2.2204460492503131e-12; can be substituted by a numerical value of 2.
Usage
SetFPCompareAccuracy(fpcMedAccuracy)
or:
SetFPCompareAccuracy(2)

Example
Set the floating point compare accuracy to Medium:
SetFPCompareAccuracy(fpcMedAccuracy);

Set the floating point compare accuracy to Medium:


SetFPCompareAccuracy(2);

© 2009 TS Support, LLC


602 MultiCharts 5.5 User Guide

6.5.13.6 fpCVeryHighAccuracy

fpcVeryHighAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 2.2204460492503131e-16; can be substituted by a numerical value of 4.
Usage
SetFPCompareAccuracy(fpcVeryHighAccuracy)
or:
SetFPCompareAccuracy(4)

Example
Set the floating point compare accuracy to Very High:
SetFPCompareAccuracy(fpcVeryHighAccuracy);

Set the floating point compare accuracy to Very High:


SetFPCompareAccuracy(4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 603

6.5.13.7 fpCVeryLowAccuracy

fpcVeryLowAccuracy
Constant, used in combination with SetFPCompareAccuracy 605 to designate the floating point
compare tolerance value of 2.2204460492503131e-8; can be substituted by a numerical value of 0.
Usage
SetFPCompareAccuracy(fpcVeryLowAccuracy)
or:
SetFPCompareAccuracy(0)

Example
Set the floating point compare accuracy to Very Low:
SetFPCompareAccuracy(fpcVeryLowAccuracy);

Set the floating point compare accuracy to Very Low:


SetFPCompareAccuracy(0);

© 2009 TS Support, LLC


604 MultiCharts 5.5 User Guide

6.5.13.8 RaiseRuntimeError

RaiseRunTimeError
Generates a run-time error and displays the specified error message.
A run-time error will cause the execution of the study to be aborted.
Usage
RaiseRunTimeError("Message")
Where: Message - a string expression specifying the error message

Example
Generate a run-time error and display the message "Strategy Stopped":
RaiseRunTimeError("Strategy Stopped");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 605

6.5.13.9 SetFPCompareAccuracy

SetFPCompareAccuracy
Sets floating point compare accuracy by specifying the tolerance value to be used when floating point
values are compared.
Two floating point values will be considered equal if "abs(Value1 – Value2) <= ε", where ε is the
tolerance value.
By default, the tolerance value is 2.2204460492503131e-012.

Usage
SetFPCompareAccuracy(Accuracy)
Parameters
Accuracy - an FPC constant or a numerical expression specifying a tolerance value as follows:
fpcV 0 02.220
eryLo 446049
wAccu 250313
racy 1e-8
fpcL 1 12.220
owAcc 446049
uracy 250313
1e-10
fpcM 2 22.220
edAcc 446049
uracy 250313
1e-12
(Defaul
t)
fpcH 3 32.220
ighAc 446049
curac 250313
y 1e-14
fpcV 4 42.220
eryHi 446049
ghAcc 250313
uracy 1e-16

fpcE 5 50.00
xact
Example
Set floating point compare accuracy to High:
SetFPCompareAccuracy(3);

Set floating point compare accuracy to High:


SetFPCompareAccuracy(fpcHighAccuracy);

© 2009 TS Support, LLC


606 MultiCharts 5.5 User Guide

6.5.14 Math and Trig


6.5.14.1 AbsValue

AbsValue
Returns the absolute value of the specified numerical expression.
Usage
AbsValue(Value)
Where: Value - a numerical expression

Example
AbsValue(45.275) will return a value of 45.275
AbsValue(-1385) will return a value of 1385

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 607

6.5.14.2 Arctangent

ArcTangent
Returns the arctangent value, in degrees, of the specified numerical expression.
Usage
ArcTangent(Value)
Where: Value - a numerical expression

Example
ArcTangent(2.318) will return a value of 66.66

© 2009 TS Support, LLC


608 MultiCharts 5.5 User Guide

6.5.14.3 AvgList

AvgList
Returns the average value of the specified numerical expressions.
Usage
AvgList(Value1,Value2,Value3, etc.)
Where: Value1, Value2, Value3, etc. - numerical expressions

Example
AvgList(45,40,0,35) will return a value of 30
AvgList(-40,20) will return a value of -10

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 609

6.5.14.4 Ceiling

Ceiling
Returns the smallest integer greater than or equal to the specified numerical expression.
Usage
Ceiling(Value)
Where: Value - a numerical expression

Example
Ceiling(9.1) will return a value of 10
Ceiling(-2.85) will return a value of -2

© 2009 TS Support, LLC


610 MultiCharts 5.5 User Guide

6.5.14.5 Cosine

Cosine
Returns the cosine value for an angle of the specified number of degrees.
Usage
Cosine(Value)
Where: Value - a numerical expression, specifying the number of degrees in the angle

Example
Cosine(60) will return a value of 0.5

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 611

6.5.14.6 Cotangent

Cotangent
Returns the cotangent value for an angle of the specified number of degrees.
Usage
Cotangent(Value)
Where: Value - a numerical expression, specifying the number of degrees in the angle

Example
Cotangent(30) will return a value of 1.732

© 2009 TS Support, LLC


612 MultiCharts 5.5 User Guide

6.5.14.7 ExpValue

ExpValue
Returns the exponential value of the specified numerical expression.
Usage
ExpValue(Value)
Where: Value - a numerical expression

Example
ExpValue(2.3) will return a value of 9.0250

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 613

6.5.14.8 Floor

Floor
Returns the greatest integer less than or equal to the specified numerical expression.
Usage
Floor(Value)
Where: Value - a numerical expression

Example
Floor(9.1) will return a value of 9
Floor(-2.85) will return a value of -3

© 2009 TS Support, LLC


614 MultiCharts 5.5 User Guide

6.5.14.9 FracPortion

FracPortion
Returns the fractional portion of the specified numerical expression while retaing the sign.
Usage
FracPortion(Value)
Where: Value - a numerical expression

Example
FracPortion(-45.275) will return a value of -0.275
FracPortion(1385) will return a value of 0

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 615

6.5.14.10 IntPortion

IntPortion
Returns the integer portion of the specified numerical expression while retaing the sign.
Usage
IntPortion(Value)
Where: Value - a numerical expression

Example
IntPortion(-45.75) will return a value of -45
IntPortion(1385) will return a value of 1385

© 2009 TS Support, LLC


616 MultiCharts 5.5 User Guide

6.5.14.11 Log

Log
Returns the natural logarithm of the specified numerical expression.
Usage
Log(Value)
Where: Value - a numerical expression

Example
Log(25) will return a value of 3.2189

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 617

6.5.14.12 MaxList

MaxList
Returns the value of the greatest of the specified numerical expressions.
Usage
MaxList(Value1,Value2,Value3, etc.)
Where: Value1, Value2, Value3, etc. - numerical expressions

Example
MaxList(-5,0,12,7) will return a value of 12

© 2009 TS Support, LLC


618 MultiCharts 5.5 User Guide

6.5.14.13 MaxList2

MaxList2
Returns the second highest value of the specified numerical expressions.
Usage
MaxList2(Value1,Value2,Value3, etc.)
Where: Value1, Value2, Value3, etc. - numerical expressions

Example
MaxList2(-5,0,12,7) will return a value of 7

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 619

6.5.14.14 MinList

MinList
Returns the lowest value of the specified numerical expressions.
Usage
MinList(Value1,Value2,Value3, etc.)
Where: Value1,Value2,Value3, etc. - numerical expressions

Example
MinList(-5,0,12,7) will return a value of -5

© 2009 TS Support, LLC


620 MultiCharts 5.5 User Guide

6.5.14.15 MinList2

MinList2
Returns the second lowest value of the specified numerical expressions.
Usage
MinList2(Value1,Value2,Value3, etc.)
Where: Value1,Value2,Value3, etc. - numerical expressions

Example
MinList(-5,0,12,7) will return a value of 0

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 621

6.5.14.16 Mod

Mod
Returns the remainder from dividing one specified numerical expression by another.
Usage
Mod(Dividend,Divisor)
Where: Dividend - a numerical expression
Divisor - a numerical expression

Example
Mod(25,7) will return a value of 4

© 2009 TS Support, LLC


622 MultiCharts 5.5 User Guide

6.5.14.17 Neg

Neg
Returns the negative absolute value of the specified numerical expression.
Usage
Neg(Value)
Where: Value - a numerical expression

Example
Neg(12) will return a value of -12
Neg(-7) will return a value of -7

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 623

6.5.14.18 NthMaxList

NthMaxList
Returns the Nth highest value of the specified numerical expressions.
Usage
NthMaxList(N,Value1,Value2,Value3, etc.)
Where: N - a numerical expression, indicating the rank of the value to be returned
Value1,Value2,Value3, etc. - numerical expressions

Example
NthMaxList(4,-15,-5,0,6,12) will return a value of -5

© 2009 TS Support, LLC


624 MultiCharts 5.5 User Guide

6.5.14.19 NthMinList

NthMinList
Returns the Nth lowest value of the specified numerical expressions.
Usage
NthMinList(N,Value1,Value2,Value3, etc.)
Where: N - a numerical expression, indicating the rank of the value to be returned
Value1, Value2, Value3, etc. - numerical expressions

Example
NthMinList(4,-15,-5,0,6,12) will return a value of 6

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 625

6.5.14.20 Pos

Pos
Same as AbsValue 606

© 2009 TS Support, LLC


626 MultiCharts 5.5 User Guide

6.5.14.21 Power

Power
Returns the value of one specified numerical expression to the power of another.
Usage
Power(Base,Exponent)
Where: Base - a numerical expression
Exponent - a numerical expression

Example
Power(5,3) will return a value of 125

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 627

6.5.14.22 Random

Random
Returns a pseudo-random number between 0 and the value of the specified numerical expression.
Usage
Random(Value)
Where: Value - a numerical expression

Example
Random(1.25) will return a random value anywhere between 0 and 1.25
Random(-10) will return a random value anywhere between -10 and 0

© 2009 TS Support, LLC


628 MultiCharts 5.5 User Guide

6.5.14.23 Round

Round
Returns the value of one specified numerical expression rounded to the number of decimal places
specified by another.
Usage
Round(Value,Precision)
Where: Value - a numerical expression
Precision - a numerical expression

Example
Round(1.237,2) will return a value of 1.24
Round(-5.7744,3) will return a value of –5.774

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 629

6.5.14.24 Sign

Sign
Returns a numerical value, indicating the sign of the value of the specified numerical expression.
A value of 1 is returned for a positive value, -1 is returned for a negative value, and 0 is returned for
the value of 0.

Usage
Sign(Value)
Where: Value - a numerical expression

Example
Sign(5) will return a value of 1
Sign(-2.85) will return a value of -1
Sign(0) will return a value of 0

© 2009 TS Support, LLC


630 MultiCharts 5.5 User Guide

6.5.14.25 Sine

Sine
Returns the sine value for an angle of the specified number of degrees.
Usage
Sine(Value)
Where: Value - a numerical expression, specifying the number of degrees in the angle

Example
Sine(30) will return a value of 0.5

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 631

6.5.14.26 Square

Square
Returns the square of the value of the specified numerical expression.
Usage
Square(Value)
Where: Value - a numerical expression

Example
Square(2.5) will return a value of 6.25

© 2009 TS Support, LLC


632 MultiCharts 5.5 User Guide

6.5.14.27 SquareRoot

SquareRoot
Returns the square root of the value of the specified numerical expression.
Usage
SquareRoot(Value)
Where: Value - a numerical expression

Example
SquareRoot(57.73) will return a value of 7.598

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 633

6.5.14.28 SumList

SumList
Returns a sum of the values of the specified numerical expressions.
Usage
SumList(Value1,Value2,Value3, etc.)
Where: Value1, Value2, Value3, etc. - numerical expressions

Example
SumList(45,-20,0,35) will return a value of 60

© 2009 TS Support, LLC


634 MultiCharts 5.5 User Guide

6.5.14.29 Tangent

Tangent
Returns the tangent value for an angle of the specified number of degrees.
Usage
Tangent(Value)
Where: Value - a numerical expression, specifying the number of degrees in the angle

Example
Tangent(40) will return a value of 0.839

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 635

6.5.15 Output
6.5.15.1 ClearDebug

ClearDebug
Clears the PowerLanguage Editor Output Log.
Usage
ClearDebug

Example
ClearDebug; will clear the PowerLanguage Editor Output Log

© 2009 TS Support, LLC


636 MultiCharts 5.5 User Guide

6.5.15.2 File

File
Used in Print statements to specify an ASCII file as the output location; must precede the
expressions to be printed and be followed by a comma. If the specified file does not exist, the file will
be created.
Usage
File("PathFilename")
Where: PathFilename - a string expression specifying the path and filename

Example
Print(File("C:\test.txt"),CurrentDate,CurrentTime); will save the output of
CurrentDate and CurrentTime to the test.txt file in the root directory of the C: hard drive

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 637

6.5.15.3 FileAppend

FileAppend
Appends the specified string expression to the end of the specified ASCII file; if the specified file
does not exist, the file will be created.
Usage
FileAppend("PathFilename","StringExpression")
Where: PathFilename - a string expression specifying the path and filename
StringExpression - the string expression to be appended to a file

Example
FileAppend("C:\test.txt","Appended Text"); will append the string expression
"Appended Text" to the end of the test.txt file in the root directory of the C: hard drive

© 2009 TS Support, LLC


638 MultiCharts 5.5 User Guide

6.5.15.4 FileDelete

FileDelete
Deletes the specified file.
Usage
FileDelete("PathFilename")
Where: PathFilename - a string expression specifying the path and filename of the file to be
deleted
Example
FileDelete("C:\test.txt"); will delete the file test.txt in the root directory of the C: hard drive

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 639

6.5.15.5 MessageLog

MessageLog
Displays one or more specified expressions in the PowerLanguage Editor Output Log. Any
combination of string, true/false, numerical series, or numerical expressions can be specified.
Usage
MessageLog(Expression1,Expression2,etc.)
Parameters
Expression - a string, true/false, numerical series, or numerical expression; any number of valid
expressions, separated by commas, can be used

A string expression must be enclosed in quotation marks:


"String Expression"

A numerical expression can be formatted to specify the minimum number of characters,


including the decimal point, and the number of decimal places, to be used for the output:
Expression:C:D
Where: C - minimum number of characters
D - number of decimal places

The default output format for a numerical expression is two decimal places and a minimum of
seven characters.
If the number of decimal places in the numerical expression is more than the specified number,
the value will be will be rounded off to the specified number of decimal places.
If the number of characters in the output is less than the specified minimum, leading spaces will
be added to bring the output to the specified minimum value.
Example
MessageLog(.1); will display 0.10 in the PowerLanguage Editor Output Log, with three leading
spaces inserted
MessageLog(1.555555:6:3); will display 1.556 in the PowerLanguage Editor Output Log, with
one leading space inserted
MessageLog("Current Time is:",CurrentTime:5:0); will display the string expression
"Current Time is:", followed by the output of the CurrentTime, with one leading space inserted, in
the PowerLanguage Editor Output Log

© 2009 TS Support, LLC


640 MultiCharts 5.5 User Guide

6.5.15.6 PlaySound

PlaySound
Plays the specified wave (.wav) sound file.

Usage

PlaySound("PathFilename")
Where: PathFilename - a string expression specifying the path and filename of the wave file to be
played

Example

Play ding.wav sound file located in the root directory of the C: hard drive:
PlaySound("C:\ding.wav");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 641

6.5.15.7 Print

Print
Sends one or more specified expressions to the PowerLanguage Editor Output Log or another output
target, if specified. Any combination of string, true/false, numerical series, or numerical expressions
can be specified.
Usage
Print([OutputTarget],Expression1,Expression2,etc.)
Parameter inside the square brackets is optional
Parameters
OutputTarget - an optional parameter; specifies an output target other then the
PowerLanguage Editor Output Log; the parameter must be followed by a comma.

There are two optional output targets:

Printer
Specifies the default printer as the output target.

File("PathFilename")
Where: PathFilename - a string expression specifying the path and filename
Specifies an ASCII file as the output target; if the specified file does not exist, the file will be
created.
If OutputTarget is not specified, the output will be sent to the PowerLanguage Editor Output
Log.

Expression - a string, true/false, numerical series, or numerical expression; any number of valid
expressions, separated by commas, can be used

A string expression must be enclosed in quotation marks:


"String Expression"

A numerical expression can be formatted to specify the minimum number of characters,


including the decimal point, and the number of decimal places, to be used for the output:
Expression:C:D
Where: C - minimum number of characters
D - number of decimal places

The default output format for a numerical expression is two decimal places and a minimum of
seven characters.
If the number of decimal places in the numerical expression is more than the specified number,
the value will be will be rounded off to the specified number of decimal places.
If the number of characters in the output is less than the specified minimum, leading spaces will
be added to bring the output to the specified minimum value.
Example
Print(.1); will print 0.10 in the PowerLanguage Editor Output Log, with three leading spaces
inserted
Print(1.555555:6:3); will print 1.556 in the PowerLanguage Editor Output Log, with one
leading space inserted
Print(Printer,"Print Test"); will send the string expression "Print Test" to the default
printer
Print(File("C:\test.txt"),CurrentDate,CurrentTime); will save the output of
CurrentDate and CurrentTime to the test.txt file in the root directory of the C: hard drive

© 2009 TS Support, LLC


642 MultiCharts 5.5 User Guide

6.5.15.8 Printer

Printer
Used in Print statements to specify the default printer as the output target; must precede the
expressions to be printed and be followed by a comma.
Usage
Printer

Example
Print(Printer,"Print Test"); will send the string expression "Print Test" to the default
printer

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 643

6.5.16 Plotting
6.5.16.1 Default

Default
Used in plot statements to specify a default style. Default styles are set by the user.
For more information see Plot 648

Usage
Default

Example
Plot the closing price using the default styles (color and width):
Plot1(Close,"Close",Default,Default,Default);

© 2009 TS Support, LLC


644 MultiCharts 5.5 User Guide

6.5.16.2 GetBackgroundColor

GetBackgroundColor
Returns an RGB color number or a legacy color value that correspond to the background color of the
chart.

Usage
GetBackgroundColor

Example
Assign an RGB color number, corresponding to the background color of the chart, to Value1 variable:
Value1=GetBackgroundColor;

Assign a legacy color value, corresponding to the background color of the chart, to Value1 variable:
[LegacyColorValue=True];
Value1=GetBackgroundColor;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 645

6.5.16.3 GetPlotColor

GetPlotColor
Returns an RGB color number or a legacy color value that correspond to the color of the specified
plot.

Usage
GetPlotColor(PlotNumber)
Where: PlotNumber - a numerical expression specifying the plot number; plot numbers range from
1 to 999
Example
Assign an RGB color number, corresponding to the color of Plot1, to Value1 variable:
Value1=GetPlotColor(1);

Assign a legacy color value, corresponding to the color of Plot1, to Value1 variable:
[LegacyColorValue=True];
Value1=GetPlotColor(1);

© 2009 TS Support, LLC


646 MultiCharts 5.5 User Guide

6.5.16.4 GetPlotWidth

GetPlotWidth
Returns the plot line width value of the specified plot. Plot line width values range from 0 to 14.

Usage
GetPlotWidth(PlotNumber)
Where: PlotNumber - a numerical expression specifying the plot number; plot numbers range from
1 to 999
Example
Assign the plot line width value of Plot1 to Value1 variable:
Value1=GetPlotWidth(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 647

6.5.16.5 NoPlot

NoPlot
Removes a specified plot from the current bar.
A conditional plot that is already drawn will remain even if the conditions become no longer true
before the bar is closed. NoPlot can be used to remove the conditional plot from the current bar if the
conditions are no longer true.

Usage
NoPlot(PlotNumber)
Where: PlotNumber - a numerical expression specifying the plot number; plot numbers range from
1 to 999
Example
The example below uses NoPlot remove the PlotPaintBar plot "painted" over the chart’s bars for
which the High price is no longer less then the High price of the previous bar:
If High<High[1] Then Begin
PlotPaintBar(High,Low,"",Red);
End
Else Begin
NoPlot(1);
NoPlot(2);
End;
Without NoPlot, chart’s bars for which a High price was initially less then the High price of the
previous bar would remain partially “painted” even if a High price equal to or greater then the High
price of the previous bar was reached before the bar was closed.

© 2009 TS Support, LLC


648 MultiCharts 5.5 User Guide

6.5.16.6 Plot

Plot
Plots the specified numerical or string expression on a chart, up to 999 different plots can be used
simultaneously.
Numerical: Plot offset, name, color, and plot line width can be specified by using the optional
parameters.
String: Ability to show a user-defined text message on the status line of the chart or in the scanner.

Usage
Numerical: PlotN<[Offset]>(Expression <,"PlotName"<,PlotColor <,Scanner Cell
Background Color <,LineWidth >>>>)
Text: PlotN("String")
Parameters inside the angled brackets are optional
Parameters
N - a number used to identify the plot; plot numbers can range from 1 to 999
Offset - an optional parameter; a numerical expression specifying the plot offset, in bars; a
positive value will displace the plot to the left along the time axis, and a negative value will
displace the plot to the right along the time axis
Expression - the numerical expression to be plotted
PlotName - an optional parameter; assigns a name to the plot
PlotColor - an optional parameter; specifies the plot color
Plot color can be specified by a numerical expression representing an RGB color number or a
legacy color value, by one of 17 base color words, or by the word Default to specify the color
chosen by the user. In order for PlotColor to be used, PlotName parameter must also be used.
Scanner Cell Background Color - an optional parameter; sets the background color of the
scanner cell if this plot is applied to a scanner; use the word Default to specify the color chosen
by the user. In order for Scanner Cell Background Color to be used, PlotName and
PlotColor parameters must also be used.
LineWidth - an optional parameter; specifies the plot line width, ranging from 1 to 14
Plot line width can be specified as a numerical expression or by the word Default to specify the
line width chosen by the user. In order for LineWidth to be used, PlotName, PlotColor, and
Scanner Cell Background Color parameters must also be used.
String - text to be displayed

Example
Plot the closing price using the default plot color and line width:
Plot1(Close);

Plot the closing price using the default plot color and line width, and name the plot "Close":
Plot1(Close,"Close",Default,Default,Default);

Plot the closing price, offset back by 3 bars, using the plot color of blue, using cell background color
of green if this plot is applied to a scanner, line width of 3, and name the plot "Close 3 bars later":
Plot1[3](Close,"Close 3 bars later",Blue,Green,3);

Plot the closing price, offset forward by 3 bars, using the RGB color 2138336 (Orange), and name
the plot "Close 3 bars ago":
Plot1[-3](Close,"Close 3 bars ago",2138336);

Plot the closing price using the legacy color value of 4 (Green) and name the plot "Close":
[LegacyColorValue=True];
Plot1(Close,"Close",4);
Show the text "Attention!" on the status bar of the chart or in the scanner.
Plot1("Attention!");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 649

Show the text "Attention!" on the status bar of the chart or in the scanner if the close price is greater
than 100.
If close > 100 then Plot1("Attention!");

© 2009 TS Support, LLC


650 MultiCharts 5.5 User Guide

6.5.16.7 PlotPaintBar

PlotPaintBar
Plots the specified numerical expressions in the form of a bar chart.
Plot name, color, and plot line width can be specified by using the optional parameters.
PlotPaintBar plot can be superimposed on top of one or more bars of a bar chart, effectively
"painting" the bars.

Usage
PlotPaintBar (BarHigh, BarLow, BarOpen, BarClose <,"PlotName"<,PlotColor <,
Default <,LineWidth >>>>)
Parameters inside the angled brackets are optional
Parameters
BarHigh, BarLow, BarOpen, BarClose - numerical expressions specifying the High, Low,
Open, & Close prices for the bars to be plotted; at least two of these parameters are required
PlotName - an optional parameter; assigns a name to the plot
PlotColor - an optional parameter; specifies the plot color
Plot color can be specified by a numerical expression representing an RGB color number or a
legacy color value, by one of 17 base color words, or by the word Default to specify the color
chosen by the user. In order for PlotColor to be used, PlotName parameter must also be used.
Default - an optional parameter reserved for future use; should be specified as Default; use of
this parameter is required in order for LineWidth to be used
LineWidth - an optional parameter; specifies the plot line width, ranging from 1 to 14
Plot line width can be specified as a numerical expression or by the word Default to specify the
line width chosen by the user. In order for LineWidth to be used, PlotName, PlotColor, and
Default parameters must also be used.

Notes
PlotPaintBar(BarHigh,BarLow,BarOpen,BarClose);
is the equivalent of:
Plot1(BarHigh);
Plot2(BarLow);
Plot3(BarOpen);
Plot4(BarClose);
In order for the PlotPaintBar plot to be displayed in the form of a bar chart, the plot type for each Plot
must be set, in the Style section of the General tab of the Format Indicator window, to Bar High, Bar
Low, Left Tick, and Right Tick, respectively.
Example
Paint red these bars of an OHLC chart for which the Open price is less then the Open price of the
previous bar:
If Open<Open[1] Then
PlotPaintBar(High,Low,Open,Close,"",Red);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 651

6.5.16.8 PlotPB

PlotPB
Same as the PlotPaintBar 650

© 2009 TS Support, LLC


652 MultiCharts 5.5 User Guide

6.5.16.9 SetPlotColor

SetPlotColor
Assigns a specified color to the specified plot for the duration of the current bar.

Usage
SetPlotColor(PlotNumber,PlotColor)
Parameters
PlotNumber - a numerical expression specifying the plot number; plot numbers range from 1 to
999
PlotColor - an expression specifying the plot color
Plot color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.
Example
Assign the color of blue to plot1 for the duration of the current bar:
SetPlotColor(1,Blue);

Assign RGB color 2138336 (Orange) to plot1 for the duration of the current bar:
SetPlotColor(1,2138336);

Assign legacy color 4 (Green) to plot1 for the duration of the current bar:
[LegacyColorValue=True];
SetPlotColor(1,4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 653

6.5.16.10 SetPlotBGColor

SetPlotBGColor
Assigns a specified color to the cell background for the indicated study plot for the duration of the
current bar.
Use of SetBGPlotColor is effective only for the Scanner.

Usage
SetPlotBGColor(PlotNumber,PlotColor)
Parameters
PlotNumber - a numerical expression specifying the plot number; plot numbers range from 1 to
999
PlotColor - an expression specifying the cell background color for the indicated plot. Cell
background color for the indicated plot can be specified by a numerical expression representing
an RGB color number, a legacy color value, or by one of 17 base color words.
Example
Assign the color of blue to the indicated cell of the plot1 for the duration of the current bar:
SetPlotBGColor(1,Blue);

Assign RGB color 2138336 (Orange) to the indicated cell of the plot1 for the duration of the current
bar:
SetPlotColor(1,2138336);

Assign legacy color 4 (Green) to the indicated cell of the plot1 for the duration of the current bar:
[LegacyColorValue=True];
SetPlotBGColor(1,4);

© 2009 TS Support, LLC


654 MultiCharts 5.5 User Guide

6.5.17 Portfolio Strategy Performance


6.5.17.1 Portfolio_GrossLoss

Portfolio_GrossLoss
Returns a negative numerical value, indicating the total currency value of all completed losing trades
for a portfolio.
Usage
Portfolio_GrossLoss

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_GrossLoss will return a value of -50 if there were a total of four losing trades, at 10, 5,
20, and 15
Portfolio_GrossLoss will return a value of 0 if no losing trades were completed during the entire
trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 655

6.5.17.2 Portfolio_GrossProfit

Portfolio_GrossProfit
Returns a numerical value, indicating the total currency value of all completed winning trades for a
portfolio.
Usage
Portfolio_GrossProfit

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_GrossProfit will return a value of 50 if there were a total of four winning trades, at 10,
5, 20, and 15
Portfolio_GrossProfit will return a value of 0 if no winning trades were completed during the
entire trading period

© 2009 TS Support, LLC


656 MultiCharts 5.5 User Guide

6.5.17.3 Portfolio_MaxIDDrawdown

Portfolio_MaxIDDrawdown
Returns a negative numerical value, indicating the largest decline in equity for the entire portfolio
during the trading period.
Usage
Portfolio_MaxIDDrawdown

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_MaxIDDrawdown will return a value of -500 if the largest decline in equity during the
entire trading period was $500

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 657

6.5.17.4 Portfolio_NetProfit

Portfolio_NetProfit
Returns a numerical value, indicating the total currency value of all completed trades for a portfolio.
Usage
Portfolio_NetProfit

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_NetProfit will return a value of 20 if there were winning trades at 25 and 10, and
losing trades at 5 and 10
Portfolio_NetProfit will return a value of -15 if there were winning trades at 10 and 5, and
losing trades at 20 and 10
Portfolio_NetProfit will return a value of 0 no trades were completed during the entire trading
period

© 2009 TS Support, LLC


658 MultiCharts 5.5 User Guide

6.5.17.5 Portfolio_NumLossTrades

Portfolio_NumLossTrades
Returns a numerical value, indicating the number of all completed losing trades for a portfolio.
Usage
Portfolio_NumLossTrades

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_NumLossTrades will return a value of 5 if there were a total of five completed losing
trades
Portfolio_NumLossTrades will return a value of 0 if no losing trades were completed during the
entire trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 659

6.5.17.6 Portfolio_NumWinTrades

Portfolio_NumWinTrades
Returns a numerical value, indicating the number of all completed winning trades for a portfolio.
Usage
Portfolio_NumWinTrades

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_NumWinTrades will return a value of 5 if there were a total of five completed winning
trades
Portfolio_NumWinTrades will return a value of 0 if no winning trades were completed during the
entire trading period

© 2009 TS Support, LLC


660 MultiCharts 5.5 User Guide

6.5.17.7 Portfolio_PercentProfit

Portfolio_PercentProfit
Returns a numerical value, indicating the percentage of winning trades in all trades completed for a
portfolio.
Usage
Portfolio_PercentProfit

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_PercentProfit will return a value of 70 if seven out of the total of 10 completed
trades were winning trades

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 661

6.5.17.8 Portfolio_StrategyDrawdown

Portfolio_StrategyDrawdown
Returns a negative numerical value, indicating the current decline in equity for the entire portfolio
from the peak value for the entire trading period.
Usage
Portfolio_StrategyDrawdown

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_StrategyDrawdown will return a value of -100 if the current decline in equity from the
peak value is $100

© 2009 TS Support, LLC


662 MultiCharts 5.5 User Guide

6.5.17.9 Portfolio_TotalTrades

Portfolio_TotalTrades
Returns a numerical value, indicating the total number of all completed trades for a portfolio.
Usage
Portfolio_TotalTrades

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_TotalTrades will return a value of 5 if there were a total of five completed trades
Portfolio_TotalTrades will return a value of 0 if no trades were completed during the entire
trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 663

6.5.18 Portfolio Strategy Position


6.5.18.1 Portfolio_CalcMaxPotentialLossForEntry

Portfolio_CalcMaxPotentialLossForEntry
Calculates and returns maximum potential loss (not including margin, commision or slippage) if user
entered the position with the number of Contracts and Price of entry.
Usage
Portfolio_CalcMaxPotentialLossForEntry (Side <,Contracts <,Price>>);
Parameters inside the angled brackets are optional
Parameters
Side is a numerical expression specifying the entry type (e.g. 1 Long entry or -1 Short entry).
Contracts is an optional parameter specifying the number of contracts. If the Contracts
parameter is not specified, then the number of contracts indicated in the Format Settings dialog
window under the Properties tab is used by default.
Price is an optional parameter specifying the price value. If the Price parameter is not
specified, then the Close price value of the current bar will be used by default. This parameter can
be rounded down if entered a Short position or rounded up if entered a Long position.

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_CalcMaxPotentialLossForEntry (0, 25, High) will return a value of 0, since
the parameter Side=0
Portfolio_CalcMaxPotentialLossForEntry (1, 100, Close) will return the maximum
potential loss (not including margin, commision or slippage) if user entered a Long position for 100
contracts at the Close price.
Portfolio_CalcMaxPotentialLossForEntry (-1, 5, Open) will return the maximum
potential loss (not including margin, commision or slippage) if user entered a Short position for 5
contracts at Open price.
Portfolio_CalcMaxPotentialLossForEntry (1) will return the maximum potential loss (not
including margin, commision or slippage) if the user entered a Long position for a number of
contracts indicated in the Format Settings dialog window under the Properties tab at Close price.

© 2009 TS Support, LLC


664 MultiCharts 5.5 User Guide

6.5.18.2 Portfolio_CurrentEntries

Portfolio_CurrentEntries
Returns a numerical value, indicating the combined number of entries currently open within a
portfolio.

Usage
Portfolio_CurrentEntries

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Assign a value, indicating the combined number of entries currently open within a portfolio, to Value1
variable:
Value1=Portfolio_CurrentEntries;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 665

6.5.18.3 Portfolio_MaxOpenPositionPotentialLoss

Portfolio_MaxOpenPositionPotentialLoss
Returns a dollar value indicating the combined potential loss (not including margin, commision or
slippage) for the traded symbols' open position within the portfolio.
Usage
SetStopPosition;
SetStopLoss(Portfolio_MaxOpenPositionPotentialLoss);

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
value1 = Portfolio_MaxOpenPositionPotentialLoss;
if value1 <> 0 then begin
SetStopPosition;
SetStopLoss (value1);
end;

Portfolio_MaxOpenPositionPotentialLoss will return a value of 0 if there are currently no


open positions within a portfolio.
Portfolio_MaxOpenPositionPotentialLoss will return a value of 100 if the combined
potential loss for all open positions within a portfolio is $100 since the positions were entered.

© 2009 TS Support, LLC


666 MultiCharts 5.5 User Guide

6.5.18.4 Portfolio_OpenPositionProfit

Portfolio_OpenPositionProfit
Returns a numerical value, indicating the current combined profit or loss for all open positions within
a portfolio.

Usage
Portfolio_OpenPositionProfit

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_OpenPositionProfit will return a value of 0 if there are currently no open positions
within a portfolio
Portfolio_OpenPositionProfit will return a value of 100 if the combined value of all open
positions within a portfolio has increased by $100 since the positions were entered
Portfolio_OpenPositionProfit will return a value of -50 if the combined value of all open
positions within a portfolio has decreased by $50 since the positions were entered

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 667

6.5.18.5 Portfolio_SetMaxPotentialLossPerContract

Portfolio_SetMaxPotentialLossPerContract
Redefines the values for the indicated symbol. The values in the $ box if the Absolute Max Potential
Loss option is selected or the values in the % box if the Max Potential Loss is selected.
The newly set value is valid during the strategy calculation or until the
Portfolio_SetMaxPotentialLossPerContract is requested again assigning a new value.

Usage
Portfolio_SetMaxPotentialLossPerContract(NewValue);
Parameters
NewValue is a numerical value that can be:
· an absolute value in the range [-100, -0.001]; defines percentage of the maximum potential loss
per contract. (Max Potential Loss: %)
· a value in the range [0.001, 1e+29]; defines the maximum potential loss per contract in dollars.
(Absolute Max Potential Loss: $)
· equal 0; in this case the value entered in the Format Settings dialog window under the
Portfolio Settings tab is used.

Portfolio_SetMaxPotentialLossPerContract returns:
· True if the value is in one of the ranges indicated above. Redefining is considered to be
succesfull.
· False if the if the value is out of the ranges indicated above. Redefining is considered
unsuccessful and the Max Potential Loss value is unchanged.

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
If "MSFT"=SymbolName then Portfolio_SetMaxPotentialLossPerContract (-10);
the new value of -10 is assigned for the symbol "MSFT" only if such symbol is exist in the portfolio.
Portfolio_SetMaxPotentialLossPerContract (-5); redefines the percentage value of the
maximum potential loss per contract for 5%.
Portfolio_SetMaxPotentialLossPerContract (200); redefines the maximum potential
loss per contract for $200.

© 2009 TS Support, LLC


668 MultiCharts 5.5 User Guide

6.5.19 Portfolio Strategy Properties


6.5.19.1 Portfolio_GetMarginPerContract

Portfolio_GetMarginPerContract
Returns:
· a numerical value indicated in the % of contract cost box multiplied by -1, if the Margin value
option is selected; or:
· the same value as a reserved word Margin 819 if the Absolute Margin Value option is selected.

Usage
Portfolio_GetMarginPerContract
Parameters
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_GetMarginPerContract will return a value of 0 if Absolute Margin Value option is
selected and the margin does not exist in the QuoteManager symbol settings. Not all of the securities
can be bought on margin. The margin value can be returned for futures or options.
Portfolio_GetMarginPerContract will return a value of 25 if Absolute Margin Value option is
selected and the margin box in the Edit Symbol dialog window under Future tab in QuoteManager
contains the value of 25.
Portfolio_GetMarginPerContract will return a value of -10 if the Margin Value option is
selected and the % of contract cost box contains the value of 10.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 669

6.5.19.2 Portfolio_GetMaxPotentialLossPerContract

Portfolio_GetMaxPotentialLossPerContract
Returns:
· a numerical value indicated in the % box multiplied by -1, if the Max Potential Loss option is
selected in the Format Settings dialog window under the Portfolio Settings tab; or:
· a numerical value indicated in the $ box, if the Absolute Max Potential Loss option is selected in
the Format Settings dialog window under the Portfolio Settings tab.

Usage
Portfolio_GetMaxPotentialLossPerContract

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_GetMaxPotentialLossPerContract will return -5 if the Max Potential Loss option
is selected and % box value is 5 under the Portfolio Settings tab in the Format Settings dialog
window.
Portfolio_GetMaxPotentialLossPerContract will return 0.001 if the Absolute Max
Potential Loss option is selected and $ box value is 0.001 under the Portfolio Settings tab in the
Format Settings dialog window.

© 2009 TS Support, LLC


670 MultiCharts 5.5 User Guide

6.5.19.3 Portfolio_MaxRiskEquityPerPosPercent

Portfolio_MaxRiskEquityPerPosPercent
Returns the Max % of Equity at Risk per Position numerical value set by the user in the Portfolio
Settings tab of the Portfolio Backtester Format Settings window.
Usage
Portfolio_MaxRiskEquityPerPosPercent

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_MaxRiskEquityPerPosPercent will return the Max % of Equity at Risk per Position
numerical value set by the user

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 671

6.5.19.4 Portfolio_TotalMaxRiskEquityPercent

Portfolio_TotalMaxRiskEquityPercent
Returns the equity Exposure % numerical value set by the user in the Portfolio Settings tab of the
Portfolio Backtester Format Settings window.
Usage
Portfolio_TotalMaxRiskEquityPercent

Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Portfolio_TotalMaxRiskEquityPercent will return the equity Exposure % numerical value
set by the user.

© 2009 TS Support, LLC


672 MultiCharts 5.5 User Guide

6.5.19.5 PortfolioEntriesPriority

PortfolioEntriesPriority
Assigns a priority to each entry order within a portfolio.
If execution of all entries generated for a portfolio would cause the capital limits to be exceeded, the
entries with the highest priority will receive preference, while the entries with the lowest priority will
not be executed.
If PortfolioEntriesPriority is not specified, the entries will be executed according to the order the
symbols are listed in the symbol grid of the Portfolio Backtester.

Usage
PortfolioEntriesPriority=Priority
Where: Priority - a numerical expression specifying the entry order execution priority; a greater
value indicates a higher priority
Notes
This function can only be used in signals intended to be used with the Portfolio Backtester.
Example
Assign higher execution priority to entry orders for symbols with lower share prices:
PortfolioEntriesPriority=(-Close);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 673

6.5.20 Quote Fields


6.5.20.1 CurrentOpenInt

CurrentOpenInt
Returns a numerical value indicating the last known open interest for the symbol that the study is
applied to.
Usage
CurrentOpenInt

Notes
Quote Fields cannot be referenced historically.
Example
CurrentOpenInt will return the last known open interest

© 2009 TS Support, LLC


674 MultiCharts 5.5 User Guide

6.5.20.2 DailyClose

DailyClose
Returns a numerical value indicating the most recent Close price.
Usage
DailyClose

Notes
Quote Fields cannot be referenced historically.
Example
DailyClose will return the most recent Close price

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 675

6.5.20.3 DailyHigh

DailyHigh
Returns a numerical value indicating the High price for the current trading session.
Usage
DailyHigh

Notes
Quote Fields cannot be referenced historically.
Example
DailyHigh will return the High price for the current trading session

© 2009 TS Support, LLC


676 MultiCharts 5.5 User Guide

6.5.20.4 DailyLow

DailyLow
Returns a numerical value indicating the Low price for the current trading session.
Usage
DailyLow

Notes
Quote Fields cannot be referenced historically.
Example
DailyLow will return the Low price for the current trading session

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 677

6.5.20.5 DailyOpen

DailyOpen
Returns a numerical value indicating the opening price for the current trading session.
Usage
DailyOpen

Notes
Quote Fields cannot be referenced historically.
Example
DailyOpen will return the Open price for the current trading session

© 2009 TS Support, LLC


678 MultiCharts 5.5 User Guide

6.5.20.6 DailyVolume

DailyVolume
Returns a numerical value indicating the current total trade volume for the trading session.
Usage
DailyVolume

Notes
Quote Fields cannot be referenced historically.
Example
DailyVolume will return the current total trade volume

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 679

6.5.20.7 Description

Description
Returns a string expression containing the description for the symbol that the study is applied to; if no
description is available, a blank ("") string expression will be returned.
Usage
Description

Example
Description will return "GOOGLE INC" for Google

© 2009 TS Support, LLC


680 MultiCharts 5.5 User Guide

6.5.20.8 ExchListed

ExchListed
Returns a string expression containing the exchange name for the symbol that the study is applied to.
Usage
ExchListed

Example
ExchListed will return "NASD" for Google
ExchListed will return "CME" for E-mini S&P 500

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 681

6.5.20.9 InsideAsk

InsideAsk
Returns a numerical value indicating the current best Ask for the symbol that the study is applied to.
Usage
InsideAsk

Notes
Quote Fields cannot be referenced historically.
Example
InsideAsk will return the current best Ask

© 2009 TS Support, LLC


682 MultiCharts 5.5 User Guide

6.5.20.10 InsideBid

InsideBid
Returns a numerical value indicating the current best Bid for the symbol that the study is applied to.
Usage
InsideBid

Notes
Quote Fields cannot be referenced historically.
Example
InsideBid will return the current best Bid

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 683

6.5.20.11 Last

Last
Returns a numerical value indicating the price of the last completed trade.
Usage
Last

Notes
Quote Fields cannot be referenced historically.
Example
Last will return the price of the last trade

© 2009 TS Support, LLC


684 MultiCharts 5.5 User Guide

6.5.20.12 PrevClose

PrevClose
Returns a numerical value indicating the closing price of the previous trading session.
Usage
PrevClose

Notes
Quote Fields cannot be referenced historically.
Example
PrevClose will return the Close of the previous trading session

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 685

6.5.20.13 q_Ask

q_Ask
Retained for backward compatibility; replaced with InsideAsk 681 .

© 2009 TS Support, LLC


686 MultiCharts 5.5 User Guide

6.5.20.14 q_Bid

q_Bid
Retained for backward compatibility; replaced with InsideBid 682 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 687

6.5.20.15 q_BigPointValue

q_BigPointValue
Retained for backward compatibility; replaced with BigPointValue 427 .

© 2009 TS Support, LLC


688 MultiCharts 5.5 User Guide

6.5.20.16 q_Date

q_Date
Retained for backward compatibility; replaced with TradedDate 698 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 689

6.5.20.17 q_ExchangeListed

q_ExchangeListed
Retained for backward compatibility; replaced with ExchListed 680 .

© 2009 TS Support, LLC


690 MultiCharts 5.5 User Guide

6.5.20.18 q_Last

q_Last
Retained for backward compatibility; replaced with Last 683 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 691

6.5.20.19 q_OpenInterest

q_OpenInterest
Retained for backward compatibility; replaced with CurrentOpenInt 673 .

© 2009 TS Support, LLC


692 MultiCharts 5.5 User Guide

6.5.20.20 q_PreviousClose

q_PreviousClose
Retained for backward compatibility; replaced with PrevClose 684 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 693

6.5.20.21 q_Time

q_Time
Retained for backward compatibility; replaced with TradeTime 699 .

© 2009 TS Support, LLC


694 MultiCharts 5.5 User Guide

6.5.20.22 q_TotalVolume

q_TotalVolume
Retained for backward compatibility; replaced with DailyVolume 678 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 695

6.5.20.23 SetPlotWidth

SetPlotWidth
Assigns a specified line width to the specified plot for the duration of the current bar.

Usage
SetPlotWidth(PlotNumber,LineWidth)
Where: PlotNumber - a numerical expression specifying the plot number; plot numbers range from
1 to 999
LineWidth - a numerical expression specifying the plot line width; line width can range from
1 to 14
Example
Assign a plot line width of 10 to plot1 for the duration of the current bar:
SetPlotWidth(1,10);

© 2009 TS Support, LLC


696 MultiCharts 5.5 User Guide

6.5.20.24 Symbol

Symbol
Same as the SymbolName 697 .

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 697

6.5.20.25 SymbolName

SymbolName
Returns a string expression containing the name of the symbol that the study is applied to.
See also GetSymbolName 442

Usage
SymbolName

Example
SymbolName will return "GOOG" for Google

© 2009 TS Support, LLC


698 MultiCharts 5.5 User Guide

6.5.20.26 TradeDate

TradeDate
Returns a numerical value indicating the date of the most recent price field update for the symbol.
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
TradeDate

Notes
Quote Fields cannot be referenced historically.
Example
TradeDate will return a value of 1071030 for October 30th, 2007
TradeDate will return a value of 990402 for April 2th, 1999

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 699

6.5.20.27 TradeTime

TradeTime
Returns a numerical value indicating the time of the most recent price field update for the symbol.
The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
TradeTime

Notes
Quote Fields cannot be referenced historically.
Example
TradeTime will return a value of 1015 for 10:15 AM
TradeTime will return a value of 1545 for 3:45 PM

© 2009 TS Support, LLC


700 MultiCharts 5.5 User Guide

6.5.21 Sessions
6.5.21.1 AutoSession

AutoSession
Returns 0 and is used as an argument in session information functions.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 701

6.5.21.2 RegularSession

RegularSession
Returns 1 and is used as an argument in session information functions.

© 2009 TS Support, LLC


702 MultiCharts 5.5 User Guide

6.5.21.3 Sess1EndTime

Sess1EndTime
This word is retained for backward compatibility.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 703

6.5.21.4 Sess1FirstBarTime

Sess1FirstBarTime
Returns the First bar's time for the first session of the trading day in 24-hour format. Please note that
the Time Zone setting affects the value returned.
Example
Sess1FirstBarTime returns 0945 when applied to MSFT data with a 15-minute interval
Sess1FirstBarTime returns 0835 when applied to E-mini S&P500 Data with a 5-minute interval

© 2009 TS Support, LLC


704 MultiCharts 5.5 User Guide

6.5.21.5 Sess1StartTime

Sess1StartTime
This word is retained for backward compatibility.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 705

6.5.21.6 Sess2EndTime

Sess2EndTime
This word is retained for backward compatibility.

© 2009 TS Support, LLC


706 MultiCharts 5.5 User Guide

6.5.21.7 Sess2FirstBarTime

Sess2FirstBarTime
Returns the First bar’s time for the second session of the trading day in 24-hour format. Please note
that the Time Zone setting affects the value returned.
Example
Sess2FirstBarTime returns 1725 when applied to US Treasury Bond Data with a 5-minute
interval.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 707

6.5.21.8 Sess2StartTime

Sess2StartTime
This word is retained for backward compatibility.

© 2009 TS Support, LLC


708 MultiCharts 5.5 User Guide

6.5.21.9 SessionCount

SessionCount
Returns the number of sessions for the trading week.
Usage
SessionCount(SessionType);
Where: SessionType - a numerical expression: 0 = Auto Detect, 1 = Regular Session*
* Custom Sessions parameters will be used if selected in QuoteManager.

Example
In this example, we have assigned to Value 1 the total number of sessions for the week in the current
bar.
Value1 = SessionCount(0);

In this example, we have assigned to Value 1 the total number of regular sessions for the week in the
current bar.
Value1 = SessionCount(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 709

6.5.21.10 SessionCountMS

SessionCountMS
Returns the number of merged sessions for the trading week. Merged sessions are sessions
beginning at the earliest start time for all symbols and ending at the latest end time for all symbols
each trading day.
Example
In this example, we have assigned to Value1 the total number of merged sessions for the week in the
current chart:
Value1=SessionCountMS

© 2009 TS Support, LLC


710 MultiCharts 5.5 User Guide

6.5.21.11 SessionEndDay

SessionEndDay
Returns a numerical value indicating the day of the week that the specified session ends, where 0 =
Sunday, 1 = Monday, etc.
Usage
SessionEndDay(SessionType,SessionNum)

Where: SessionType - a numerical expression: 0 = Auto Detect, 1 = Regular Session*


SessionNum - a numerical expression specifying the Session Number
* Custom Sessions parameters will be used if selected in QuoteManager.

Example
Assign a value, indicating the day of the week that the 4th regular session ends, to Value1 variable:
Value1=SessionEndDay(1,4)

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 711

6.5.21.12 SessionEndDayMS

SessionEndDayMS
Returns a numerical value indicating the day of the week the specified merged session in a multi-
data series chart ends, where 0 = Sunday, 1 = Monday, etc.
Merged session extends from the earliest start time to the latest end time of all sessions merged.

Usage
SessionEndDayMS(SessionNum)
Where: SessionNum - a numerical expression specifying the Session Number
Example
Assign a value, indicating the day of the week that the 4th merged session ends, to Value1 variable:
Value1 = SessionEndDayMS(4);

© 2009 TS Support, LLC


712 MultiCharts 5.5 User Guide

6.5.21.13 SessionEndTime

SessionEndTime
Returns a numerical value, indicating the time of the day that the specified session ends. The time is
indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
SessionEndTime(SessionType,SessionNum)
Where: SessionType - a numerical expression: 0 = Auto Detect, 1 = Regular Session*
SessionNum - a numerical expression specifying the Session Number
* Custom Sessions parameters will be used if selected in QuoteManager.

Example
Assign a value, indicating the time of the day that the 4th regular session ends, to Value1 variable:
Value1 = SessionEndTime(1,4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 713

6.5.21.14 SessionEndTimeMS

SessionEndTimeMS
Returns a numerical value, indicating the time of the day that the specified merged session in a multi-
data series chart ends. The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.
Merged session extends from the earliest start time to the latest end time of all sessions merged.

Usage
SessionEndTimeMS(SessionNum)
Where: SessionNum - a numerical expression specifying the Session Number

Example
Assign a value, indicating the time of the day that the 4th merged session ends, to Value1 variable:
Value1 = SessionEnd(4);

© 2009 TS Support, LLC


714 MultiCharts 5.5 User Guide

6.5.21.15 SessionStartDay

SessionStartDay
Returns a numerical value indicating the day of the week that the specified session starts, where 0 =
Sunday, 1 = Monday, etc.
Usage
SessionStartDay(SessionType,SessionNum)
Where: SessionType - a numerical expression: 0 = Auto Detect, 1 = Regular Session*
SessionNum - a numerical expression specifying the Session Number
* Custom Sessions parameters will be used if selected in QuoteManager.

Example
Assign a value, indicating the day of the week that the 4th regular session starts, to Value1 variable:
Value1 = SessionStartDay(1,4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 715

6.5.21.16 SessionStartDayMS

SessionStartDayMS
Returns a numerical value indicating the day of the week that the specified merged session in a
multi-data series chart starts, where 0 = Sunday, 1 = Monday, etc.
Merged session extends from the earliest start time to the latest end time of all sessions merged.

Usage
SessionStartDayMS(SessionNum)
Where: SessionNum - a numerical expression specifying the Session Number

Example
Assign a value, indicating the day of the week that the 4th merged session starts, to Value1 variable:
Value1 = SessionStartDayMS(4);

© 2009 TS Support, LLC


716 MultiCharts 5.5 User Guide

6.5.21.17 SessionStartTime

SessionStartTime
Returns a numerical value, indicating the time of the day that the specified session starts. The time is
indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
SessionStartTime(SessionType,SessionNum)
Where: SessionType - a numerical expression: 0 = Auto Detect, 1 = Regular Session*
SessionNum - a numerical expression specifying the Session Number
* Custom Sessions parameters will be used if selected in QuoteManager.

Example
Assign a value, indicating the time of the day that the 4th regular session starts, to Value1 variable:
Value1 = SessionStartTime(1,4);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 717

6.5.21.18 SessionStartTimeMS

SessionStartTimeMS
Returns a numerical value, indicating the time of the day that the specified merged session in a multi-
data series chart starts. The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.
Merged session extends from the earliest start time to the latest end time of all sessions merged.

Usage
SessionStartTimeMS(SessionNum)
Where: SessionNum - a numerical expression specifying the Session Number

Example
Assign a value, indicating the time of day that the 4th merged session starts, to Value1 variable:
Value1 = SessionStartTimeMS(4);

© 2009 TS Support, LLC


718 MultiCharts 5.5 User Guide

6.5.22 Skip Words


6.5.22.1 A

A
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry") Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 719

6.5.22.2 An

An
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


720 MultiCharts 5.5 User Guide

6.5.22.3 At

At
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 721

6.5.22.4 Based

Based
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


722 MultiCharts 5.5 User Guide

6.5.22.5 By

By
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 723

6.5.22.6 Does

Does
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


724 MultiCharts 5.5 User Guide

6.5.22.7 From

From
A skip word; used in strategy exit statements in combination with Entry 740 word that ties an exit to
the particular entry that was assigned the EntryLabel name.
An exit can only be tied to an entry within the same signal; for more information, see Buy 733 or
SellShort 747 .
Skip Words serve solely to improve the readability of PowerLanguage code and are skipped
(ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.

Usage
From Entry("EntryLabel")
Where: EntryLabel - the name that was assigned to the entry that the exit is to be tied to
From - a skip word and can be omitted
Example
Completely exit from the long position established by the entry labeled "Original Entry", at Market
price on open of next bar:
Sell From Entry("Original Entry")Next Bar at Open;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 725

6.5.22.8 Is

Is
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


726 MultiCharts 5.5 User Guide

6.5.22.9 Of

Of
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 727

6.5.22.10 On

On
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


728 MultiCharts 5.5 User Guide

6.5.22.11 Place

Place
A Skip Word retained for backward compatibility. Skip Words serve solely to improve the readability
of PowerLanguage code and are skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 729

6.5.22.12 Than

Than
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


730 MultiCharts 5.5 User Guide

6.5.22.13 The

The
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 731

6.5.22.14 Was

Was
A Skip Word. Skip Words serve solely to improve the readability of PowerLanguage code and are
skipped (ignored) during the compilation and execution.
The use of Skip Words is optional; they can be inserted anywhere within the PL code and will appear
in red in PowerLanguage Editor.
Example
The Skip Words in the example below are colored in red:
If an Open is < than Close of 4 Bars Ago was Then Buy This Bar on Close;
If Plot1 does Cross Above a 1350 Then Sell From Entry("My Entry")Next Bar
at the Market;

© 2009 TS Support, LLC


732 MultiCharts 5.5 User Guide

6.5.23 Strategy Orders


6.5.23.1 All

All
Used in strategy exit statements in place of a numerical expression, preceding the words Shares or
Contracts, to denote all of the shares or all of the contracts held without specifying the actual
number of shares or contracts.
Usage
All Contracts

Example
Sell all of the shares held at market price on open of next bar:
Sell All Shares Next Bar At Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 733

6.5.23.2 Buy

Buy
Enters a long position as specified by the parameters.
The entry point is visually indicated on a chart by an Arrow and a Tick. The Arrow identifies the time
and the Tick identifies the price value of the entry point. Labels, displaying the entry name and the
number of contracts or shares traded, are displayed below the Buy Arrow.
An order is executed at the point specified by the parameters; if the order is not filled within the
specified bar, the order is cancelled.
When a Buy order is filled, any open short positions will also be closed.
Usage
Buy[("EntryLabel")][TradeSize]EntryType;
Parameters inside the square brackets are optional
Parameters

EntryLabel - an optional parameter; assigns a name that will be displayed in the name label
below the entry, and can be used to identify the particular entry and to tie an exit to it.
An exit can only be tied to an entry within the same signal; for more information, see Sell 745 .

If EntryLabel is not specified, the name "Buy" will be used for the first entry, "Buy#2" for the
second entry, "Buy#3" for the third entry, etc.

TradeSize - an optional parameter; a numerical expression, specifying the number of contracts


or shares to buy; the expression must be followed by one of the following transposable words:
Share, Shares, Contract or Contracts.
If TradeSize value equals 0 or is negative, a long position will not be entered but any open short
positions will be closed.
If TradeSize is not specified, the trade size value set by the user in the Properties tab of the
Strategy Properties window will be used.

EntryType - a required parameter; specifies the timing and price of entry.

There are four kinds of EntryType:

This Bar[On]Close
Where: - On 727 is a skip word and can be omitted
A Buy Arrow will be placed at the current bar's Close tick.

Next Bar[At]Open or Next Bar[At]Market


Where: - words "Market" and "Open" are transposable
- At 720 is a skip word and can be omitted
A Buy Arrow will be placed at the next bar's Open tick.

Next Bar[At]Price Limit


Where: - Price is a numerical expression, specifying the Limit Price
- At 720 is a skip word and can be omitted
A Buy Arrow will be placed on the next bar at the first tick with a price value less than or equal to
Price ; if there are no such ticks within the next bar, the order will be cancelled.
Next Bar[At]Price Stop
Where: - Price is a numerical expression, specifying the Stop Price
- At 720 is a skip word and can be omitted
A Buy Arrow will be placed on the next bar at the first tick with a price value equal to or greater
than the Price ; if there are no such ticks within the next bar, the order will be cancelled.

© 2009 TS Support, LLC


734 MultiCharts 5.5 User Guide

Example
Buy a user-set number of shares at Market price on close of this bar:
Buy This Bar On Close;

Buy 1 share at Market price on open of next bar and label the entry "Entry":
Buy("Entry")1 Share Next Bar At Open;

Buy 1 contract at Market price on open of next bar and label the entry "Entry":
Buy("Entry")1 Contract Next Bar Market;

Buy 2 shares within the next bar on the first tick with a price of 100 or less:
Buy 2 Shares Next Bar At 100 Limit;

Buy 10 contracts within the next bar on the first tick with a price of 50 or more:
Buy 10 Contracts Next Bar 50 Stop;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 735

6.5.23.3 BuyToCover

BuyToCover
Completely or partially exits one or all of the short entries as specified by the parameters.
The exit point is visually indicated on a chart by an Arrow and a Tick. The Arrow identifies the time
and the Tick identifies the price value of the exit point. Labels, displaying the exit name and the
number of contracts or shares traded, are displayed below the Cover Arrow.
An order is executed at the point specified by the parameters; if the order is not filled within the
specified bar, the order is cancelled.

Usage
BuyToCover[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit
or:
Buy To Cover[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit
Parameters inside the square brackets are optional
Parameters
ExitLabel - an optional parameter; assigns a name that will be displayed in the name label
above the exit
If ExitLabel is not specified, the name "Cover" will be used for the first exit, "Cover#2" for the
second exit, "Cover#3" for the third exit, etc.

EntryLabel - an optional parameter; ties the exit to the particular entry that was assigned the
EntryLabel name; the name must be preceded by the word Entry, the word From 724 is a skip
word and can be omitted
An exit can only be tied to an entry within the same signal. For more information, see SellShort
747

If EntryLabel is not specified, all of the open short entries will be closed.

TradeSize - an optional parameter; a numerical expression, specifying the number of contracts


or shares to buy; the expression must be followed by one of the following transposable words:
Share, Shares, Contract or Contracts.
By default, the number of contracts or shares specified by the TradeSize parameter will be
covered from each of the open short entries.
If TradeSize is followed by the word Total, only the number of contracts or shares specified by
the TradeSize parameter will be covered, regardless of the number of open short entries. The
contracts or shares will be covered in the same order they were shorted: First In, First Out.
If TradeSize is not specified, the entire short position will be closed out.

Exit - a required parameter; specifies the timing and price of exit.

There are four types of Exit:

This Bar[On]Close
Where: - On 727 is a skip word and can be omitted
A Cover Arrow will be placed at the current bar's Close tick.

Next Bar[At]Open or Next Bar[At]Market


Where: - words "Market" and "Open" are transposable
- At 720 is a skip word and can be omitted
A Cover Arrow will be placed at the next bar's Open tick.

Next Bar[At]Price Limit


Where: - Price is a numerical expression, specifying the Limit Price
- At 720 is a skip word and can be omitted

© 2009 TS Support, LLC


736 MultiCharts 5.5 User Guide

A Cover Arrow will be placed on the next bar at the first tick with a price value less than or equal
to Price ; if there are no such ticks within the next bar, the order will be cancelled.
Next Bar[At]Price Stop
Where: - Price is a numerical expression, specifying the Stop Price
- At 720 is a skip word and can be omitted
A Cover Arrow will be placed on the next bar at the first tick with a price value equal to or greater
than the Price ; if there are no such ticks within the next bar, the order will be cancelled.

Example
Completely exit all open short entries at Market price on close of this bar and label the exit "Complete
Exit":
BuyToCover("Complete Exit")This Bar On Close;

Completely exit from the short position established by the entry labeled "Original Entry", at Market
price on open of next bar:
BuyToCover From Entry("Original Entry")Next Bar At Open;

Cover 10 shares of the short position established by the entry labeled "Original Entry", at Market
price on open of next bar:
BuyToCover Entry("Original Entry")10 Shares Next Bar At Market;

Cover 5 contracts for each one of the open short entries at Market price on open of next bar:
BuyToCover 5 Contracts Next Bar Market;

Cover a total of 1 share, regardless of the number of open short entries, within the next bar on the
first tick with a price of 100 or less (the first share shorted will be covered if the price is met):
BuyToCover 1 Share Total Next Bar At 100 Limit;

Completely exit all short entries within the next bar on the first tick with a price of 50 or more:
BuyToCover Next Bar 50 Stop;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 737

6.5.23.4 Contract

Contract
Same as Contracts 738

© 2009 TS Support, LLC


738 MultiCharts 5.5 User Guide

6.5.23.5 Contracts

Contracts
Used in strategy entry or exit statements in combination with a numerical expression to specify the
number of contracts or shares to trade.
Usage
TradeSize Contracts
Where: TradeSize - a numerical expression, specifying the number of contracts or shares

Example
Buy 2 contracts at Market price on open of next bar:
Buy 2 Contracts Next Bar At Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 739

6.5.23.6 Cover

Cover
Used in combination with the words Buy To; same as BuyToCover 735 .

Usage
Buy To Cover[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit
;

© 2009 TS Support, LLC


740 MultiCharts 5.5 User Guide

6.5.23.7 Entry

Entry
Used in strategy exit statements to tie an exit to the particular entry that was assigned the
EntryLabel name.
An exit can only be tied to an entry within the same signal; for more information, see Buy 733 or
SellShort 747 .

Usage
From Entry("EntryLabel")
Where: EntryLabel - the name that was assigned to the entry that the exit is to be tied to
From 724 - a skip word and can be omitted

Example
Completely exit from the long position established by the entry labeled "Original Entry", at Market
price on open of next bar:
Sell From Entry("Original Entry")Next Bar At Open;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 741

6.5.23.8 Higher

Higher
Used in strategy entry or exit statements to specify a price range for an entry or an exit; must be
preceded by the word Or.

Usage
At Price Or Higher
Where: Price - a numerical expression, specifying the base Price
At 720 - a skip word and can be omitted

Notes
At Price Or Higher is an equivalent of a Limit when used with Sell or SellShort statements,
and an equivalent of a Stop when used with Buy or BuyToCover statements.

Example
Buy within the next bar on the first tick with a price of 100 or more:
Buy Next Bar At 100 Or Higher;

Sell short within the next bar on the first tick with a price of 50 or more:
SellShort Next Bar At 50 Or Higher;

© 2009 TS Support, LLC


742 MultiCharts 5.5 User Guide

6.5.23.9 Limit

Limit
Used in strategy entry or exit statements to specify a Limit price for an entry or an exit.
A Limit order will execute at the specified price or better. A better price is a lower price for Buy and
Buy to cover orders, and a higher price for Sell and Sell short orders.

Usage
At Price Limit
Where: Price - a numerical expression, specifying the Limit Price
At 720 - a skip word and can be omitted

Example
Buy within the next bar on the first tick with a price of 100 or less:
Buy Next Bar At 100 Limit;

Sell short within the next bar on the first tick with a price of 50 or more:
SellShort Next Bar 50 Limit;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 743

6.5.23.10 Lower

Lower
Used in strategy entry or exit statements to specify a price range for an entry or an exit.
Must be preceded by the word Or.

Usage
At Price Or Lower
Where: Price - a numerical expression, specifying the base Price
At 720 - a skip word and can be omitted

Notes
At Price Or Lower is an equivalent of a Limit when used with Buy or BuyToCover statements,
and an equivalent of a Stop when used with Sell or SellShort statements.

Example
Buy within the next bar on the first tick with a price of 100 or less:
Buy Next Bar At 100 Or Lower;

Sell short within the next bar on the first tick with a price of 50 or less:
SellShort Next Bar At 50 Or Lower;

© 2009 TS Support, LLC


744 MultiCharts 5.5 User Guide

6.5.23.11 Market

Market
Used in strategy entry or exit statements to specify a Market price for an entry or an exit.
A Market Buy order will execute at the current ask price and a Maret Sell order will execute at the
current bid price.

Usage
At Market
Where: At 720 is a skip word and can be omitted

Example
Buy a user-set number of shares at Market price on open of next bar:
Buy Next Bar At Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 745

6.5.23.12 Sell

Sell
Completely or partially exits one or all of the long entries as specified by the parameters.
The exit point is visually indicated on a chart by an Arrow and a Tick. The Arrow identifies the time
and the Tick identifies the price value of the exit point. Labels, displaying the exit name and the
number of contracts or shares traded, are displayed above the Sell Arrow.
An order is executed at the point specified by the parameters; if the order is not filled within the
specified bar, the order is cancelled.
Usage Sell[("ExitLabel")][From Entry("EntryLabel")][TradeSize[Total]]Exit
Parameters inside the square brackets are optional

Parameters
ExitLabel - an optional parameter; assigns a name that will be displayed in the name label
above the exit
If ExitLabel is not specified, the name "Sell" will be used for the first exit, "Sell#2" for the
second exit, "Sell#3" for the third exit, etc.
EntryLabel - an optional parameter; ties the exit to the particular entry that was assigned the
EntryLabel name; the name must be preceded by the word "Entry", the word "From 724 " is a
skip word and can be omitted
An exit can only be tied to an entry within the same signal. For more information, see Buy 733

If EntryLabel is not specified, all of the open long entries will be closed.

TradeSize - an optional parameter; a numerical expression, specifying the number of contracts or


shares to sell; the expression must be followed by one of the following transposable words: Share
, Shares, Contract or Contracts.
By default, the number of contracts or shares specified by the TradeSize parameter will be sold
from each one of the open long entries.
If TradeSize is followed by the word "Total", only the number of contracts or shares specified
by the TradeSize parameter will be sold, regardless of the number of open long entries. The
contracts or shares will be sold in the same order they were bought: First In, First Out.
If TradeSize is not specified, the entire long position will be closed out.

Exit - a required parameter; specifies the timing and price of exit.

There are four types of Exit:

This Bar[On]Close
Where: - On 727 is a skip word and can be omitted
A Sell Arrow will be placed at the current bar's Close tick.

Next Bar[At]Open or Next Bar[At]Market


Where: - words "Market" and "Open" are transposable
- At 720 is a skip word and can be omitted
A Sell Arrow will be placed at the next bar's Open tick.

Next Bar[At]Price Limit


Where: - Price is a numerical expression, specifying the Limit Price
- At 720 is a skip word and can be omitted
A Sell Arrow will be placed on the next bar at the first tick with a price value greater than or equal
to Price ; if there are no such ticks within the next bar, the order will be cancelled.
Next Bar[At]Price Stop
Where: - Price is a numerical expression, specifying the Stop Price
- At 720 is a skip word and can be omitted

© 2009 TS Support, LLC


746 MultiCharts 5.5 User Guide

A Sell Arrow will be placed on the next bar at the first tick with a price value equal to or less than
the Price ; if there are no such ticks within the next bar, the order will be cancelled.

Example
Completely exit all open long entries at Market price on close of this bar and label the exit "Complete
Exit":
Sell("Complete Exit")This Bar On Close;

Completely exit from the long position established by the entry labeled "Original Entry", at Market
price on open of next bar:
Sell From Entry("Original Entry")Next Bar At Open;

Sell 10 shares of the long position established by the entry labeled "Original Entry", at Market price
on open of next bar:
Sell Entry("Original Entry")10 Shares Next Bar At Market;

Sell 5 contracts for each one of the open long entries at Market price on open of next bar:
Sell 5 Contracts Next Bar Market;

Sell a total of 1 share, regardless of the number of open long entries, within the next bar on the first
tick with a price of 100 or more (the longest-held share will be sold if the price is met):
Sell 1 Share Total Next Bar At 100 Limit;

Completely exit all long entries within the next bar on the first tick with a price of 50 or less:
Sell Next Bar 50 Stop;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 747

6.5.23.13 SellShort

SellShort
Enters a short position as specified by the parameters.
The entry point is visually indicated on a chart by an Arrow and a Tick. The Arrow identifies the time
and the Tick identifies the price value of the entry point. Labels, displaying the entry name and the
number of contracts or shares traded, are displayed above the Short Arrow.
An order is executed at the point specified by the parameters; if the order is not filled within the
specified bar, the order is cancelled.
When a Sell Short order is filled, any open long positions will also be closed.

Usage
SellShort[("EntryLabel")][TradeSize]Entry
or:
Sell Short[("EntryLabel")][TradeSize]Entry
Parameters inside the square brackets are optional
Parameters
EntryLabel - an optional parameter; assigns a name that will be displayed in the name label
above the entry, and can be used to identify the particular entry and to tie an exit to it.
An exit can only be tied to an entry within the same signal; for more information, see BuyToCover
735 .

If EntryLabel is not specified, the name "Short" will be used for the first entry, "Short#2" for the
second entry, "Short#3" for the third entry, etc.

TradeSize - an optional parameter; a numerical expression, specifying the number of contracts


or shares to sell short; the expression must be followed by one of the following transposable
words: Share, Shares, Contract or Contracts.
If TradeSize value equals 0 or is negative, a short position will not be entered but any open long
positions will be closed.
If TradeSize is not specified, the trade size value set by the user in the Properties tab of the
Strategy Properties window will be used.

Entry - a required parameter; specifies the timing and price of entry.


There are four types of Entry:
This Bar[On]Close
Where: - On 727 is a skip word and can be omitted
A Short Arrow will be placed at the current bar's Close tick.

Next Bar[At]Open or Next Bar[At]Market


Where: - words "Market" and "Open" are transposable
- At 720 is a skip word and can be omitted
A Short Arrow will be placed at the next bar's Open tick.

Next Bar[At]Price Limit


Where: - Price is a numerical expression, specifying the Limit Price
- At 720 is a skip word and can be omitted

A Short Arrow will be placed on the next bar at the first tick with a price equal to or greater than
the Price ; if there are no such ticks within the next bar, the order will be cancelled.
Next Bar[At]Price Stop
Where: - Price is a numerical expression, specifying the Stop Price
- At 720 is a skip word and can be omitted

© 2009 TS Support, LLC


748 MultiCharts 5.5 User Guide

A Short Arrow will be placed on the next bar at the first tick with a price value less than or equal to
Price ; if there are no such ticks within the next bar, the order will be cancelled.

Example
SellShort a user-set number of shares at Market price on close of this bar:
SellShort This Bar On Close;

SellShort 1 share at Market price on open of next bar and label the entry "Entry":
SellShort("Entry")1 Share Next Bar At Open;

SellShort 1 contract at Market price on open of next bar and label the entry "Entry":
SellShort("Entry")1 Contract Next Bar Market;

SellShort 2 shares within the next bar on the first tick with a price of 100 or more:
SellShort 2 Shares Next Bar At 100 Limit;

SellShort 10 contracts within the next bar on the first tick with a price of 50 or less:
SellShort 10 Contracts Next Bar 50 Stop;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 749

6.5.23.14 SetBreakeven

SetBreakEven
Closes out the entire position or the entry if it is at the breakeven point after the profit has reached
the specified value; generates the appropriate Stop order depending on whether the position is long
or short.
SetStopPosition 756 and SetStopContract 754 or SetStopShare 757 functions determine
whether SetBreakEven will be applied to the entire position or to each contract or share individually;
by default, SetBreakEven is applied to the entire position.
SetBreakEven function is evaluated intra-bar and not only on close of a bar, and can exit within the
same bar as the entry.
Usage
SetBreakEven(Profit)
Where: Profit - a numerical expression, specifying the currency value of the profit that must be
reached first
Notes
This function can only be used in signals.
SetBreakEven function does not factor in commissions or slippage.
Example
Generate an exit order for the entire position if it is at the breakeven point after position profit has
reached $50:
SetStopPosition;
SetBreakEven(50);

Generate an exit order for the entry if it is at the breakeven point after per contract profit has reached
$10:
SetStopContract;
SetBreakEven(10);

© 2009 TS Support, LLC


750 MultiCharts 5.5 User Guide

6.5.23.15 SetDollarTrailing

SetDollarTrailing
Closes out the entire position or the entry if the current profit is less than the maximum profit by the
specified amount; generates the appropriate Stop order depending on whether the position is long or
short.
For example, if the specified ammount is $50 and the profit has reached the maximum of $120, the
position will be closed once the profit drops to $70.
SetStopPosition 756 and SetStopContract 754 or SetStopShare 757 functions determine
whether SetDollarTrailing will be applied to the entire position or to each contract or share
individually; by default, SetDollarTrailing is applied to the entire position.
SetDollarTrailing function is evaluated intra-bar and not only on close of a bar, and can exit within the
same bar as the entry.

Usage
SetDollarTrailing(Amount)
Where: Amount - a numerical expression, specifying the currency value of the maximum loss of
profit
Notes
This function can only be used in signals.
Example
Generate an exit order for the entire position if position profit drops by $50:
SetStopPosition;
SetDollarTrailing(50);

Generate an exit order for the entry if per contract profit drops by $10:
SetStopContract;
SetDollarTrailing(10);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 751

6.5.23.16 SetExitOnClose

SetExitOnClose
Closes out the current position at the Close tick of the last bar of the trading session on an intra-day
chart; generates the appropriate Market exit order depending on whether the position is long or short.
SetExitOnClose function uses the session closing time specified in the session settings for the
symbol in the QuoteManager.

Usage
SetExitOnClose

Notes
This function can only be used in signals.
Example
Generate an exit order at the Close tick of the last bar of the trading session:
SetExitOnClose;

© 2009 TS Support, LLC


752 MultiCharts 5.5 User Guide

6.5.23.17 SetPercentTrailing

SetPercentTrailing
Closes out the entire position or the entry if the specified percentage of the maximum profit is lost
after the profit has reached the specified value; generates the appropriate Stop order depending on
whether the position is long or short.
For example, if the specified profit is $100 and the specified percentage is 50, and the profit has
reached the maximum of $120, the position will be closed once the profit falls back to $60.
SetStopPosition 756 and SetStopContract 754 or SetStopShare 757 functions determine
whether SetPercentTrailing will be applied to the entire position or each contract or share individually;
by default, SetPercentTrailing is applied to the entire position.
SetPercentTrailing function is evaluated intra-bar and not only on close of a bar, and can exit within
the same bar as the entry.

Usage
SetPercentTrailing(Profit,Percentage)
Where: Profit - a numerical expression, specifying the currency value of the profit that must be
reached first
Percentage - a numerical expression, specifying the maximum loss of profit in percent

Notes
This function can only be used in signals.
Example
Generate an exit order for the entire position if 50 percent of maximum position profit is lost after the
profit has reached $25:
SetStopPosition;
SetPercentTrailing(25,50);

Generate an exit order for the entry if 25 percent of maximum per share profit is lost after the profit
has reached $5:
SetStopShare;
SetPercentTrailing(5,25);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 753

6.5.23.18 SetProfitTarget

SetProfitTarget
Closes out the entire position or the entry if profit reaches the specified currency value; generates the
appropriate Limit exit order depending on whether the position is long or short.
SetStopPosition 756 and SetStopContract 754 or SetStopShare 757 functions determine
whether the profit target will be applied to the entire position or to each contract or share individualy;
by default, profit target is applied to the entire position.
SetProfitTarget function is evaluated intra-bar and not only on close of a bar, and can exit within the
same bar as the entry.

Usage
SetProfitTarget(Amount)
Where: Amount - a numerical expression, specifying the profit target amount

Notes
This function can only be used in signals.
Example
Generate an exit order for the entire position if the position profit reaches $100:
SetStopPosition;
SetProfitTarget(100);

Generate an exit order for the entry if the profit per contract reaches $10:
SetStopContract;
SetProfitTarget(10);

© 2009 TS Support, LLC


754 MultiCharts 5.5 User Guide

6.5.23.19 SetStopContract

SetStopContract
Forces the built-in strategy exit functions to be applied on per contract or share basis.
The built-in strategy exit functions are: SetStopLoss 755 , SetProfitTarget 753 ,
SetBreakEven 749 , SetDollarTrailing 750 , and SetPercentTrailing 752 .

Usage
SetStopContract

Notes
If SetStopPositon, SetStopContract, and SetStopShare were not used, the exit functions will
be applied on the entire position basis as a default.
If SetStopPositon, SetStopContract, and SetStopShare were used in multiple instances or in
different signals applied to the same chart, the last instance will be controlling.
Example
Force the SetStopLoss strategy exit function to be applied on per contract basis:
SetStopContract;
SetStopLoss(10);
An exit order for the entry will be generated if the loss per contract reaches $10.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 755

6.5.23.20 SetStopLoss

SetStopLoss
Closes out the entire position or the entry if the loss reaches the specified currency value; generates
the appropriate Stop order depending on whether the position is long or short.
SetStopPosition 756 and SetStopContract 754 or SetStopShare 757 functions determine
whether the stop loss will be applied to the entire position or to each contract or share individually; by
default, stop loss is applied to the entire position.
SetStopLoss function is evaluated intra-bar and not only on close of a bar, and can exit within the
same bar as the entry.

Usage
SetStopLoss(Amount)
Where: Amount - a numerical expression, specifying the stop loss amount

Notes
This function can only be used in signals.
Example
Generate an exit order for the entire position if the position loss reaches $100:
SetStopPosition;
SetStopLoss(100);

Generate an exit order for the entry if the loss per contract reaches $10:
SetStopContract;
SetStopLoss(10);

© 2009 TS Support, LLC


756 MultiCharts 5.5 User Guide

6.5.23.21 SetStopPosition

SetStopPosition
Forces the built-in strategy exit functions to be applied on the entire position basis.
The built-in strategy exit functions are: SetStopLoss 755 , SetProfitTarget 753 ,
SetBreakEven 749 , SetDollarTrailing 750 , and SetPercentTrailing 752 .

Usage
SetStopPosition

Notes
If SetStopPositon, SetStopContract, and SetStopShare were not used, the exit functions will
be applied on the entire position basis as a default.
If SetStopPositon, SetStopContract, and SetStopShare were used in multiple instances or in
different signals applied to the same chart, the last instance will be controlling.
Example
Force SetStopLoss strategy exit function to be applied on the entire position basis:
SetStopPosition;
SetStopLoss(100);
An exit order for the entire position will be generated if the position loss reaches $100.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 757

6.5.23.22 SetStopShare

SetStopShare
Same as SetStopContract 754

© 2009 TS Support, LLC


758 MultiCharts 5.5 User Guide

6.5.23.23 Share

Share
Same as Shares 759

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 759

6.5.23.24 Shares

Shares
Used in strategy entry or exit statements in combination with a numerical expression to specify the
number of shares or contracts to trade.

Usage
TradeSize Shares
Where: TradeSize - a numerical expression, specifying the number of shares or contracts

Example
Buy 2 shares at Market price on open of next bar:
Buy 2 Shares Next Bar At Market;

© 2009 TS Support, LLC


760 MultiCharts 5.5 User Guide

6.5.23.25 Short

Short
Used in combination with the word Sell; same as SellShort 747 .

Usage
Sell Short[("EntryLabel")][TradeSize]Entry;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 761

6.5.23.26 Stop

Stop
Used in strategy entry or exit statements to specify a Stop price for an entry or an exit.
A Stop order will execute at the specified price or worse. A worse price is a higher price for Buy and
Buy to cover orders, and a lower price for Sell and Sell short orders.

Usage
At Price Stop
Where: Price - a numerical expression, specifying the Limit Price
At 720 - a skip word and can be omitted

Example
Sell within the next bar on the first tick with a price of 100 or less:
Sell Next Bar 100 Stop;

Cover within the next bar on the first tick with a price of 50 or more:
BuyToCover Next Bar At 50 Stop;

© 2009 TS Support, LLC


762 MultiCharts 5.5 User Guide

6.5.23.27 Total

Total
Used in strategy exit statements, following a numerical expression and the words Shares or
Contracts, to indicate that only the number of contracts or shares specified by the numerical
expression is to be sold or covered in total, regardless of the number of open entries. The contracts
or shares will be sold or covered in the same order they were bought or shorted: First In, First Out.
If the word Total is not used, the number of contracts or shares specified by the numerical
expression will be sold or covered for each one of the open entries.

Usage
TradeSize Shares Total
Where: TradeSize - a numerical expression, specifying the number of shares or contracts

Example
Sell a total of 2 contracts, regardless of the number of open long entries, at Market price on open of
next bar:
Sell 2 Contracts Total Next Bar At Market;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 763

6.5.24 Strategy Performance


6.5.24.1 AvgBarsEvenTrade

AvgBarsEvenTrade
Returns a numerical value, indicating the average number of bars a position was held during all
completed even trades.
Usage
AvgBarsEvenTrade

Notes
This function can only be used in signals.
Example
AvgBarsEvenTrade will return a value of 3.5 if four even trades held positions for 2, 5, 3, and 4
bars

© 2009 TS Support, LLC


764 MultiCharts 5.5 User Guide

6.5.24.2 AvgBarsLosTrade

AvgBarsLosTrade
Returns a numerical value, indicating the average number of bars a position was held during all
completed losing trades.
Usage
AvgBarsLosTrade

Notes
This function can only be used in signals.
Example
AvgBarsLosTrade will return a value of 3.5 if four losing trades held positions for 2, 5, 3, and 4 bars

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 765

6.5.24.3 AvgBarsWinTrade

AvgBarsWinTrade
Returns a numerical value, indicating the average number of bars a position was held during all
completed winning trades.
Usage
AvgBarsWinTrade

Notes
This function can only be used in signals.
Example
AvgBarsWinTrade will return a value of 3.5 if four winning trades held positions for 2, 5, 3, and 4
bars

© 2009 TS Support, LLC


766 MultiCharts 5.5 User Guide

6.5.24.4 AvgEntryPrice

AvgEntryPrice
Returns a numerical value, indicating the average entry price for all open entries in a pyramided
position.
Usage
AvgEntryPrice

Notes
This function can only be used in signals.
Example
AvgEntryPrice will return a value of 101 if there were three open entries at 95, 105, and 103

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 767

6.5.24.5 GrossLoss

GrossLoss
Returns a negative numerical value, indicating the total currency value of all completed losing trades.
Usage
GrossLoss

Notes
This function can only be used in signals.
Example
GrossLoss will return a value of -50 if there were a total of four losing trades, at 10, 5, 20, and 15
GrossLoss will return a value of 0 if no losing trades were completed during the entire trading period

© 2009 TS Support, LLC


768 MultiCharts 5.5 User Guide

6.5.24.6 GrossProfit

GrossProfit
Returns a numerical value, indicating the total currency value of all completed winning trades.
Usage
GrossProfit
Note
This function can only be used in signals.
Example
GrossProfit will return a value of 50 if there were a total of four winning trades, at 10, 5, 20, and
15
GrossProfit will return a value of 0 if no winning trades were completed during the entire trading
period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 769

6.5.24.7 i_AvgEntryPrice

i_AvgEntryPrice
Same as AvgEntryPrice 766 except used in studies.

© 2009 TS Support, LLC


770 MultiCharts 5.5 User Guide

6.5.24.8 i_ClosedEquity

i_ClosedEquity
Returns the profit or loss realized when a position has been closed.
Usage
i_ClosedEquity

Notes
This function can only be used in studies.
Example
i_ClosedEquity will return 100 if the closed equity is 100.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 771

6.5.24.9 i_CurrentContracts

i_CurrentContracts
Same as CurrentContracts 794 except used in studies.

© 2009 TS Support, LLC


772 MultiCharts 5.5 User Guide

6.5.24.10 i_CurrentShares

i_CurrentShares
Same as CurrentShares 796 except used in studies.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 773

6.5.24.11 i_MarketPosition

i_MarketPosition
Returns a numerical value, indicating the type of the specified position.
A value of 1 indicates the current bar has a long position, -1 indicates the current bar has a short
position, and 0 is returned only if the current bar has a flat position.

Usage
i_MarketPosition

Notes
This function can only be used in studies.
Example
i_MarketPosition will return a value of 0 if the position on the current bar is flat
i_MarketPosition will return a value of 1 if the position on the current bar is long
i_MarketPosition will return a value of -1 if the position on the current bar is short

© 2009 TS Support, LLC


774 MultiCharts 5.5 User Guide

6.5.24.12 i_OpenEquity

i_OpenEquity
Returns the current gain or loss while a position is open.
Usage
i_OpenEquity

Notes
This function can only be used in studies.
Example
i_OpenEquity will return 100 if the gain on open positions is 100.
i_OpenEquity will return -100 if the loss on open positions is 100.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 775

6.5.24.13 LargestLosTrade

LargestLosTrade
Returns a negative numerical value, indicating the currency value of the largest completed losing
trade.
Usage
LargestLosTrade

Notes
This function can only be used in signals.
Example
LargestLosTrade will return a value of -20 if there were a total of four losing trades at 10, 5, 20,
and 15
LargestLosTrade will return a value of 0 if no losing trades were completed during the entire
trading period

© 2009 TS Support, LLC


776 MultiCharts 5.5 User Guide

6.5.24.14 LargestWinTrade

LargestWinTrade
Returns a numerical value, indicating the currency value of the largest completed winning trade.
Usage
LargestWinTrade

Notes
This function can only be used in signals.
Example
LargestWinTrade will return a value of 20 if there were a total of four winning trades at 10, 5, 20,
and 15
LargestWinTrade will return a value of 0 if no winning trades were completed during the entire
trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 777

6.5.24.15 MaxConsecLosers

MaxConsecLosers
Returns a numerical value, indicating the number of trades in the longest sequence of consecutive
completed losing trades.
Usage
MaxConsecLosers

Notes
This function can only be used in signals.
Example
MaxConsecLosers will return a value of 3 if there were three consecutive completed losing trades
MaxConsecLosers will return a value of 0 if no losing trades were completed during the entire
trading period

© 2009 TS Support, LLC


778 MultiCharts 5.5 User Guide

6.5.24.16 MaxConsecWinners

MaxConsecWinners
Returns a numerical value, indicating the number of trades in the longest sequence of consecutive
completed winning trades.
Usage
MaxConsecWinners

Notes
This function can only be used in signals.
Example
MaxConsecWinners will return a value of 3 if there were three consecutive completed winning
trades
MaxConsecWinners will return a value of 0 if no winning trades were completed during the entire
trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 779

6.5.24.17 MaxContractsHeld

MaxContractsHeld
Returns a numerical value, indicating the maximum number of contracts or shares held at any one
time.
Usage
MaxContractsHeld

Notes
This function can only be used in signals.
Example
MaxContractsHeld will return a value of 10 if a maximum of ten contracts were held at any one
time

© 2009 TS Support, LLC


780 MultiCharts 5.5 User Guide

6.5.24.18 MaxIDDrawDown

MaxIDDrawDown
Returns a negative numerical value, indicating the largest decline in equity during the entire trading
period.
Usage
MaxIDDrawDown

Notes
This function can only be used in signals.
Example
MaxIDDrawDown will return a value of -500 if the largest decline in equity during the entire trading
period was $500

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 781

6.5.24.19 MaxSharesHeld

MaxSharesHeld
Same as MaxContractsHeld 779

© 2009 TS Support, LLC


782 MultiCharts 5.5 User Guide

6.5.24.20 NetProfit

NetProfit
Returns a numerical value, indicating the total currency value of all completed trades.
Usage
NetProfit

Notes
This function can only be used in signals.
Example
NetProfit will return a value of 20 if there were winning trades at 25 and 10, and losing trades at 5
and 10
NetProfit will return a value of -15 if there were winning trades at 10 and 5, and losing trades at 20
and 10
NetProfit will return a value of 0 no trades were completed during the entire trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 783

6.5.24.21 NumEvenTrades

NumEvenTrades
Returns a numerical value, indicating the total number of all completed even trades.
Usage
NumEvenTrades

Notes
This function can only be used in signals.
Example
NumEvenTrades will return a value of 10 if there were ten completed even trades
NumEvenTrades will return a value of 0 if no even trades were completed during the entire trading
period

© 2009 TS Support, LLC


784 MultiCharts 5.5 User Guide

6.5.24.22 NumLosTrades

NumLosTrades
Returns a numerical value, indicating the number of all completed losing trades.
Usage
NumLosTrades

Notes
This function can only be used in signals.
Example
NumLosTrades will return a value of 5 if there were a total of five completed losing trades
NumLosTrades will return a value of 0 if no losing trades were completed during the entire trading
period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 785

6.5.24.23 NumWinTrades

NumWinTrades
Returns a numerical value, indicating the number of all completed winning trades.
Usage
NumWinTrades

Notes
This function can only be used in signals.
Example
NumWinTrades will return a value of 5 if there were a total of five completed winning trades
NumWinTrades will return a value of 0 if no winning trades were completed during the entire trading
period

© 2009 TS Support, LLC


786 MultiCharts 5.5 User Guide

6.5.24.24 PercentProfit

PercentProfit
Returns a numerical value, indicating the percentage of winning trades in all trades completed.
Usage
PercentProfit

Notes
This function can only be used in signals.
Example
PercentProfit will return a value of 70 if seven out of the total of 10 completed trades were
winning trades

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 787

6.5.24.25 TotalBarsEvenTrades

TotalBarsEvenTrades
Returns a numerical value, indicating the total number of bars a position was held during all
completed even trades.
Usage
TotalBarsEvenTrades

Notes
This function can only be used in signals.
Example
TotalBarsEvenTrades will return a value of 14 if four even trades held positions for 2, 5, 3, and 4
bars
TotalBarsEvenTrades will return a value of 0 if no even trades were completed during the entire
trading period

© 2009 TS Support, LLC


788 MultiCharts 5.5 User Guide

6.5.24.26 TotalBarsLosTrades

TotalBarsLosTrades
Returns a numerical value, indicating the total number of bars a position was held during all
completed losing trades.
Usage
TotalBarsLosTrades

Notes
This function can only be used in signals.
Example
TotalBarsLosTrades will return a value of 14 if four losing trades held positions for 2, 5, 3, and 4
bars
TotalBarsLosTrades will return a value of 0 if no losing trades were completed during the entire
trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 789

6.5.24.27 TotalBarsWinTrades

TotalBarsWinTrades
Returns a numerical value, indicating the total number of bars a position was held during all
completed winning trades.
Usage
TotalBarsWinTrades

Notes
This function can only be used in signals.
Example
TotalBarsWinTrades will return a value of 14 if four winning trades held positions for 2, 5, 3, and 4
bars
TotalBarsWinTrades will return a value of 0 if no winning trades were completed during the entire
trading period

© 2009 TS Support, LLC


790 MultiCharts 5.5 User Guide

6.5.24.28 TotalTrades

TotalTrades
Returns a numerical value, indicating the total number of all completed trades.
Usage
TotalTrades

Notes
This function can only be used in signals.
Example
TotalTrades will return a value of 5 if there were a total of five completed trades
TotalTrades will return a value of 0 if no trades were completed during the entire trading period

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 791

6.5.25 Strategy Position


6.5.25.1 BarsSinceEntry

BarsSinceEntry
Returns a numerical value, indicating the number of bars since the initial entry into the specified
position.

Usage
BarsSinceEntry(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the number of bars since the current position has been entered, to Value1
variable:
Value1=BarsSinceEntry;

Assign a value, indicating the number of bars since the most recently closed position has been
entered, to Value1 variable:
Value1=BarsSinceEntry(1);

© 2009 TS Support, LLC


792 MultiCharts 5.5 User Guide

6.5.25.2 BarsSinceExit

BarsSinceExit
Returns a numerical value, indicating the number of bars since a complete exit from the specified
position.

Usage
BarsSinceExit(PosBack)
Where: PosBack - a numerical expression, specifying the position:
1 - the last position closed (one position back);
2 - two positions back, etc.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the number of bars since the last position has been closed, to Value1
variable:
Value1=BarsSinceExit(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 793

6.5.25.3 ContractProfit

ContractProfit
Returns a numerical value, indicating the current profit or loss per each contract or share of a multi-
share or multi-contract position.

Usage
ContractProfit

Notes
This function can only be used in signals.
Example
Assign a value, indicating the current profit or loss per contract or share, to Value1 variable:
Value1=ContractProfit;

© 2009 TS Support, LLC


794 MultiCharts 5.5 User Guide

6.5.25.4 CurrentContracts

CurrentContracts
Returns an absolute numerical value, indicating the number of contracts or shares held in the current
position.

Usage
CurrentContracts

Notes
This function can only be used in signals.
Example
CurrentContracts will return a value of 1 for 1 contract long
CurrentContracts will return a value of 5 for 5 shares short

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 795

6.5.25.5 CurrentEntries

CurrentEntries
Returns a numerical value, indicating the number of open entries for the current position.

Usage
CurrentEntries

Notes
This function can only be used in signals.
Example
Assign a value, indicating the number of open entries in the current position, to Value1 variable:
Value1=CurrentEntries;

© 2009 TS Support, LLC


796 MultiCharts 5.5 User Guide

6.5.25.6 CurrentShares

CurrentShares
Same as CurrentContracts 794

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 797

6.5.25.7 EntryDate

EntryDate
Returns a numerical value, indicating the date of initial entry into the specified 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
EntryDate(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the date that the current position has been entered, to Value1 variable:
Value1=EntryDate;
Value 1 will equal to 1081030 for the entry date of October 30th, 2008

Assign a value, indicating the date that the most recently closed position has been entered, to Value1
variable:
Value1=EntryDate(1);
Value 1 will equal to 990402 for the entry date of April 2nd, 1999

© 2009 TS Support, LLC


798 MultiCharts 5.5 User Guide

6.5.25.8 EntryPrice

EntryPrice
Returns a numerical value, indicating the price at the initial entry into the specified position.

Usage
EntryPrice(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the entry price for the current position, to Value1 variable:
Value1=EntryPrice;
Assign a value, indicating the entry price for the most recently closed position, to Value1 variable:
Value1=EntryPrice(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 799

6.5.25.9 EntryTime

EntryTime
Returns a numerical value, indicating the time of initial entry into the specified position. The time is
indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
EntryTime(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the time that the current position has been entered, to Value1 variable:
Value1=EntryTime;
Value 1 will equal to 1015 for 10:15 AM

Assign a value, indicating the time that the most recently closed position has been entered, to Value1
variable:
Value1=EntryTime(1);
Value 1 will equal to 1545 for 3:45 PM

© 2009 TS Support, LLC


800 MultiCharts 5.5 User Guide

6.5.25.10 ExitDate

ExitDate
Returns a numerical value, indicating the date of the complete exit from the specified 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
ExitDate(PosBack)
Where: PosBack - a numerical expression, specifying the position:
1 - the last position closed (one position back);
2 - two positions back, etc.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the date that the most recently closed position has been exited, to Value1
variable:
Value1=ExitDate(1);
Value 1 will equal to 1081030 for the exit date of October 30th, 2008

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 801

6.5.25.11 ExitPrice

ExitPrice
Returns a numerical value, indicating the price at a complete exit from the specified position.

Usage
ExitPrice(PosBack)
Where: PosBack - a numerical expression, specifying the position:
1 - the last position closed (one position back);
2 - two positions back, etc.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the exit price of the most recently closed position, to Value1 variable:
Value1=ExitPrice(1);

© 2009 TS Support, LLC


802 MultiCharts 5.5 User Guide

6.5.25.12 ExitTime

ExitTime
Returns a numerical value, indicating the time at the complete exit from the specified position. The
time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
ExitTime(PosBack)
Where: PosBack - a numerical expression, specifying the position:
1 - the last position closed (one position back);
2 - two positions back, etc.

Notes
This function can only be used in signals.
Example
Assign a value, indicating the time that the most recently closed position has been exited, to Value1
variable:
Value1=ExitTime(1);
Value 1 will equal to 1545 for 3:45 PM

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 803

6.5.25.13 i_MarketPosition_at_Broker

i_MarketPosition_at_Broker
Returns a numerical value, indicating the type of the specified position at the broker for the symbol.
A value of 1 indicates a long position, -1 indicates a short position, and 0 is returned only if the
current position is specified and indicates that the current position is flat.

Usage
MarketPosition_at_Broker

Notes
This function can only be used in indicators.
This function differs from the marketposition keyword in that it cannot take an argument to reference
past values.
This function can only be used with Interactive Brokers, Patsystems, and Zen-Fire.
Example
i_MarketPosition_at_Broker will return a 1 if the current position at the broker for the strategy
is long.
i_MarketPosition_at_Broker will return a -1 if the current position at the broker for the strategy
is short.
i_MarketPosition_at_Broker will return a 0 if the current position at the broker for the strategy
is flat.

© 2009 TS Support, LLC


804 MultiCharts 5.5 User Guide

6.5.25.14 i_MarketPosition_at_Broker_for_The_Strategy

i_MarketPosition_at_Broker_for_The_Strategy
Returns a numerical value, indicating the type of the specified position at the broker for the strategy.
A value of 1 indicates a long position, -1 indicates a short position, and 0 is returned only if the
current position is specified and indicates that the current position is flat.

Usage
i_MarketPosition_at_Broker_for_The_Strategy

Notes
This function can only be used in indicators.
This function differs from the marketposition keyword in that it cannot take an argument to reference
past values.
Example
i_MarketPosition_at_Broker_for_The_Strategy will return a 1 if the current position at the
broker for the strategy is long.
i_MarketPosition_at_Broker_for_The_Strategy will return a -1 if the current position at the
broker for the strategy is short.
i_MarketPosition_at_Broker_for_The_Strategy will return a 0 if the current position at the
broker for the strategy is flat.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 805

6.5.25.15 MarketPosition

MarketPosition
Returns a numerical value, indicating the type of the specified position.
A value of 1 indicates a long position, -1 indicates a short position, and 0 is returned only if the
current position is specified and indicates that the current position is flat.

Usage
MarketPosition(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
MarketPosition will return a value of 0 if the current position is flat
MarketPosition (1) will return a value of -1 if the most recently closed position was a short
position

© 2009 TS Support, LLC


806 MultiCharts 5.5 User Guide

6.5.25.16 MarketPosition_at_Broker

MarketPosition_at_Broker
Returns a numerical value, indicating the type of the specified position at the broker for the symbol.
A value of 1 indicates a long position, -1 indicates a short position, and 0 is returned only if the
current position is specified and indicates that the current position is flat.

Usage
MarketPosition_at_Broker

Notes
This function can only be used in signals and functions.
This function differs from the marketposition keyword in that it cannot take an argument to reference
past values.
This function can only be used with Interactive Brokers, Patsystems, and Zen-Fire.
Example
MarketPosition_at_Broker will return a 1 if the current position at the broker for the strategy is
long.
MarketPosition_at_Broker will return a -1 if the current position at the broker for the strategy is
short.
MarketPosition_at_Broker will return a 0 if the current position at the broker for the strategy is
flat.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 807

6.5.25.17 MarketPosition_at_Broker_for_The_Strategy

MarketPosition_at_Broker_for_The_Strategy
Returns a numerical value, indicating the type of the specified position at the broker for the strategy.
A value of 1 indicates a long position, -1 indicates a short position, and 0 is returned only if the
current position is specified and indicates that the current position is flat.

Usage
MarketPosition_at_Broker_for_The_Strategy

Notes
This function can only be used in signals and functions.
This function differs from the marketposition keyword in that it cannot take an argument to reference
past values.
Example
MarketPosition_at_Broker_for_The_Strategy will return a 1 if the current position at the
broker for the strategy is long.
MarketPosition_at_Broker_for_The_Strategy will return a -1 if the current position at the
broker for the strategy is short.
MarketPosition_at_Broker_for_The_Strategy will return a 0 if the current position at the
broker for the strategy is flat.

© 2009 TS Support, LLC


808 MultiCharts 5.5 User Guide

6.5.25.18 MaxContractProfit

MaxContractProfit
Returns a numerical value, indicating the largest gain reached per each contract or share of a current
multi-share or multi-contract position.

Usage
MaxContractProfit

Notes
This function can only be used in signals.
Example
Assign a value, indicating the largest gain reached per contract or share, to Value1 variable:
Value1=MaxContractProfit;

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 809

6.5.25.19 MaxContracts

MaxContracts
Returns an absolute numerical value, indicating the maximum number of contracts held during the
specified position.

Usage
MaxContracts(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
MaxContracts will return a value of 0 if the current position is flat
MaxContracts (1) will return a value of 10 if the most recently closed position was long or short a
maximum of 10 contracts

© 2009 TS Support, LLC


810 MultiCharts 5.5 User Guide

6.5.25.20 MaxEntries

MaxEntries
Returns a numerical value, indicating the total number of entries for the specified position.

Usage
MaxEntries(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.
If PosBack is not specified, a value for the open position will be returned.

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

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 811

6.5.25.21 MaxPositionAgo

MaxPositionAgo
Returns a numerical value, indicating the number of times that the strategy has held a
position; positions that have not been closed are not included in the count.
Usage
MaxPositionAgo
Example
MaxPositionAgo will return a value, indicating the number of times that the strategy has
held a position

© 2009 TS Support, LLC


812 MultiCharts 5.5 User Guide

6.5.25.22 MaxPositionLoss

MaxPositionLoss
Returns a negative numerical value, indicating the largest loss reached while the specified position
was held.

Usage
MaxPositionLoss(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
MaxPositionLoss will return a value of 0 if the value of the open position has not dropped below
the entry price at any time while it was held
MaxPositionLoss (1) will return a value of -10 if the most recently closed position has dropped in
value as much as $10 while it was held

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 813

6.5.25.23 MaxPositionProfit

MaxPositionProfit
Returns a numerical value, indicating the largest gain reached while the specified position was held.

Usage
MaxPositionProfit(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
MaxPositionProfit will return a value of 0 if the value of the open position has not increased at
any time while it was held
MaxPositionProfit (1) will return a value of 10 if the most recently closed position has gained in
value as much as $10 while it was held

© 2009 TS Support, LLC


814 MultiCharts 5.5 User Guide

6.5.25.24 MaxShares

MaxShares
Same as MaxContracts 809

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 815

6.5.25.25 OpenPositionProfit

OpenPositionProfit
Returns a numerical value, indicating the current profit or loss for the open position.

Usage
MarketPosition

Notes
This function can only be used in signals.
Example
OpenPositionProfit will return a value of 0 if the current position is flat
OpenPositionProfit will return a value of 10 if the value of the open position has increased by
$10 since it was entered
OpenPositionProfit will return a value of -5 if the value of the open position has decreased by
$5 since it was entered

© 2009 TS Support, LLC


816 MultiCharts 5.5 User Guide

6.5.25.26 PositionProfit

PositionProfit
Returns a numerical value, indicating the profit or loss for the specified position.

Usage
PositionProfit(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.
If PosBack is not specified, a value for the open position will be returned.

Notes
This function can only be used in signals.
Example
PositionProfit will return a value of 0 if the current position is flat
PositionProfit (0) will return a value of 5 if the value of the open position has increased by $5
since it was entered
PositionProfit (1) will return a value of -5 if the most recently closed position has generated a
loss of $5

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 817

6.5.26 Strategy Properties


6.5.26.1 Commission

Commission
Returns the commission currency value entered in the Strategy Properties window.
Usage
Commission

Notes
This function can only be used in signals.
Example
Commission will return a value of 10.00 if the commission has been set to $10

© 2009 TS Support, LLC


818 MultiCharts 5.5 User Guide

6.5.26.2 GetStrategyName

GetStrategyName
Retained for backward compatibility.

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 819

6.5.26.3 Margin

Margin
Returns a dollar value that indicates the margin value per contract.
Usage
Margin

Notes
The margin value may not be returned for all types of the securities. The margin value is returned for
futures and options.
Example
Margin

© 2009 TS Support, LLC


820 MultiCharts 5.5 User Guide

6.5.26.4 Slippage

Slippage
Returns the slippage currency value entered in the Strategy Properties window.
Usage
Slippage

Notes
This function can only be used in signals.
Example
Slippage will return a value of 0.25 if the slippage has been set to $0.25

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 821

6.5.27 Text Drawing


6.5.27.1 Text_Delete

Text_Delete
Removes a text object with the specified ID number from a chart; returns a value of 0 if the object
was successfully removed, and a value of -2 if the specified object ID number is invalid.

Usage
Text_Delete(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Remove the text object with an ID number of 3:
Value1=Text_Delete(3);

© 2009 TS Support, LLC


822 MultiCharts 5.5 User Guide

6.5.27.2 Text_GetActive

Text_GetActive
Returns a numerical value indicating the object ID number of the currently selected text object;
returns a value of -1 if no text objects are currently selected.

Usage
Text_GetActive

Notes
An object-specific ID number is assigned by Text_New 838 when the text object is created.

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

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 823

6.5.27.3 Text_GetAttribute

Text_GetAttribute
Returns a logical value indicating the setting for an attribute of a text object with the specified ID
number; returns a value of True if the attribute is set to on, and a value of False if the attribute is
set to off or if the specified object ID number is invalid.
The settings of the following attributes can be returned: border, bold, italic, strike-out, and underline.

Usage
Text_GetAttribute(ObjectID,Attribute)
Parameters
ObjectID - a numerical expression specifying the object ID number
Attribute - a numerical expression specifying the attribute:
0 - border
1 - bold
2 - italic
3 - strike-out
4 - underline

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a true/false value, indicating the setting of "bold" attribute for the text object with an ID
number of 3, to Bold variable:
Variable:Bold(False);
Bold=Text_GetAttribute(3,1);

© 2009 TS Support, LLC


824 MultiCharts 5.5 User Guide

6.5.27.4 Text_GetBGColor

Text_GetBGColor
Returns an RGB color number or a legacy color value that correspond to the background color of a
text object with the specified ID number; returns a value of -2 if the specified object ID number is
invalid.

Usage
Text_GetBGColor(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign an RGB color number, corresponding to the background color of the text object with an ID
number of 3, to Value1 variable:
Value1=Text_GetBGColor(3);

Assign a legacy color value, corresponding to the background color of the text object with an ID
number of 3, to Value1 variable:
[LegacyColorValue=True];
Value1=Text_GetBGColor(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 825

6.5.27.5 Text_GetBorder

Text_GetBorder
Returns a logical value, indicating whether a border is added to a text object with the specified ID
number; returns a value of True if the border has been added, and a value of False if the border
has not been added or if the specified object ID number is invalid.
Usage
Text_GetBorder(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a true/false value, indicating whether a border is added to the text object with an ID number of
3, to Border variable:
Variable:Border(False);
Border=Text_GetBorder(3);

© 2009 TS Support, LLC


826 MultiCharts 5.5 User Guide

6.5.27.6 Text_GetColor

Text_GetColor
Returns an RGB color number or a legacy color value that correspond to the color of the text
contained in a text object with the specified ID number; returns a value of -2 if the specified object ID
number is invalid.

Usage
Text_GetColor(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign an RGB color number, corresponding to the color of the text object with an ID number of 3, to
Value1 variable:
Value1=Text_GetColor(3);

Assign a legacy color value, corresponding to the color of the text object with an ID number of 3, to
Value1 variable:
[LegacyColorValue=True];
Value1=Text_GetColor(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 827

6.5.27.7 Text_GetDate

Text_GetDate
Returns a numerical value, indicating the date of the bar at which a text object with the specified ID
number has been placed; returns a value of -2 if the specified object ID number is invalid.
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
Text_GetDate(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the date of the bar at which a text object with the ID number of 3 has been
placed, to Value1 variable:
Value1=Text_GetDate(3);

© 2009 TS Support, LLC


828 MultiCharts 5.5 User Guide

6.5.27.8 Text_GetFirst

Text_GetFirst
Returns a numerical value, indicating an object ID number of the oldest (the first to be added to the
current chart) text object of the specified origin; returns a value of -2 if the specified object ID number
is invalid.

Usage
Text_GetFirst (Origin)
Parameters
Origin - a numerical expression specifying the origin of the text object:
1 - added by the current study
2 - added by a study other then the current study, or drawn manually by the user
3 - added by any study, or drawn manually by the user
4 - added by the current study, or drawn manually by the user
5 - added by a study other then the current study
6 - added by any study
7 - added manually by the user

Notes
If the oldest (the first added) text object is deleted, the next oldest (the second added) text object
becomes the oldest (the first added) text object.
Example
Assign a value, indicating an object ID number of the oldest text object added to the chart by the
current study, to Value1 variable:
Value1=Text_GetFirst(1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 829

6.5.27.9 Text_GetFontName

Text_GetFontName
Returns a string expression corresponding to the name of the font assigned to a text object with the
specified ID number.

Usage
Text_GetFontName(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Text_GetFontName(3) will return a string expression corresponding to the name of the font
assigned to a text object with the ID number of 3

© 2009 TS Support, LLC


830 MultiCharts 5.5 User Guide

6.5.27.10 Text_GetHStyle

Text_GetHStyle
Returns the horizontal placement style of a text object with the specified ID number; returns a value
of -2 if the specified object ID number is invalid.

Usage
Text_GetHStyle(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number
Return
Horizontal placement style:
0 - to the right of the specified bar
1 - to the left of the specified bar
2 - centered on the specified bar

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the horizontal placement style of the text object with an ID number of 3, to
Value1 variable:
Value1=Text_GetHStyle(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 831

6.5.27.11 Text_GetNext

Text_GetNext
Returns an ID number of the first existing text object added subsequent to a text object with the
specified ID number, with both objects of a specified origin; returns a value of -2 if the specified
object ID number is invalid.

Usage
Text_GetNext(ObjectID,Origin)
Parameters
ObjectID - a numerical expression specifying the object ID number
Origin - a numerical expression specifying the origin of the text objects:
1 - added by the current study
2 - added by a study other then the current study, or drawn manually by the user
3 - added by any study, or drawn manually by the user
4 - added by the current study, or drawn manually by the user
5 - added by a study other then the current study
6 - added by any study
7 - added manually by the user

Example
Assign a value to Value1 variable, indicating an ID number of the first existing text object added
subsequent to a text object with the ID number of 3, with both objects added by the current study:
Value1=Text_GetNext(3,1);

© 2009 TS Support, LLC


832 MultiCharts 5.5 User Guide

6.5.27.12 Text_GetSize

Text_GetSize
Returns a numerical value indicating the font size assigned to a text object with the specified ID
number; returns a value of -2 if the specified object ID number is invalid.

Usage
Text_GetSize(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the font size of the text object with an ID number of 3, to Value1 variable:
Value1=Text_GetSize(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 833

6.5.27.13 Text_GetString

Text_GetString
Returns a string expression corresponding to the text contained in a text object with the specified ID
number.

Usage
Text_GetString(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Text_GetString(3) will return a string expression corresponding to the text contained in the text
object with an ID number of 3

© 2009 TS Support, LLC


834 MultiCharts 5.5 User Guide

6.5.27.14 Text_GetTime

Text_GetTime
Returns a numerical value, indicating the time of the bar at which a text object with the specified ID
number has been placed; returns a value of -2 if the specified object ID number is invalid.
The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
Text_GetTime(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the time of the bar at which a text object with the ID number of 3 has been
placed, to Value1 variable:
Value1=Text_GetTime(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 835

6.5.27.15 Text_GetTime_s

Text_GetTime_s
Returns a numerical value indicating the time, including seconds, of the bar at which a text object
with the specified ID number has been placed; returns a value of -2 if the specified object ID number
is invalid.
The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
Text_GetTime_s(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New_s 839 when the text object is created.

Example
Assign a value, indicating the time of the bar at which a text object with the ID number of 3 has been
placed, to Value1 variable:
Value1=Text_GetTime_s(3);

© 2009 TS Support, LLC


836 MultiCharts 5.5 User Guide

6.5.27.16 Text_GetValue

Text_GetValue
Returns the price value (vertical position, corresponding to a value on the price scale of a chart), at
which a text object with the specified ID number has been placed; returns a value of -2 if the
specified object ID number is invalid.

Usage
Text_GetValue(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the price value at which a text object with the ID number of 3 has been
placed, to Value1 variable:
Value1=Text_GetValue(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 837

6.5.27.17 Text_GetVStyle

Text_GetVStyle
Returns the vertical placement style of a text object with the specified ID number; returns a value of -
2 if the specified object ID number is invalid.

Usage
Text_GetVStyle(ObjectID)
Where: ObjectID - a numerical expression specifying the object ID number
Return
Vertical placement style:
0 - below the specified price value
1 - above the specified price value
2 - centered on the specified price value
Price value represents the vertical position corresponding to a value on the price scale of a chart.

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign a value, indicating the vertical placement style of the text object with an ID number of 3, to
Value1 variable:
Value1=Text_GetVStyle(3);

© 2009 TS Support, LLC


838 MultiCharts 5.5 User Guide

6.5.27.18 Text_New

Text_New
Displays a text object, consisting of the specified string expression located at the specified bar and
specified price value, on the chart that the study is based on; returns an object-specific ID number,
required to modify the object.

Usage
Text_New (BarDate, BarTime, PriceValue,"Text")
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Text - the string expression to be displayed

Example
Place, on the chart that the study is based on, the text "UpT" at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Text_New(Date,Time,High,"UpT");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 839

6.5.27.19 Text_New_s

Text_New_s
Displays a text object, consisting of the specified string expression located at the specified bar and
specified price value, on the chart that the study is based on; returns an object-specific ID number,
required to modify the object.

Usage
Text_New_s (BarDate, BarTime_s, PriceValue,"Text")
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Text - the string expression to be displayed

Example
Place, on the chart that the study is based on, the text "UpT" at the top of a bar if the Open price has
increased incrementally over the last three bars:
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Text_New_s(Date,Time_s,High,"UpT");

© 2009 TS Support, LLC


840 MultiCharts 5.5 User Guide

6.5.27.20 Text_New_self

Text_New_self
Displays a text object, consisting of the specified string expression located at the specified bar and
specified price value, on the SubChart containing the study; returns an object-specific ID number,
required to modify the object.

Usage
Text_New_self (BarDate, BarTime, PriceValue,"Text")
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Text - the string expression to be displayed

Example
Place, on the SubChart containing the study, the text "UpT" at the points of the plot where the Open
price has increased incrementally over the last three bars:
Plot1(Close);
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Text_New_self(Date,Time,High,"UpT");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 841

6.5.27.21 Text_New_self_s

Text_New_self_s
Displays a text object, consisting of the specified string expression located at the specified bar and
specified price value, on the SubChart containing the study; returns an object-specific ID number,
required to modify the object.

Usage
Text_New_self_s (BarDate, BarTime_s, PriceValue,"Text")
Parameters
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Text - the string expression to be displayed

Example
Place, on the SubChart containing the study, the text "UpT" at the points of the plot where the Open
price has increased incrementally over the last three bars:
Plot1(Close);
If Open>Open[1] And Open[1]>Open[2] Then
Value1=Text_New_self_s(Date,Time_s,High,"UpT");

© 2009 TS Support, LLC


842 MultiCharts 5.5 User Guide

6.5.27.22 Text_SetAttribute

Text_SetAttribute
Sets an attribute of the text in a text object with the specified ID number; returns a value of 0 if the
attribute was successfully set, and a value of -2 if the specified object ID number is invalid.
The following text attributes can be set: border, bold, italic, strike-out, and underline.

Usage
Text_SetAttribute(ObjectID,Attribute,LogicalExpression)
Parameters
ObjectID - a numerical expression specifying the object ID number
Attribute - a numerical expression specifying the attribute:
0 - border
1 - bold
2 - italic
3 - strike-out
4 - underline

LogicalExpression - a logical value; True = on and False = off

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Set the attribute "bold" to on for the text in a text object with the ID number of 3:
Value1=Text_SetAttribute(3,1,True);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 843

6.5.27.23 Text_SetBGColor

Text_SetBGColor
Assigns the specified background color to a text object with the specified ID number; returns a value
of 0 if the color was successfully assigned, and a value of -2 if the specified object ID number is
invalid.

Usage
Text_SetBGColor(ObjectID,BGColor)
Parameters
ObjectID - a numerical expression specifying the object ID number
BGColor - an expression specifying the background color
The color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign the color blue to the background of a text object with the ID number of 3:
Value1=Text_SetBGColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the background of a text object with the ID number of 3:
Value1=Text_SetBGColor(3,2138336);

Assign the legacy color 4 (Green) to the background of a text object with the ID number of 3:
[LegacyColorValue=True];
Value1=Text_SetBGColor(3,4);

© 2009 TS Support, LLC


844 MultiCharts 5.5 User Guide

6.5.27.24 Text_SetBorder

Text_SetBorder
Adds or removes a border around the text object with the specified ID number; returns a value of 0 if
the border was successfully set, and a value of -2 if the specified object ID number is invalid.
The color of the border is the same as the color of the text in the text object.

Usage
Text_SetBorder(ObjectID,LogicalExpression)
Where: ObjectID - a numerical expression specifying the object ID number
LogicalExpression - a logical value; True = Add and False = Remove

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Add a border to the text object with an ID number of 3:
Value1=Text_SetBorder(3,True);

Remove a border from the text object with an ID number of 3:


Value1=Text_SetBorder(3,False);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 845

6.5.27.25 Text_SetColor

Text_SetColor
Assigns the specified color to the text of a text object with the specified ID number; returns a value of
0 if the color was successfully assigned, and a value of -2 if the specified object ID number is invalid.

Usage
Text_SetColor(ObjectID,TextColor)
Parameters
ObjectID - a numerical expression specifying the object ID number
TextColor - an expression specifying the text color
The color can be specified by a numerical expression representing an RGB color number or a
legacy color value, or by one of 17 base color words.
Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign the color blue to the text of a text object with the ID number of 3:
Value1=Text_SetColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the text of a text object with the ID number of 3:
Value1=Text_SetColor(3,2138336);

Assign the legacy color 4 (Green) to the text of a text object with the ID number of 3:
[LegacyColorValue=True];
Value1=Text_SetColor(3,4);

© 2009 TS Support, LLC


846 MultiCharts 5.5 User Guide

6.5.27.26 Text_SetFontName

Text_SetFontName
Assigns the specified font to a text object with the specified ID number; returns a value of -2 if the
specified object ID number is invalid.
Any font in the Fonts folder can be used; the folder is accessible from the Control Panel in Windows
XP operating system.

Usage
Text_SetFontName(ObjectID,"FontName")
Where: ObjectID - a numerical expression specifying the object ID number
FontName - a string expression specifying the font name

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign font Verdana to the text object with the ID number of 3:
Value1=Text_SetFontName(3,"Verdana");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 847

6.5.27.27 Text_SetLocation

Text_SetLocation
Modifies the location of a text object with the specified ID number; returns a value of 0 if the location
of the object was successfully modified, and a value of -2 if the specified object ID number is invalid.

Usage
Text_SetLocation (ObjectID, BarDate, BarTime, PriceValue)
Parameters
ObjectID - a numerical expression specifying the object ID number
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime - a numerical expression specifying the time of the bar at which the object is to be
placed; the time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Move the text object with an ID number of 3 to the top of the current bar:
Value1=Text_SetLocation(3,Date,Time,High);

© 2009 TS Support, LLC


848 MultiCharts 5.5 User Guide

6.5.27.28 Text_SetLocation_s

Text_SetLocation_s
Modifies the location of a text object with the specified ID number; returns a value of 0 if the location
of the object was successfully modified, and a value of -2 if the specified object ID number is invalid.

Usage
Text_SetLocation_s (ObjectID, BarDate, BarTime_s, PriceValue)
Parameters
ObjectID - a numerical expression specifying the object ID number
BarDate - a numerical expression specifying the date of the bar at which the object is to be
placed; 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
BarTime_s - a numerical expression specifying the time of the bar, including seconds, at which
the object is to be placed; the time is indicated in the 24-hour HHmmss format, where 130000 =
1:00:00 PM
PriceValue - a numerical expression specifying the price value (vertical position, corresponding
to a value on the price scale of a chart), where the object is to be placed
Notes
An object-specific ID number is returned by Text_New_s 839 when the text object is created.

Example
Move the text object with an ID number of 3 to the top of the current bar:
Value1=Text_SetLocation_s(3,Date,Time_s,High);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 849

6.5.27.29 Text_SetSize

Text_SetSize
Assigns the specified font size to the text of a text object with the specified ID number; returns a
value of 0 if the font size was successfully assigned, and a value of -2 if the specified object ID
number is invalid.

Usage
Text_SetSize(ObjectID,FontSize)
Where: ObjectID - a numerical expression specifying the object ID number
FontSize - a numerical expression specifying the font size

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Assign the font size of 16 to the text of a text object with the ID number of 3:
Value1=Text_SetSize(3,16);

© 2009 TS Support, LLC


850 MultiCharts 5.5 User Guide

6.5.27.30 Text_SetString

Text_SetString
Replaces with the specified string expression the text contained in a text object with the specified ID
number; returns a value of 0 if the string expression was successfully replaced, and a value of -2 if
the specified object ID number is invalid.

Usage
Text_SetString(ObjectID,"Text")
Where: ObjectID - a numerical expression specifying the object ID number
Text - the new string expression to be displayed in the text object

Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Replace the text, contained in a text object with the ID number of 3, with the string expression "New
Text":
Value1=Text_SetString(3,"New Text");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 851

6.5.27.31 Text_SetStyle

Text_SetStyle
Sets the placement style of a text object relative to the bar and to the price value specified for the
object; returns a value of 0 if the placement style of the object was successfully modified, and a value
of -2 if the specified object ID number is invalid.

Usage
Text_SetStyle (ObjectID, HorizPl, VertPl)
Parameters
ObjectID - a numerical expression specifying the object ID number

HorizPl - a numerical expression specifying the horizontal placement style for the text object:
0 - to the right of the specified bar
1 - to the left of the specified bar
2 - centered on the specified bar

VertPl - a numerical expression specifying the vertical placement style for the text object:
0 - below the specified price value
1 - above the specified price value
2 - centered on the specified price value
Price value represents the vertical position corresponding to a value on the price scale of a chart.
Notes
An object-specific ID number is returned by Text_New 838 when the text object is created.

Example
Center the text object with an ID number of 3 on the bar and on the price value, specified for the
object:
Value1=Text_SetStyle(3,2,2);

© 2009 TS Support, LLC


852 MultiCharts 5.5 User Guide

6.5.28 Text Manipulation


6.5.28.1 DoubleQuote

DoubleQuote
Displays the double-quote (") character in a string.
Example
This example demonstrates how the word Hello in double quotes can be displayed on the last bar
above High:
Variable: ID(-1);
If LastBarOnChart Then
ID = Text_New(Date, Time, High + 1 Point, DoubleQuote + "Hello" +
DoubleQuote);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 853

6.5.28.2 InStr

InStr
Returns the position of a specified string expression inside another specified string expression.
The position of the string being located is indicated by the number of characters from the left side of
the string being evaluated.

Usage
InStr(String1,String2)
Where: String1 - a string to be evaluated
String2 - a string to be located

Notes
In case the search returns no results 0 is returned
In case if the sought word occurs more than once, the first position will be returned
Search is case sensetive
Example
InStr("Friday is the expiration day", "Friday");
will return a value of 1, indicating that the string "Friday" begins at position 1 of the String "Friday is
the expiration day"

InStr("Friday is the expiration day", "Monday");


will return a value of 0, indicating that the string "Monday" does not exist in the String "Friday is the
expiration day"

© 2009 TS Support, LLC


854 MultiCharts 5.5 User Guide

6.5.28.3 LeftStr

LeftStr
Returns one or more leftmost characters from the specified string expression.

Usage
LeftStr(String,sSize)
Where: String - a string expression from which the characters are to be taken
sSize - a numerical expression specifying the number of characters to be returned

Example
LeftStr("Hello World",5); will return a string expression "Hello"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 855

6.5.28.4 LowerStr

LowerStr
Converts the uppercase letters of a specified string expression to a lowercase.

Usage
LowerStr("String")
Where: String - a string expression to be converted

Example
LowerStr("Return on Account"); will return a string expression "return on account"

© 2009 TS Support, LLC


856 MultiCharts 5.5 User Guide

6.5.28.5 MidStr

MidStr
Returns a part, starting from a specified position and of a specified length, of a specified string
expression.

Usage
MidStr("String",Pos,Num)
Where: String - a string expression the specified part is to be taken from
Pos - a numerical expression specifying the position, from the left side of the string, of the
starting character of the part
Num - a numerical expression specifying the length, in characters, of the part

Example
MidStr("Largest winning trade",1,7); will return a string expression "Largest"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 857

6.5.28.6 NewLine

NewLine
Starts a new line and returns carriage.

Notes
Use the "+" character to add NewLine to a string expression.

Example
FileAppend("c:\testfile.txt","We can see a new bar for"+ NumToStr(Date,0)+
NewLine);

© 2009 TS Support, LLC


858 MultiCharts 5.5 User Guide

6.5.28.7 NumToStr

NumToStr
Returns a specified numerical expression in the form of a string expression.

Usage
NumToStr(Expression,Dec)
Where: Expression - a numerical expression to be converted to a string expression
Dec - a numerical expression specifying the number of decimal places the returned string
expression is to contain
Example
NumToStr(1500.5,3); will return a string expression "1500.500"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 859

6.5.28.8 RightStr

RightStr
Returns one or more rightmost characters from the specified string expression.

Usage
RightStr(String,sSize)
Where: String - a string expression from which the characters are to be taken
sSize - a numerical expression specifying the number of characters to be returned

Example
RightStr("Hello World",5); will return a string expression "World"

© 2009 TS Support, LLC


860 MultiCharts 5.5 User Guide

6.5.28.9 Spaces

Spaces
Returns a string expression consisting of a specified number of spaces.

Usage
Spaces(Num)
Where: Num - a numerical expression specifying the number of spaces

Example
The example inserts two blank spaces between the letters "a" and "b":
Print("a"+Spaces(2)+"b");

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 861

6.5.28.10 StrLen

StrLen
Returns the length, in characters, of a specified string expression.

Usage
StrLen("String")
Where: String - a string expression to be evaluated

Example
StrLen("Drawdown"); will return a value of 8

© 2009 TS Support, LLC


862 MultiCharts 5.5 User Guide

6.5.28.11 StrToNum

StrToNum
Converts a specified string expression to a numerical value.

Usage
StrToNum("String")
Where: String - a string expression to be converted

Notes
If non-numeric characters are encountered the rest of the expression is ignored.
Example
StrToNum("2500.70"); will return a value of 2500.70

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 863

6.5.28.12 Text

Text
Returns the string, formed up by the transferred arguments.

Usage
Text(Param1, Param2, ..., ParamN);
Where: Param(i) is string expression, numeric expression or True/False value.

Example
Text_new(D,T,C,Text("Bar Date/Time is ",Date:0:0,"/",Time:0:0));

© 2009 TS Support, LLC


864 MultiCharts 5.5 User Guide

6.5.28.13 UpperStr

UpperStr
Converts the lowercase letters of a specified string expression to uppercase.

Usage
UpperStr("String")
Where: String - a string expression to be converted

Example
UpperStr("msft"); will return a string expression "MSFT"

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 865

6.5.29 Trendline Drawing


6.5.29.1 TL_Delete

TL_Delete
Removes a trendline with the specified ID number from a chart; returns a value of 0 if the trendline
was successfully removed, and a value of -2 if the specified trendline ID number is invalid.

Usage
TL_Delete(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Remove the trendline with an ID number of 3:
Value1=TL_Delete(3);

© 2009 TS Support, LLC


866 MultiCharts 5.5 User Guide

6.5.29.2 TL_GetActive

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
TL_GetActive

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

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

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 867

6.5.29.3 TL_GetAlert

TL_GetAlert
Returns the alert status for a trendline with the specified ID number; returns a value of -2 if the
specified trendline ID number is invalid.

Usage
TL_GetAlert(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number
Return
Alert status:
0 - Alert disabled
1 - Breakout intra-bar
An alert is triggered if the High crosses over the trendline or the Low crosses under the trendline.
Alert triggering conditions are evaluated intra-bar.

2 - Breakout on close
An alert is triggered if the Close of the previous bar was below the trendline and the Close of the
current bar is above the trendline, or if the Close of the previous bar was above the trendline and the
Close of the current bar is below the trendline. Alert triggering conditions are evaluated at Close of a
bar.
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the alert status for a trendline with the ID number of 3, to Value1 variable:
Value1=TL_GetAlert(3);

© 2009 TS Support, LLC


868 MultiCharts 5.5 User Guide

6.5.29.4 TL_GetBeginDate

TL_GetBeginDate
Returns a numerical value, indicating the date of the starting point of a trendline with the specified ID
number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.
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
TL_GetBeginDate(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the date of the starting point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetBeginDate(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 869

6.5.29.5 TL_GetBeginTime

TL_GetBeginTime
Returns a numerical value, indicating the time of the starting point of a trendline with the specified ID
number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.
The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
TL_GetBeginTime(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the time of the starting point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetBeginTime(3);

© 2009 TS Support, LLC


870 MultiCharts 5.5 User Guide

6.5.29.6 TL_GetBeginTime_s

TL_GetBeginTime_s
Returns a numerical value indicating the time, including seconds, of the starting point of a trendline
with the specified ID number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.
The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
TL_GetBeginTime_s(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New_s 887 when the trendline is created.

Example
Assign a value, indicating the time of the starting point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetBeginTime_s(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 871

6.5.29.7 TL_GetBeginVal

TL_GetBeginVal
Returns the price value (vertical position, corresponding to a value on the price scale of a chart) of
the starting point of a trendline with the specified ID number; returns a value of -2 if the specified
trendline ID number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.

Usage
TL_GetBeginVal(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the price value of the starting point of a trendline with the ID number of 3,
to Value1 variable:
Value1=TL_GetBeginVal(3);

© 2009 TS Support, LLC


872 MultiCharts 5.5 User Guide

6.5.29.8 TL_GetColor

TL_GetColor
Returns an RGB color number or a legacy color value that correspond to the color of a trendline with
the specified ID number; returns a value of -2 if the specified trendline ID number is invalid.

Usage
TL_GetColor(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign an RGB color number, corresponding to the color of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetColor(3);

Assign a legacy color value, corresponding to the color of a trendline with the ID number of 3, to
Value1 variable:
[LegacyColorValue=True];
Value1=TL_GetColor(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 873

6.5.29.9 TL_GetEndDate

TL_GetEndDate
Returns a numerical value, indicating the date of the ending point of a trendline with the specified ID
number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.
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
TL_GetEndDate(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the date of the ending point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetEndDate(3);

© 2009 TS Support, LLC


874 MultiCharts 5.5 User Guide

6.5.29.10 TL_GetEndTime

TL_GetEndTime
Returns a numerical value, indicating the time of the ending point of a trendline with the specified ID
number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.
The time is indicated in the 24-hour HHmm format, where 1300 = 1:00 PM.

Usage
TL_GetEndTime(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the time of the ending point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetEndTime(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 875

6.5.29.11 TL_GetEndTime_s

TL_GetEndTime_s
Returns a numerical value indicating the time, including seconds, of the ending point of a trendline
with the specified ID number; returns a value of -2 if the specified trendline ID number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.
The time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM.

Usage
TL_GetEndTime_s(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New_s 887 when the trendline is created.

Example
Assign a value, indicating the time of the ending point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetEndTime_s(3);

© 2009 TS Support, LLC


876 MultiCharts 5.5 User Guide

6.5.29.12 TL_GetEndVal

TL_GetEndVal
Returns the price value (vertical position, corresponding to a value on the price scale of a chart) of
the ending point of a trendline with the specified ID number; returns a value of -2 if the specified
trendline ID number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.

Usage
TL_GetEndVal(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the price value of the ending point of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetEndVal(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 877

6.5.29.13 TL_GetExtLeft

TL_GetExtLeft
Returns a logical value, indicating whether the trendline with the specified ID number is extended to
the left; returns a value of True if the trendline is extended, and a value of False if the trendline is
not extended or if the specified trendline ID number is invalid.
Usage
TL_GetExtLeft(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a true/false value, indicating whether the trendline with an ID number of 3 is extended to the
left, to ExtL variable:
Variable:ExtL(False);
ExtL=TL_GetExtLeft(3);

© 2009 TS Support, LLC


878 MultiCharts 5.5 User Guide

6.5.29.14 TL_GetExtRight

TL_GetExtRight
Returns a logical value, indicating whether the trendline with the specified ID number is extended to
the right; returns a value of True if the trendline is extended, and a value of False if the trendline is
not extended or if the specified trendline ID number is invalid.
Usage
TL_GetExtRight(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a true/false value, indicating whether the trendline with an ID number of 3 is extended to the
right, to ExtR variable:
Variable:ExtR(False);
ExtR=TL_GetExtRight(3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 879

6.5.29.15 TL_GetFirst

TL_GetFirst
Returns a numerical value, indicating the trendline ID number of the oldest (the first to be drawn on
the current chart) trendline of the specified origin; returns a value of -2 if the specified trendline ID
number is invalid.

Usage
TL_GetFirst (Origin)
Parameters
Origin - a numerical expression specifying the origin of the trendline:
1 - drawn by the current study
2 - drawn by a study other then the current study, or drawn manually by the user
3 - drawn by any study, or drawn manually by the user
4 - drawn by the current study, or drawn manually by the user
5 - drawn by a study other then the current study
6 - drawn by any study
7 - drawn manually by the user

Notes
If the oldest (the first to be drawn) trendline is deleted, the next oldest (the second to be drawn)
trendline becomes the oldest (the first drawn) trendline.
Example
Assign a value, indicating the trendline ID number of the oldest trendline drawn on the chart by the
current study, to Value1 variable:
Value1=TL_GetFirst(1);

© 2009 TS Support, LLC


880 MultiCharts 5.5 User Guide

6.5.29.16 TL_GetNext

TL_GetNext
Returns an ID number of the first existing trendline drawn subsequent to a trendline with the specified
ID number, with both trendlines of a specified origin; returns a value of -2 if the specified object ID
number is invalid.

Usage
TL_GetNext (TL_ID,Origin)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
Origin - a numerical expression specifying the origin of the trendlines:
1 - drawn by the current study
2 - drawn by a study other then the current study, or drawn manually by the user
3 - drawn by any study, or drawn manually by the user
4 - drawn by the current study, or drawn manually by the user
5 - drawn by a study other then the current study
6 - drawn by any study
7 - drawn manually by the user

Example
Assign a value to Value1 variable, indicating the ID number of the first existing trendline drawn
subsequent to a trendline with the ID number of 3, with both trendlines drawn by the current study:
Value1=TL_GetNext(3,1);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 881

6.5.29.17 TL_GetSize

TL_GetSize
Returns a numerical value indicating the width of a trendline with the specified ID number; returns a
value of -2 if the specified trendline ID number is invalid.

Usage
TL_GetSize(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the width of a trendline with the ID number of 3, to Value1 variable:
Value1=TL_GetSize(3);

© 2009 TS Support, LLC


882 MultiCharts 5.5 User Guide

6.5.29.18 TL_GetStyle

TL_GetStyle
Returns a numerical value, indicating the style of a trendline with the specified ID number; returns a
value of -2 if the specified trendline ID number is invalid.

Usage
TL_GetStyle(TL_ID)
Where: TL_ID - a numerical expression specifying the trendline ID number
Return
Trendline styles:
1 T________
o ________
o ______
l
S
o
l
i
d
2 T- - - - - - - -
o- - - - - - - -
o- - -
l
D
a
s
h
e
d
3 T.................
o .................
o ..........
l
D
o
t
t
e
d
4 T__ _ __ _
o __ _ __ _
o __ _ __
l
D
a
s
h
e
d
2
5 T___ _ _
o ___ _ _
o ___ _ _
l ___
D
a
s
h
e
d
3

Notes

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 883

A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign a value, indicating the style of a trendline with the ID number of 3, to Value1 variable:
Value1=TL_GetStyle(3);

© 2009 TS Support, LLC


884 MultiCharts 5.5 User Guide

6.5.29.19 TL_GetValue

TL_GetValue
Returns a price value, at the specified date and time, of a trendline with the specified ID number;
returns a value of -2 if the specified trendline ID number is invalid.
If the trendline does not extend to the specified date and time, a price value along the same slope as
the trendline will be returned.

Usage
TL_GetValue (TL_ID, Date, Time)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
Date - a numerical expression specifying the date; 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
Time - a numerical expression specifying the time; the time is indicated in the 24-hour HHmm
format, where 1300 = 1:00 PM
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign the price value, at 10:00 AM on January 17th, of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetValue(3,1080117,1000);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 885

6.5.29.20 TL_GetValue_s

TL_GetValue_s
Returns a price value, at the specified date and time, of a trendline with the specified ID number;
returns a value of -2 if the specified trendline ID number is invalid.
If the trendline does not extend to the specified date and time, a price value along the same slope as
the trendline will be returned.

Usage
TL_GetValue_s (TL_ID, Date, Time_s)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
Date - a numerical expression specifying the date; 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
Time_s - a numerical expression specifying the time, including seconds; the time is indicated in
the 24-hour HHmmss format, where 130000 = 1:00:00 PM
Notes
A trendline-specific ID number is returned by TL_New_s 887 when the trendline is created.

Example
Assign the price value, at 10:00:00 AM on January 17th, of a trendline with the ID number of 3, to
Value1 variable:
Value1=TL_GetValue_s(3,1080117,100000);

© 2009 TS Support, LLC


886 MultiCharts 5.5 User Guide

6.5.29.21 TL_New

TL_New
Displays a trendline, with the specified starting and ending points, on the chart that the study is
based on; returns a trendline-specific ID number, required to modify the trendline.

Usage
TL_New (sDate, sTime, sPriceValue, eDate, eTime, ePriceValue)
Parameters
sDate - a numerical expression specifying the trendline starting point date; 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
sTime - a numerical expression specifying the trendline starting point time; the time is indicated in
the 24-hour HHmm format, where 1300 = 1:00 PM
sPriceValue - a numerical expression specifying the trendline starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
eDate - a numerical expression specifying the trendline ending point date
eTime - a numerical expression specifying the trendline ending point time
ePriceValue - a numerical expression specifying the trendline ending point price value

Example
Display a trendline, that begins at 9:00 AM at a price value of 1381, and ends at 3:00 PM at a price
value of 1337, on January 17th, 2008, on the chart that the study is based on:
Value1=TL_New(1080117,900,1381,1080117,1500,1337);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 887

6.5.29.22 TL_New_s

TL_New_s
Displays a trendline, with the specified starting and ending points, on the chart that the study is
based on; returns a trendline-specific ID number, required to modify the trendline.

Usage
TL_New_s (sDate, sTime_s, sPriceValue, eDate, eTime_s, ePriceValue)
Parameters
sDate - a numerical expression specifying the trendline starting point date; 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
sTime_s - a numerical expression specifying the trendline starting point time, including seconds;
the time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM
sPriceValue - a numerical expression specifying the trendline starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
eDate - a numerical expression specifying the trendline ending point date
eTime_s - a numerical expression specifying the trendline ending point time, including seconds
ePriceValue - a numerical expression specifying the trendline ending point price value

Example
Display a trendline, that begins at 9:00:00 AM at a price value of 1381, and ends at 3:00:00 PM at a
price value of 1337, on January 17th, 2008, on the chart that the study is based on:
Value1=TL_New_s(1080117,90000,1381,1080117,150000,1337);

© 2009 TS Support, LLC


888 MultiCharts 5.5 User Guide

6.5.29.23 TL_New_self

TL_New_self
Displays a trendline, with the specified starting and ending points, on the SubChart containing the
study; returns a trendline-specific ID number, required to modify the trendline.

Usage
TL_New_self (sDate, sTime, sPriceValue, eDate, eTime, ePriceValue)
Parameters
sDate - a numerical expression specifying the trendline starting point date; 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
sTime - a numerical expression specifying the trendline starting point time; the time is indicated in
the 24-hour HHmm format, where 1300 = 1:00 PM
sPriceValue - a numerical expression specifying the trendline starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
eDate - a numerical expression specifying the trendline ending point date
eTime - a numerical expression specifying the trendline ending point time
ePriceValue - a numerical expression specifying the trendline ending point price value

Example
Display a trendline, that begins at 9:00 AM at a price value of 1381, and ends at 3:00 PM at a price
value of 1337, on January 17th, 2008, on the SubChart containing the study:
Value1=TL_New_self(1080117,900,1381,1080117,1500,1337);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 889

6.5.29.24 TL_New_self_s

TL_New_Self_s
Displays a trendline, with the specified starting and ending points, on the SubChart containing the
study; returns a trendline-specific ID number, required to modify the trendline.

Usage
TL_New_s (sDate, sTime_s, sPriceValue, eDate, eTime_s, ePriceValue)
Parameters
sDate - a numerical expression specifying the trendline starting point date; 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
sTime_s - a numerical expression specifying the trendline starting point time, including seconds;
the time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM
sPriceValue - a numerical expression specifying the trendline starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
eDate - a numerical expression specifying the trendline ending point date
eTime_s - a numerical expression specifying the trendline ending point time, including seconds
ePriceValue - a numerical expression specifying the trendline ending point price value

Example
Display a trendline, that begins at 9:00:00 AM at a price value of 1381, and ends at 3:00:00 PM at a
price value of 1337, on January 17th, 2008, on the SubChart containing the study:
Value1=TL_New_s(1080117,90000,1381,1080117,150000,1337);

© 2009 TS Support, LLC


890 MultiCharts 5.5 User Guide

6.5.29.25 TL_SetAlert

TL_SetAlert
Sets the alert status for a trendline with the specified ID number; returns a value of 0 if alert status
was successfully modified, and a value of -2 if the specified trendline ID number is invalid.

Usage
TL_SetAlert(TL_ID,AlertStatus)
Parameters
TL_ID - a numerical expression specifying the trendline ID number

AlertStatus - a numerical expression specifying the alert status for the trendline:
0 - Alert disabled

1 - Breakout intra-bar
An alert is triggered if the High crosses over the trendline or the Low crosses under the trendline.
Alert triggering conditions are evaluated intra-bar.

2 - Breakout on close
An alert is triggered if the Close of the previous bar was below the trendline and the Close of the
current bar is above the trendline, or if the Close of the previous bar was above the trendline and
the Close of the current bar is below the trendline. Alert triggering conditions are evaluated at
Close of a bar.
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Set alert status to "Breakout on close" for a trendline with the ID number of 3:
Value1=TL_SetAlert(3,2);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 891

6.5.29.26 TL_SetBegin

TL_SetBegin
Modifies the starting point location of a trendline with the specified ID number; returns a value of 0 if
the starting point location was successfully modified, and a value of -2 if the specified trendline ID
number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.

Usage
TL_SetBegin (TL_ID, sDate, sTime, sPriceValue)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
sDate - a numerical expression specifying the new starting point date; 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
sTime - a numerical expression specifying the new starting point time; the time is indicated in the
24-hour HHmm format, where 1300 = 1:00 PM
sPriceValue - a numerical expression specifying the new starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Move the starting point of the trendline with an ID number of 3 to 10:00 AM on January 17th at a price
value of 1365:
Value1=TL_SetBegin(3,1080117,1000,1365);

© 2009 TS Support, LLC


892 MultiCharts 5.5 User Guide

6.5.29.27 TL_SetBegin_s

TL_SetBegin_s
Modifies the starting point location of a trendline with the specified ID number; returns a value of 0 if
the starting point location was successfully modified, and a value of -2 if the specified trendline ID
number is invalid.
Of the two end points of a trendline, the point with the earlier date and time is always considered to
be the starting point; if the trendline is vertical, the point with the lower price value is considered to be
the starting point.

Usage
TL_SetBegin_s (TL_ID, sDate, sTime_s, sPriceValue)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
sDate - a numerical expression specifying the new starting point date; 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
sTime_s - a numerical expression specifying the new starting point time, including seconds; the
time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM
sPriceValue - a numerical expression specifying the new starting point price value (vertical
position, corresponding to a value on the price scale of a chart)
Notes
A trendline-specific ID number is returned by TL_New_s 887 when the trendline is created.

Example
Move the starting point of the trendline with an ID number of 3 to 10:00:00 AM on January 17th at a
price value of 1365:
Value1=TL_SetBegin_s(3,1080117,100000,1365);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 893

6.5.29.28 TL_SetColor

TL_SetColor
Assigns the specified color to a trendline with the specified ID number; returns a value of 0 if the
color was successfully assigned, and a value of -2 if the specified trendline ID number is invalid.

Usage
TL_SetColor(TL_ID,TL_Color)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
TL_Color - an expression specifying the trendline color
Trendline color can be specified by a numerical expression representing an RGB color number or
a legacy color value, or by one of 17 base color words.
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign the color blue to the trendline with an ID number of 3:
Value1=TL_SetColor(3,Blue);

Assign the RGB color 2138336 (Orange) to the trendline with an ID number of 3:
Value1=TL_SetColor(3,2138336);

Assign the legacy color 4 (Green) to the trendline with an ID number of 3:


[LegacyColorValue=True];
Value1=TL_SetColor(3,4);

© 2009 TS Support, LLC


894 MultiCharts 5.5 User Guide

6.5.29.29 TL_SetEnd

TL_SetEnd
Modifies the ending point location of a trendline with the specified ID number; returns a value of 0 if
the ending point location was successfully modified, and a value of -2 if the specified trendline ID
number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.

Usage
TL_SetEnd (TL_ID, eDate, eTime, ePriceValue)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
eDate - a numerical expression specifying the new ending point date; 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
eTime - a numerical expression specifying the new ending point time; the time is indicated in the
24-hour HHmm format, where 1300 = 1:00 PM
ePriceValue - a numerical expression specifying the new ending point price value (vertical
position, corresponding to a value on the price scale of a chart)
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Move the ending point of the trendline with an ID number of 3 to 14:15 PM on January 17th at a price
value of 1350:
Value1=TL_SetEnd(3,1080117,1415,1350);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 895

6.5.29.30 TL_SetEnd_s

TL_SetEnd_s
Modifies the ending point location of a trendline with the specified ID number; returns a value of 0 if
the ending point location was successfully modified, and a value of -2 if the specified trendline ID
number is invalid.
Of the two end points of a trendline, the point with the later date and time is always considered to be
the ending point; if the trendline is vertical, the point with the higher price value is considered to be
the ending point.

Usage
TL_SetEnd_s (TL_ID, eDate, eTime_s, ePriceValue)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
eDate - a numerical expression specifying the new ending point date; 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
eTime_s - a numerical expression specifying the new ending point time, including seconds; the
time is indicated in the 24-hour HHmmss format, where 130000 = 1:00:00 PM
ePriceValue - a numerical expression specifying the new ending point price value (vertical
position, corresponding to a value on the price scale of a chart)
Notes
A trendline-specific ID number is returned by TL_New_s 887 when the trendline is created.

Example
Move the ending point of the trendline with an ID number of 3 to 14:15:00 PM on January 17th at a
price value of 1350:
Value1=TL_SetEnd_s(3,1080117,141500,1350);

© 2009 TS Support, LLC


896 MultiCharts 5.5 User Guide

6.5.29.31 TL_SetExtLeft

TL_SetExtLeft
Adds or removes a left-side extension for a trendline with the specified ID number; returns a value of
0 if the operation was performed successfully, and a value of -2 if the specified trendline ID number is
invalid.

Usage
TL_SetExtLeft(TL_ID,LogicalExpression)
Where: TL_ID - a numerical expression specifying the trendline ID number
LogicalExpression - a logical value; True = Add and False = Remove

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Add a left-side extension to the trendline with an ID number of 3:
Value1=TL_SetExtLeft(3,True);

Remove a left-side extension from the trendline with an ID number of 3:


Value1=TL_SetExtLeft(3,False);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 897

6.5.29.32 TL_SetExtRight

TL_SetExtRight
Adds or removes a right-side extension for a trendline with the specified ID number; returns a value
of 0 if the operation was performed successfully, and a value of -2 if the specified trendline ID
number is invalid.

Usage
TL_SetExtRight(TL_ID,LogicalExpression)
Where: TL_ID - a numerical expression specifying the trendline ID number
LogicalExpression - a logical value; True = Add and False = Remove

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Add a right-side extension to the trendline with an ID number of 3:
Value1=TL_SetExtRight(3,True);

Remove a right-side extension from the trendline with an ID number of 3:


Value1=TL_SetExtRight(3,False);

© 2009 TS Support, LLC


898 MultiCharts 5.5 User Guide

6.5.29.33 TL_SetSize

TL_SetSize
Assigns the specified width to a trendline with the specified ID number; returns a value of 0 if the line
width was successfully assigned, and a value of -2 if the specified trendline ID number is invalid.

Usage
TL_SetSize(TL_ID,LineWidth)
Where: TL_ID - a numerical expression specifying the trendline ID number
LineWidth - a numerical expression specifying the trendline width; trendline width can
range from 0 to 6

Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Assign the width of 5 to the trendline with an ID number of 3:
Value1=TL_SetSize(3,5);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 899

6.5.29.34 TL_SetStyle

TL_SetStyle
Assigns the specified style to a trendline with the specified ID number; returns a value of 0 if the
trendline style was successfully assigned, and a value of -2 if the specified trendline ID number is
invalid.

Usage
TL_SetStyle(TL_ID,TL_Style)
Parameters
TL_ID - a numerical expression specifying the trendline ID number
TL_Style - a TL style constant or a numerical expression specifying the trendline style as
follows:
Tool_ 1 ______
Solid ______
______
____
Tool_ 2 -----
Dashe -----
d -----
----
Tool_ 3 ...........
Dotte ...........
d ...........
...........
Tool_ 4 __ _ __
Dashe _ __ _
d2 __ _ __
_ __
Tool_ 5 ___ _ _
Dashe ___ _ _
d3 ___ _ _
___
Notes
A trendline-specific ID number is returned by TL_New 886 when the trendline is created.

Example
Set the style of the trendline with an ID number of 3 to Tool Dashed:
Value1=TL_SetStyle(3, 2);

Set the style of the trendline with an ID number of 3 to Tool Dashed:


Value1=TL_SetStyle(3, Tool_Dashed);

© 2009 TS Support, LLC


900 MultiCharts 5.5 User Guide

6.5.29.35 Tool_Dashed

Tool_Dashed
Constant, used in combination with TL_SetStyle 899 to designate the Tool Dashed style; can be
substituted by a numerical value of 2.
Usage
TL_SetStyle(TL_ID, Tool_Dashed)
or:
TL_SetStyle(TL_ID, 2)

Example
Set the style of the trendline with an ID number of 3 to Tool Dashed:
Value1=TL_SetStyle(3, 2);

Set the style of the trendline with an ID number of 3 to Tool Dashed:


Value1=TL_SetStyle(3, Tool_Dashed);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 901

6.5.29.36 Tool_Dashed2

Tool_Dashed2
Constant, used in combination with TL_SetStyle 899 to designate the Tool Dashed2 style; can be
substituted by a numerical value of 4.
Usage
TL_SetStyle(TL_ID, Tool_Dashed2)
or:
TL_SetStyle(TL_ID, 4)

Example
Set the style of the trendline with an ID number of 3 to Tool Dashed2:
Value1=TL_SetStyle(3, 4);

Set the style of the trendline with an ID number of 3 to Tool Dashed2:


Value1=TL_SetStyle(3, Tool_Dashed2);

© 2009 TS Support, LLC


902 MultiCharts 5.5 User Guide

6.5.29.37 Tool_Dashed3

Tool_Dashed3
Constant, used in combination with TL_SetStyle 899 to designate the Tool Dashed3 style; can be
substituted by a numerical value of 5.
Usage
TL_SetStyle(TL_ID, Tool_Dashed3)
or:
TL_SetStyle(TL_ID, 5)

Example
Set the style of the trendline with an ID number of 3 to Tool Dashed3:
Value1=TL_SetStyle(3, 5);

Set the style of the trendline with an ID number of 3 to Tool Dashed3:


Value1=TL_SetStyle(3, Tool_Dashed3);

© 2009 TS Support, LLC


PowerLanguage | Keyword Reference 903

6.5.29.38 Tool_Dotted

Tool_Dotted
Constant, used in combination with TL_SetStyle 899 to designate the Tool Dotted style; can be
substituted by a numerical value of 3.
Usage
TL_SetStyle(TL_ID, Tool_Dotted)
or:
TL_SetStyle(TL_ID, 3)

Example
Set the style of the trendline with an ID number of 3 to Tool Dotted:
Value1=TL_SetStyle(3, 3);

Set the style of the trendline with an ID number of 3 to Tool Dotted:


Value1=TL_SetStyle(3, Tool_Dotted);

© 2009 TS Support, LLC


904 MultiCharts 5.5 User Guide

6.5.29.39 Tool_Solid

Tool_Solid
Constant, used in combination with TL_SetStyle 899 to designate the Tool Solid style; can be
substituted by a numerical value of 1.
Usage
TL_SetStyle(TL_ID, Tool_Solid)
or:
TL_SetStyle(TL_ID, 1)

Example
Set the style of the trendline with an ID number of 3 to Tool Solid:
Value1=TL_SetStyle(3, 1);

Set the style of the trendline with an ID number of 3 to Tool Solid:


Value1=TL_SetStyle(3, Tool_Solid);

© 2009 TS Support, LLC


www.tssupport.com

You might also like