Você está na página 1de 5681

Linguagem MQL5 REFERENTE

ao terminal do cliente MetaTrader 5

ESTUDAR MQL5 e
RESOLVER todas as tarefas:

• Criar seus próprios indicadores de análise


técnica com qualquer grau de complexidade

• Utilizar a automatização - automatizar


sistemas de negociação para trabalhar em
vários mercados financeiros

• Desenvolver suas próprias ferramentas


analíticas baseadas em cálculos matemáticos
e métodos tradicionais
methods

• Desenvolver sistemas de negociação para


resolver uma grande variedade de
necessidades(trading, monitoramento, alerta,
etc)

© 2000-2018, MetaQuotes Software Corp.


2 Conteúdo

Content
Referência MQL5 66
1 Elementos Básicos
.................................................................................................
da Linguagem 68
Sintaxe ............................................................................................................................69
Comentários
......................................................................................................................... 70
Identificadores
......................................................................................................................... 71
Palavras Reservadas
......................................................................................................................... 72
............................................................................................................................74
Tipos de Dados
Tipos Inteiros
......................................................................................................................... 75
Tipos char, short,
................................................................................................................
int e long 76
Constantes de ................................................................................................................
Caracteres 80
Tipo datetime................................................................................................................ 84
Tipo color ................................................................................................................ 85
Tipo bool ................................................................................................................ 86
Enumeradores................................................................................................................ 87
Tipos Reais.........................................................................................................................
(double, float) 89
Tipo string......................................................................................................................... 94
Estruturas,.........................................................................................................................
Classes e Interfaces 95
Objeto Array
.........................................................................................................................
Dinâmico 115
Conversão.........................................................................................................................
de Tipo (Typecasting) 116
Tipo void.........................................................................................................................
e constante NULL 121
Tipos personalizados
......................................................................................................................... 122
Ponteiros.........................................................................................................................
de Objeto 132
Referência,
.........................................................................................................................
Modificador & e Palavra-chave this 135
Operaç ões............................................................................................................................137
e Expressões
Express õ.........................................................................................................................
es 138
Operaç ões
.........................................................................................................................
Aritméticas 139
Operaç ões
.........................................................................................................................
de Atribuição 140
Operaç ões
.........................................................................................................................
de Relação 141
Operaç ões Booleanas
......................................................................................................................... 142
Operaç ões Binárias
......................................................................................................................... 144
Outras Operaç ões
......................................................................................................................... 147
Regras de
.........................................................................................................................
Precedência 151
Operadores............................................................................................................................153
Operador.........................................................................................................................
Composto 155
Operador.........................................................................................................................
de Expressão 156
Operador.........................................................................................................................
return 157
Operador.........................................................................................................................
Condicional if-else 158
Ternário ?
Operador......................................................................................................................... 159
Operador.........................................................................................................................
switch 161
Operador.........................................................................................................................
de loop while 163
Operador.........................................................................................................................
de loop for 164
Operador.........................................................................................................................
de loop do while 166
break
Operador......................................................................................................................... 167
Operador.........................................................................................................................
continue 168
Operador.........................................................................................................................
de Criação de Objeto new 169
Operação.........................................................................................................................
de Exclusão de Objeto delete 171
Funç ões ............................................................................................................................172
de Função
Chamada......................................................................................................................... 174
Passando.........................................................................................................................
Parâmetros 175
Sobrecarga de Função
......................................................................................................................... 178
Sobrecarga
.........................................................................................................................
de Operação 181
Descrição de Funç ões Externas
......................................................................................................................... 195
Exportação de Funç ões
......................................................................................................................... 197

© 2000-2018, MetaQuotes Software Corp.


3 Conteúdo

Funç ões .........................................................................................................................


de Manipulação de Evento 198
Variáveis ............................................................................................................................210
V ariáveis.........................................................................................................................
Locais 213
Parâmetros Formais
......................................................................................................................... 215
V ariáveis.........................................................................................................................
Estáticas 217
V ariáveis.........................................................................................................................
Globais 219
V ariáveis.........................................................................................................................
de Entrada 220
V ariáveis.........................................................................................................................
Externas 225
Inicialização de V ariáveis
......................................................................................................................... 226
V isibilidade Escopo e Tempo de V ida de V ariáveis
......................................................................................................................... 228
Criação e.........................................................................................................................
Exclusão de Objetos 230
............................................................................................................................233
Preproc essador
Substituição de Macro (#define)
......................................................................................................................... 235
Propriedades de Programa (#property)
......................................................................................................................... 238
Arquivos (#include)
Incluindo......................................................................................................................... 245
Importando Funç ões (#import)
......................................................................................................................... 246
Conditional Compilation (#ifdef, #ifndef, #else, #endif)
......................................................................................................................... 249
............................................................................................................................251
Programaç ão Orientada a Objetos
Encapsulamento
.........................................................................................................................
e Extensibilidade de Tipo 253
Herança ......................................................................................................................... 256
Polimorfismo
......................................................................................................................... 261
Sobrecarga
.........................................................................................................................
(Overload) 265
Funç ões .........................................................................................................................
V irtuais 266
Membros.........................................................................................................................
Estáticos de uma Classe 270
Templates de Função
......................................................................................................................... 274
Modelos de
.........................................................................................................................
classes 278
Classes abstratas
......................................................................................................................... 283
2 Constantes, Enumeradores
.................................................................................................
e Estruturas 285
Constantes............................................................................................................................286
de Gráfic o
Eventos de Gráficos
Tipos de ......................................................................................................................... 287
Janela temporal de Gráfico
......................................................................................................................... 294
Propriedades de Gráfico
......................................................................................................................... 296
Constantes
.........................................................................................................................
de Posicionamento 304
Representação de Gráfico
......................................................................................................................... 305
Exemplos.........................................................................................................................
de como trabalhar com um gráfico 307
Constantes............................................................................................................................366
de Objetos
Tipos de .........................................................................................................................
Objeto 367
O BJ_V LINE ................................................................................................................ 369
O BJ_HLINE ................................................................................................................ 374
O BJ_TREND ................................................................................................................ 379
O BJ_TRENDBY ANGLE
................................................................................................................ 386
O BJ_C Y CLES................................................................................................................ 392
O BJ_ARRO W................................................................................................................
ED_LINE 398
O BJ_C HANNEL ................................................................................................................ 404
O BJ_STDDEV................................................................................................................
C HANNEL 411
O BJ_REGRESSION
................................................................................................................ 418
O BJ_PITC HF................................................................................................................
ORK 424
O BJ_GANNLINE ................................................................................................................ 432
O BJ_GANNFAN ................................................................................................................ 439
O BJ_GANNGRID ................................................................................................................ 446
O BJ_FI BO ................................................................................................................ 453
O BJ_FI BOTIMES
................................................................................................................ 460
O BJ_FI BO FAN................................................................................................................ 467
O BJ_FI BOARC ................................................................................................................ 474
O BJ_FI BOC H................................................................................................................
ANNEL 481
O BJ_EX PANSION
................................................................................................................ 489
O BJ_ELLIOT................................................................................................................
W AV E5 497
O BJ_ELLIOT................................................................................................................
W AV E3 505

© 2000-2018, MetaQuotes Software Corp.


4 Conteúdo

O BJ_RECTAN................................................................................................................
GLE 512
O BJ_TRIANG................................................................................................................
LE 518
O BJ_ELLIPSE................................................................................................................ 525
O BJ_ARRO W_ THUMB_UP
................................................................................................................ 532
O BJ_ARRO W_ THUMB_DO W N
................................................................................................................ 538
O BJ_ARRO W_ ................................................................................................................
UP 544
O BJ_ARRO W_ DO W N
................................................................................................................ 550
O BJ_ARRO W_ ................................................................................................................
STOP 556
O BJ_ARRO W_ C HEC K
................................................................................................................ 562
O BJ_ARRO W_ LEFT_PRICE
................................................................................................................ 568
O BJ_ARRO W_ RI GHT_PRICE
................................................................................................................ 573
O BJ_ARRO W_B UY
................................................................................................................ 578
O BJ_ARRO W_ ................................................................................................................
SELL 583
O BJ_ARRO W................................................................................................................ 588
O BJ_TEX T ................................................................................................................ 594
O BJ_LABEL ................................................................................................................ 600
O BJ_BUTTON................................................................................................................ 608
O BJ_C HART ................................................................................................................ 615
O BJ_BITMAP................................................................................................................ 622
O BJ_BITMAP................................................................................................................
_LABEL 629
O BJ_EDIT ................................................................................................................ 636
O BJ_EV ENT ................................................................................................................ 643
O BJ_RECTAN................................................................................................................
GLE_LABEL 648
Propriedades
.........................................................................................................................
do Objeto 654
de V inculação de Objeto
Métodos ......................................................................................................................... 662
Gráfico
Canto de......................................................................................................................... 667
V isibilidade
.........................................................................................................................
de Objetos 670
Níveis de.........................................................................................................................
Onda de Elliott 673
Objetos G .........................................................................................................................
ann 674
Cores W eb ......................................................................................................................... 676
W ingdings ......................................................................................................................... 678
Constantes............................................................................................................................679
de Indic ador
Constantes.........................................................................................................................
de Preço 680
Métodos .........................................................................................................................
de Suavização 683
Linhas de.........................................................................................................................
Indicadores 684
Estilos de.........................................................................................................................
Desenho 686
Propriedades
.........................................................................................................................
de Indicador Customizado 690
Tipos de .........................................................................................................................
Indicador 693
Identificadores
.........................................................................................................................
de Tipo de Dados 695
............................................................................................................................696
Estado de Ambiente
Propriedades
.........................................................................................................................
do Terminal Cliente 697
Propriedades
.........................................................................................................................
de um Programa MQL5 em Execução 703
Propriedades
.........................................................................................................................
do Ativo 706
Propriedades
.........................................................................................................................
da Conta 723
Estatísticas
.........................................................................................................................
de Teste 727
Constantes............................................................................................................................731
de Negoc iaç ão
Propriedades de uma Base Histórica de Dados
......................................................................................................................... 732
Propriedades
.........................................................................................................................
de uma Ordem 733
Propriedades
.........................................................................................................................
de uma Posição 738
Propriedades
.........................................................................................................................
de uma Operação 741
Operaç ões de Negociação
Tipos de ......................................................................................................................... 745
Tipos de .........................................................................................................................
Transação de Negociação 757
Ordens de.........................................................................................................................
Negociação em DOM (Profundidade de Mercado) 760
Propriedades
.........................................................................................................................
de Sinal 761
Constantes............................................................................................................................763
Nomeados
Substituiç ões de Macro Predefinidas
......................................................................................................................... 764
Constantes
.........................................................................................................................
Matemáticas 766
Constantes
.........................................................................................................................
de Tipo Numérico 768

© 2000-2018, MetaQuotes Software Corp.


5 Conteúdo

Códigos de.........................................................................................................................
Motivos de Desinicialização 771
V erificação
.........................................................................................................................
de Ponteiro de Objeto 773
Outras Constantes
......................................................................................................................... 774
............................................................................................................................778
Estruturas de Dados
Estrutura
.........................................................................................................................
do Tipo Data 779
Estrutura
.........................................................................................................................
de Parâmetros de Entrada 780
Estrutura de Dados Históricos
......................................................................................................................... 781
Estrutura
.........................................................................................................................
DOM 782
Estrutura
.........................................................................................................................
de Solicitação de Negociação (Trade) 783
Estrutura de Resultados de V erificação de Solicitação
......................................................................................................................... 797
Estrutura
.........................................................................................................................
de Resultado de Solicitação de uma Negociação (Trade) 798
Estrutura
.........................................................................................................................
de uma Transação de Negociação 802
Estrutura
.........................................................................................................................
para Preços Correntes 810
Códigos de ............................................................................................................................812
Erros e Avisos
Códigos de
.........................................................................................................................
Retorno do Servidor de Negociação 813
Avisos do.........................................................................................................................
Compilador 817
Erros de .........................................................................................................................
Compilação 821
Erros em.........................................................................................................................
Tempo de Execução 833
Constantes............................................................................................................................845
de Entrada/Saída
Flags de Abertura
.........................................................................................................................
de Arquivo 846
Propriedades
.........................................................................................................................
de Arquivo 849
Posição In- File
......................................................................................................................... 851
Uso de um.........................................................................................................................
Código de Página (Codepage) 852
MessageB.........................................................................................................................
ox 853
3 Programas MQL5
................................................................................................. 855
............................................................................................................................856
Exec uç ão de Programa
............................................................................................................................863
Trade permission
Eventos do ............................................................................................................................867
Terminal Cliente
Rec ursos ............................................................................................................................870
Chamadas de............................................................................................................................882
Funç ões Importadas
............................................................................................................................884
Erros em Tempo de Exec uç ão
............................................................................................................................885
Testando Estratégias de Negoc iaç ão
4 Variáveis Predefinidas
................................................................................................. 911
_AppliedTo............................................................................................................................912
_Digits ............................................................................................................................914
_Point ............................................................................................................................915
_LastError ............................................................................................................................916
_Period ............................................................................................................................917
_RandomSeed............................................................................................................................918
_StopFlag ............................................................................................................................919
_Symbol ............................................................................................................................920
............................................................................................................................921
_UninitReason
_IsX 64 ............................................................................................................................922
5 Funções Comuns
................................................................................................. 923
Alert ............................................................................................................................925
Chec k Pointer
............................................................................................................................926
Comment ............................................................................................................................928
............................................................................................................................930
CryptEnc ode
............................................................................................................................932
CryptDec ode
k
DebugBrea............................................................................................................................933
............................................................................................................................934
ExpertRemove
GetPointer ............................................................................................................................936
GetTic k Count
............................................................................................................................940
............................................................................................................................941
GetMic rosec ondCount
MessageBox............................................................................................................................943
............................................................................................................................944
PeriodSec onds
PlaySound ............................................................................................................................945

© 2000-2018, MetaQuotes Software Corp.


6 Conteúdo

Print ............................................................................................................................946
PrintFormat............................................................................................................................948
............................................................................................................................954
ResetLastError
............................................................................................................................955
Resourc eCreate
............................................................................................................................957
Resourc eFree
............................................................................................................................958
Resourc eReadImage
............................................................................................................................959
Resourc eSave
............................................................................................................................960
SetReturnError
............................................................................................................................961
SetUserError
Sleep ............................................................................................................................962
............................................................................................................................963
TerminalClose
TesterH ideIndic
............................................................................................................................965
ators
............................................................................................................................967
TesterStatistic s
TesterStop ............................................................................................................................968
TesterW ithdra w al
............................................................................................................................969
Translate Key
............................................................................................................................970
Z eroMemory............................................................................................................................971
6 Funções para .................................................................................................
Array 972
ArrayBsearc ............................................................................................................................973
h
ArrayCopy ............................................................................................................................977
ArrayCompare............................................................................................................................982
ArrayFree ............................................................................................................................983
............................................................................................................................992
ArrayGetAsSeries
ze
ArrayInitiali............................................................................................................................995
ArrayFill ............................................................................................................................997
............................................................................................................................999
ArrayIsDynamic
............................................................................................................................1001
ArrayIsSeries
............................................................................................................................1003
ArrayMaximum
............................................................................................................................1014
ArrayMinimum
ArrayPrint............................................................................................................................1025
ArrayRange............................................................................................................................1028
ArrayResiz............................................................................................................................1029
e
............................................................................................................................1032
ArraySetAsSeries
ArraySize ............................................................................................................................1035
ArraySort............................................................................................................................1037
ArrayS w ap
............................................................................................................................1042
7 Funções de Conversão
................................................................................................. 1044
............................................................................................................................1046
CharToString
............................................................................................................................1047
CharArrayToString
............................................................................................................................1048
CharArrayToStruc t
............................................................................................................................1049
Struc tToCharArray
............................................................................................................................1050
ColorToARGB
............................................................................................................................1052
ColorToString
............................................................................................................................1053
DoubleToString
............................................................................................................................1054
EnumToString
............................................................................................................................1056
IntegerToString
............................................................................................................................1057
ShortToString
............................................................................................................................1058
ShortArrayToString
............................................................................................................................1059
TimeToString
NormalizeDouble
............................................................................................................................1060
............................................................................................................................1062
StringToCharArray
............................................................................................................................1063
StringToColor
............................................................................................................................1064
StringToDouble
............................................................................................................................1065
StringToInteger
............................................................................................................................1066
StringToShortArray
............................................................................................................................1067
StringToTime
............................................................................................................................1068
StringFormat

© 2000-2018, MetaQuotes Software Corp.


7 Conteúdo

8 Funções Matemáticas
................................................................................................. 1072
MathAbs ............................................................................................................................1074
............................................................................................................................1075
MathArc c os
MathArc sin............................................................................................................................1076
MathArc tan............................................................................................................................1077
MathCeil ............................................................................................................................1078
MathCos ............................................................................................................................1079
MathExp ............................................................................................................................1080
MathFloor............................................................................................................................1081
MathLog ............................................................................................................................1082
MathLog10............................................................................................................................1083
MathMax ............................................................................................................................1084
MathMin ............................................................................................................................1085
MathMod ............................................................................................................................1086
MathPo w ............................................................................................................................1087
MathRand ............................................................................................................................1088
MathRound ............................................................................................................................1089
MathSin ............................................................................................................................1090
MathS q rt ............................................................................................................................1091
MathSrand............................................................................................................................1092
MathTan ............................................................................................................................1095
............................................................................................................................1096
MathIsValidNumber
MathExpm1 ............................................................................................................................1097
MathLog1p............................................................................................................................1098
............................................................................................................................1099
MathArc c osh
............................................................................................................................1100
MathArc sinh
............................................................................................................................1101
MathArc tanh
MathCosh ............................................................................................................................1102
MathSinh ............................................................................................................................1103
MathTanh ............................................................................................................................1104
MathS w ap............................................................................................................................1105
9 Funções de String
................................................................................................. 1106
StringAdd ............................................................................................................................1108
............................................................................................................................1110
StringBufferLen
............................................................................................................................1111
StringCompare
StringConc............................................................................................................................1113
atenate
StringFill ............................................................................................................................1114
StringFind............................................................................................................................1115
............................................................................................................................1116
StringGetCharac ter
StringInit ............................................................................................................................1117
StringLen ............................................................................................................................1118
............................................................................................................................1119
StringReplac e
............................................................................................................................1120
StringSetCharac ter
StringSplit............................................................................................................................1122
............................................................................................................................1124
StringSubstr
w er
StringToLo............................................................................................................................1125
............................................................................................................................1126
StringToUpper
............................................................................................................................1127
StringTrimLeft
............................................................................................................................1128
StringTrimRight
10 Data e Hora ................................................................................................. 1129
............................................................................................................................1130
TimeCurrent
............................................................................................................................1131
TimeTradeServer
TimeLoc al............................................................................................................................1132
TimeGMT ............................................................................................................................1133
............................................................................................................................1134
TimeDaylightSavings
............................................................................................................................1135
TimeGMTOffset
............................................................................................................................1136
TimeToStruc t

© 2000-2018, MetaQuotes Software Corp.


8 Conteúdo

............................................................................................................................1137
Struc tToTime
11 Informações .................................................................................................
de Conta 1138
............................................................................................................................1139
Ac c ountInfoDouble
............................................................................................................................1140
Ac c ountInfoInteger
............................................................................................................................1142
Ac c ountInfoString
12 Verificando Estado
................................................................................................. 1143
............................................................................................................................1144
GetLastError
IsStopped ............................................................................................................................1145
UninitializeReason
............................................................................................................................1146
............................................................................................................................1147
TerminalInfoInteger
............................................................................................................................1148
TerminalInfoDouble
............................................................................................................................1149
TerminalInfoString
............................................................................................................................1150
MQLInfoInteger
............................................................................................................................1151
MQLInfoString
Symbol ............................................................................................................................1152
Period ............................................................................................................................1153
Digits ............................................................................................................................1154
Point ............................................................................................................................1155
13 Manipulação .................................................................................................
de eventos 1156
OnStart ............................................................................................................................1158
OnInit ............................................................................................................................1161
OnDeinit ............................................................................................................................1164
OnTic k ............................................................................................................................1167
............................................................................................................................1173
OnCalc ulate
OnTimer ............................................................................................................................1177
OnTrade ............................................................................................................................1180
............................................................................................................................1185
OnTradeTransac tion
OnBoo k Event
............................................................................................................................1191
............................................................................................................................1195
OnChartEvent
OnTester ............................................................................................................................1202
............................................................................................................................1209
OnTesterInit
............................................................................................................................1216
OnTesterDeinit
............................................................................................................................1217
OnTesterPass
14 Informações .................................................................................................
de Mercado 1218
............................................................................................................................1219
SymbolsTotal
SymbolName............................................................................................................................1220
............................................................................................................................1221
SymbolSelec t
............................................................................................................................1222
SymbolIsSync hronized
............................................................................................................................1223
SymbolInfoDouble
............................................................................................................................1225
SymbolInfoInteger
............................................................................................................................1227
SymbolInfoString
............................................................................................................................1228
SymbolInfoMarginRate
............................................................................................................................1229
SymbolInfoTic k
............................................................................................................................1230
SymbolInfoSessionQuote
............................................................................................................................1231
SymbolInfoSessionTrade
Mark etBoo............................................................................................................................1232
k Add
Mark etBoo............................................................................................................................1233
k Release
Mark etBoo............................................................................................................................1234
k Get
15 Séries Temporais
.................................................................................................
e Acesso a Indicadores 1235
Direç ão de............................................................................................................................1240
Indexaç ão em Arrays, Buffers e Séries Temporais
Organizando............................................................................................................................1244
Ac esso aos Dados
............................................................................................................................1254
SeriesInfoInteger
Bars ............................................................................................................................1256
............................................................................................................................1259
BarsCalc ulated
............................................................................................................................1261
Indic atorCreate
............................................................................................................................1263
Indic atorParameters

© 2000-2018, MetaQuotes Software Corp.


9 Conteúdo

............................................................................................................................1265
Indic atorRelease
CopyBuffer ............................................................................................................................1267
CopyRates............................................................................................................................1272
CopyTime............................................................................................................................1276
CopyOpen............................................................................................................................1279
Copy H igh ............................................................................................................................1282
CopyLo w ............................................................................................................................1286
CopyClose............................................................................................................................1289
CopyTic k Volume
............................................................................................................................1292
............................................................................................................................1296
CopyRealVolume
CopySpread ............................................................................................................................1299
CopyTic k s............................................................................................................................1303
CopyTic k sRange
............................................................................................................................1308
iBars ............................................................................................................................1310
iBarShift ............................................................................................................................1311
iClose ............................................................................................................................1314
iH igh ............................................................................................................................1316
iH ighest ............................................................................................................................1318
iLo w ............................................................................................................................1319
iLo w est ............................................................................................................................1321
iOpen ............................................................................................................................1322
iTime ............................................................................................................................1324
iTic k Volume
............................................................................................................................1326
iRealVolume............................................................................................................................1328
iVolume ............................................................................................................................1330
iSpread ............................................................................................................................1332
16 Símbolos personali zados
................................................................................................. 1334
............................................................................................................................1336
CustomSymbolCreate
............................................................................................................................1337
CustomSymbolDelete
............................................................................................................................1338
CustomSymbolSetInteger
............................................................................................................................1339
CustomSymbolSetDouble
............................................................................................................................1340
CustomSymbolSetString
............................................................................................................................1341
CustomSymbolSetMarginRate
............................................................................................................................1342
CustomSymbolSetSessionQuote
............................................................................................................................1343
CustomSymbolSetSessionTrade
............................................................................................................................1344
CustomRatesDelete
............................................................................................................................1345
CustomRatesReplac e
............................................................................................................................1346
CustomRatesUpdate
k sAdd
CustomTic............................................................................................................................1347
k sDelete
CustomTic............................................................................................................................1349
k sReplac e
CustomTic............................................................................................................................1350
17 Operações de.................................................................................................
Gráficos 1352
............................................................................................................................1355
ChartApplyTemplate
............................................................................................................................1358
ChartSaveTemplate
ChartW indo w Find
............................................................................................................................1363
............................................................................................................................1365
ChartTimePric eTo X Y
ChartX Y ToTimePric
............................................................................................................................1366
e
ChartOpen............................................................................................................................1368
ChartFirst ............................................................................................................................1369
ChartNext............................................................................................................................1370
ChartClose............................................................................................................................1371
ChartSymbol............................................................................................................................1372
ChartPeriod............................................................................................................................1373
ChartRedra w
............................................................................................................................1374
............................................................................................................................1375
ChartSetDouble
............................................................................................................................1376
ChartSetInteger
............................................................................................................................1378
ChartSetString
............................................................................................................................1380
ChartGetDouble
© 2000-2018, MetaQuotes Software Corp.
10 Conteúdo

............................................................................................................................1382
ChartGetInteger
............................................................................................................................1384
ChartGetString
............................................................................................................................1386
ChartNavigate
ChartID ............................................................................................................................1389
ChartIndic............................................................................................................................1390
atorAdd
ChartIndic............................................................................................................................1394
atorDelete
ChartIndic............................................................................................................................1397
atorGet
ChartIndic............................................................................................................................1399
atorName
ChartIndic............................................................................................................................1400
atorsTotal
ChartW indo w OnDropped
............................................................................................................................1401
............................................................................................................................1402
ChartPric eOnDropped
............................................................................................................................1403
ChartTimeOnDropped
ChartX OnDropped
............................................................................................................................1404
ChartY OnDropped
............................................................................................................................1405
............................................................................................................................1406
ChartSetSymbolPeriod
............................................................................................................................1407
ChartSc reenShot
18 Funções de Negociação (Trade)
................................................................................................. 1410
OrderCalc............................................................................................................................1412
Margin
OrderCalc............................................................................................................................1413
Profit
k
OrderChec............................................................................................................................1414
OrderSend............................................................................................................................1415
............................................................................................................................1420
OrderSendAsync
............................................................................................................................1431
PositionsTotal
............................................................................................................................1432
PositionGetSymbol
............................................................................................................................1433
PositionSelec t
............................................................................................................................1434
PositionSelec tByTic k et
............................................................................................................................1435
PositionGetDouble
............................................................................................................................1436
PositionGetInteger
............................................................................................................................1438
PositionGetTic k et
............................................................................................................................1439
PositionGetString
............................................................................................................................1440
OrdersTotal
............................................................................................................................1441
OrderGetTic k et
OrderSelec............................................................................................................................1443
t
............................................................................................................................1444
OrderGetDouble
............................................................................................................................1445
OrderGetInteger
............................................................................................................................1446
OrderGetString
H istorySelec
............................................................................................................................1447
t
H istorySelec
............................................................................................................................1449
tByPosition
H istoryOrderSelec
............................................................................................................................1450
t
H istoryOrdersTotal
............................................................................................................................1451
H istoryOrderGetTic k et
............................................................................................................................1452
H istoryOrderGetDouble
............................................................................................................................1454
H istoryOrderGetInteger
............................................................................................................................1455
H istoryOrderGetString
............................................................................................................................1458
H istoryDealSelec
............................................................................................................................1459
t
H istoryDealsTotal
............................................................................................................................1460
H istoryDealGetTic k et
............................................................................................................................1461
H istoryDealGetDouble
............................................................................................................................1463
H istoryDealGetInteger
............................................................................................................................1464
H istoryDealGetString
............................................................................................................................1467
19 Gerenciamento
.................................................................................................
de sinais 1468
............................................................................................................................1469
SignalBaseGetDouble
............................................................................................................................1470
SignalBaseGetInteger
............................................................................................................................1471
SignalBaseGetString
............................................................................................................................1472
SignalBaseSelec t
............................................................................................................................1473
SignalBaseTotal
............................................................................................................................1474
SignalInfoGetDouble
............................................................................................................................1475
SignalInfoGetInteger
© 2000-2018, MetaQuotes Software Corp.
11 Conteúdo

............................................................................................................................1476
SignalInfoGetString
............................................................................................................................1477
SignalInfoSetDouble
............................................................................................................................1478
SignalInfoSetInteger
............................................................................................................................1479
SignalSubsc ribe
............................................................................................................................1480
SignalUnsubsc ribe
20 Networ k Functions
................................................................................................. 1481
Soc k etCreate
............................................................................................................................1483
Soc k etClose
............................................................................................................................1486
Soc k etConnec
............................................................................................................................1489
t
Soc k etIsReadable
............................................................................................................................1492
Soc k etIsW............................................................................................................................1495
ritable
Soc k etTimeouts
............................................................................................................................1496
Soc k etRead
............................................................................................................................1497
Soc k etSend
............................................................................................................................1500
Soc k etTlsH andshak e
............................................................................................................................1503
Soc k etTlsCertific
............................................................................................................................1504
ate
Soc k etTlsRead
............................................................................................................................1507
Soc k etTlsReadAvailable
............................................................................................................................1510
Soc k etTlsSend
............................................................................................................................1511
W ebRe q uest
............................................................................................................................1512
SendFTP ............................................................................................................................1515
SendMail ............................................................................................................................1516
SendNotific............................................................................................................................1517
ation
21 Variáveis Globais
.................................................................................................
do Terminal 1518
............................................................................................................................1519
GlobalVariableChec k
............................................................................................................................1520
GlobalVariableTime
............................................................................................................................1521
GlobalVariableDel
............................................................................................................................1522
GlobalVariableGet
............................................................................................................................1523
GlobalVariableName
............................................................................................................................1524
GlobalVariableSet
............................................................................................................................1525
GlobalVariablesFlush
............................................................................................................................1526
GlobalVariableTemp
............................................................................................................................1527
GlobalVariableSetOnCondition
............................................................................................................................1528
GlobalVariablesDeleteAll
............................................................................................................................1529
GlobalVariablesTotal
22 Funções de Ar quivo
................................................................................................. 1530
............................................................................................................................1533
FileFindFirst
FileFindNext............................................................................................................................1535
............................................................................................................................1537
FileFindClose
FileIsExist ............................................................................................................................1539
FileOpen ............................................................................................................................1542
FileClose ............................................................................................................................1545
FileCopy ............................................................................................................................1546
FileDelete............................................................................................................................1549
FileMove ............................................................................................................................1551
FileFlush ............................................................................................................................1554
............................................................................................................................1556
FileGetInteger
FileIsEnding............................................................................................................................1559
............................................................................................................................1561
FileIsLineEnding
............................................................................................................................1566
FileReadArray
FileReadBool............................................................................................................................1568
............................................................................................................................1571
FileReadDatetime
............................................................................................................................1574
FileReadDouble
............................................................................................................................1577
FileReadFloat
............................................................................................................................1580
FileReadInteger
FileReadLong............................................................................................................................1584
............................................................................................................................1587
FileReadNumber

© 2000-2018, MetaQuotes Software Corp.


12 Conteúdo

............................................................................................................................1592
FileReadString
............................................................................................................................1594
FileReadStruc t
FileSee k ............................................................................................................................1598
FileSize ............................................................................................................................1601
FileTell ............................................................................................................................1603
File W rite ............................................................................................................................1606
File W riteArray
............................................................................................................................1609
File W riteDouble
............................................................................................................................1612
File W riteFloat
............................................................................................................................1615
File W riteInteger
............................................................................................................................1617
File W riteLong
............................................................................................................................1620
File W riteString
............................................................................................................................1622
File W riteStruc
............................................................................................................................1625
t
FileLoad ............................................................................................................................1628
FileSave ............................................................................................................................1630
FolderCreate............................................................................................................................1632
FolderDelete............................................................................................................................1635
FolderClean ............................................................................................................................1638
23 Indicadores Customi zados
................................................................................................. 1641
............................................................................................................................1645
Estilos de Indic ador em Exemplos
DRAW_NONE
......................................................................................................................... 1653
DRAW_LINE
......................................................................................................................... 1656
DRAW_SECTION
......................................................................................................................... 1660
DRAW_H.........................................................................................................................
ISTO GRAM 1664
DRAW_H.........................................................................................................................
ISTO GRAM2 1668
DRAW_ARRO W
......................................................................................................................... 1672
DRAW_Z.........................................................................................................................
I GZAG 1677
DRAW_F.........................................................................................................................
ILLING 1682
DRAW_B.........................................................................................................................
ARS 1687
DRAW_CANDLES
......................................................................................................................... 1693
DRAW_COLOR _LINE
......................................................................................................................... 1700
DRAW_COLOR _SECTION
......................................................................................................................... 1705
DRAW_COLOR _HISTO GRAM
......................................................................................................................... 1711
DRAW_COLOR _HISTO GRAM2
......................................................................................................................... 1716
DRAW_COLOR _ARRO W
......................................................................................................................... 1721
DRAW_COLOR _ZI GZAG
......................................................................................................................... 1727
DRAW_COLOR _BARS
......................................................................................................................... 1732
DRAW_COLOR _CANDLES
......................................................................................................................... 1739
............................................................................................................................1746
Conexão entre Propriedades do Indic ador e Funç ões
............................................................................................................................1749
SetIndexBuffer
............................................................................................................................1752
Indic atorSetDouble
............................................................................................................................1756
Indic atorSetInteger
............................................................................................................................1760
Indic atorSetString
............................................................................................................................1763
PlotIndexSetDouble
............................................................................................................................1764
PlotIndexSetInteger
............................................................................................................................1768
PlotIndexSetString
............................................................................................................................1769
PlotIndexGetInteger
24 Funções de Objeto
................................................................................................. 1772
............................................................................................................................1774
Objec tCreate
............................................................................................................................1778
Objec tName
............................................................................................................................1779
Objec tDelete
............................................................................................................................1780
Objec tsDeleteAll
............................................................................................................................1781
Objec tFind
............................................................................................................................1782
Objec tGetTimeByValue
............................................................................................................................1783
Objec tGetValueByTime
............................................................................................................................1784
Objec tMove
............................................................................................................................1785
Objec tsTotal
............................................................................................................................1786
Objec tSetDouble
© 2000-2018, MetaQuotes Software Corp.
13 Conteúdo

............................................................................................................................1790
Objec tSetInteger
............................................................................................................................1793
Objec tSetString
............................................................................................................................1795
Objec tGetDouble
............................................................................................................................1797
Objec tGetInteger
............................................................................................................................1799
Objec tGetString
............................................................................................................................1801
TextSetFont
TextOut ............................................................................................................................1804
TextGetSiz............................................................................................................................1808
e
25 Indicadores Técnicos
................................................................................................. 1809
iAC ............................................................................................................................1812
iAD ............................................................................................................................1817
iADX ............................................................................................................................1822
iADX W ilder ............................................................................................................................1827
iAlligator ............................................................................................................................1832
iAMA ............................................................................................................................1839
iAO ............................................................................................................................1844
iATR ............................................................................................................................1849
iBearsPo w............................................................................................................................1854
er
iBands ............................................................................................................................1859
iBullsPo w er............................................................................................................................1865
iCCI ............................................................................................................................1870
iChaik in ............................................................................................................................1875
iCustom ............................................................................................................................1880
iDEMA ............................................................................................................................1883
iDeMark er............................................................................................................................1888
iEnvelopes............................................................................................................................1893
iForc e ............................................................................................................................1899
iFrac tals ............................................................................................................................1904
iFrAMA ............................................................................................................................1909
iGator ............................................................................................................................1914
iIc himo k u ............................................................................................................................1921
iB W MFI ............................................................................................................................1928
iMomentum ............................................................................................................................1933
iMFI ............................................................................................................................1938
iMA ............................................................................................................................1943
iOsMA ............................................................................................................................1948
iMACD ............................................................................................................................1953
iOBV ............................................................................................................................1959
iSAR ............................................................................................................................1964
iRSI ............................................................................................................................1969
iRVI ............................................................................................................................1974
iStdDev ............................................................................................................................1979
iStoc hastic............................................................................................................................1984
iTEMA ............................................................................................................................1990
iTriX ............................................................................................................................1995
iW PR ............................................................................................................................2000
iVIDyA ............................................................................................................................2005
iVolumes ............................................................................................................................2010
com Resultados de Otimização
26 Trabalhando................................................................................................. 2015
FrameFirst............................................................................................................................2016
............................................................................................................................2017
FrameFilter
FrameNext............................................................................................................................2018
............................................................................................................................2019
FrameInputs
FrameAdd............................................................................................................................2020
............................................................................................................................2021
ParameterGetRange
............................................................................................................................2024
ParameterSetRange
27 Trabalhando.................................................................................................
com Eventos 2026

© 2000-2018, MetaQuotes Software Corp.


14 Conteúdo

............................................................................................................................2027
EventSetMillisec ondTimer
............................................................................................................................2028
EventSetTimer
EventKillTimer
............................................................................................................................2029
............................................................................................................................2030
EventChartCustom
28 Trabalhando.................................................................................................
com OpenCL 2036
CLH andleType
............................................................................................................................2038
............................................................................................................................2039
CLGetInfoInteger
............................................................................................................................2042
CLGetInfoString
............................................................................................................................2045
CLContextCreate
............................................................................................................................2046
CLContextFree
CLGetDevic............................................................................................................................2047
eInfo
............................................................................................................................2051
CLProgramCreate
............................................................................................................................2055
CLProgramFree
CLKernelCreate
............................................................................................................................2056
CLKernelFree
............................................................................................................................2057
CLSetKernelArg
............................................................................................................................2058
CLSetKernelArgMem
............................................................................................................................2059
CLSetKernelArgMemLoc
............................................................................................................................2060
al
............................................................................................................................2061
CLBufferCreate
............................................................................................................................2062
CLBufferFree
CLBufferW............................................................................................................................2063
rite
............................................................................................................................2064
CLBufferRead
CLExec ute............................................................................................................................2065
............................................................................................................................2067
CLExec utionStatus
29 Biblioteca Padrão
................................................................................................. 2068
Matemátic ............................................................................................................................2069
a
Estatística
......................................................................................................................... 2070
Características
................................................................................................................
estatísticas 2073
MathMean ........................................................................................................... 2074
MathV ariance ........................................................................................................... 2075
MathSk ewness ........................................................................................................... 2076
MathKurtosis ........................................................................................................... 2077
MathMoments ........................................................................................................... 2078
MathMedian ........................................................................................................... 2079
MathStandardDeviation
........................................................................................................... 2080
MathAverageDeviation
........................................................................................................... 2081
Distribuição ................................................................................................................
normal 2082
MathProbabilityDensityNormal
........................................................................................................... 2086
MathCumulativeDistributionNormal
........................................................................................................... 2088
MathQuantileNormal
........................................................................................................... 2090
MathRandomNormal
........................................................................................................... 2092
MathMomentsNormal
........................................................................................................... 2093
Distribuição ................................................................................................................
log-normal 2094
MathProbabilityDensityLognormal
........................................................................................................... 2098
MathCumulativeDistributionLognormal
........................................................................................................... 2100
MathQuantileLognormal
........................................................................................................... 2102
MathRandomLognormal
........................................................................................................... 2104
MathMomentsLognormal
........................................................................................................... 2105
Distribuição ................................................................................................................
beta 2106
MathProbabilityDensity Beta
........................................................................................................... 2110
MathCumulativeDistribution Beta
........................................................................................................... 2112
MathQuantile Beta
........................................................................................................... 2114
MathRandom Beta
........................................................................................................... 2116
MathMoments Beta
........................................................................................................... 2117
Distribuição ................................................................................................................
beta não-central 2118
MathProbabilityDensityNoncentral Beta
........................................................................................................... 2122
MathCumulativeDistributionNoncentral Beta
........................................................................................................... 2124
MathQuantileNoncentral Beta
........................................................................................................... 2126

© 2000-2018, MetaQuotes Software Corp.


15 Conteúdo

MathRandomNoncentral Beta
........................................................................................................... 2128
MathMomentsNoncentral Beta
........................................................................................................... 2129
Distribuição
................................................................................................................
gama 2130
MathProbabilityDensity Gamma
........................................................................................................... 2134
MathCumulativeDistribution Gamma
........................................................................................................... 2136
MathQuantile Gamma
........................................................................................................... 2138
MathRandom Gamma
........................................................................................................... 2140
MathMoments Gamma
........................................................................................................... 2141
Qui-quadrado
................................................................................................................ 2142
MathProbabilityDensityChiSquare
........................................................................................................... 2146
MathCumulativeDistributionChiSquare
........................................................................................................... 2148
MathQuantileChiSquare
........................................................................................................... 2150
MathRandomChiSquare
........................................................................................................... 2152
MathMomentsChiSquare
........................................................................................................... 2153
Qui-quadrado
................................................................................................................
não-central 2154
MathProbabilityDensityNoncentralChiSquare
........................................................................................................... 2158
MathCumulativeDistributionNoncentralChiSquare
........................................................................................................... 2160
MathQuantileNoncentralChiSquare
........................................................................................................... 2162
MathRandomNoncentralChiSquare
........................................................................................................... 2164
MathMomentsNoncentralChiSquare
........................................................................................................... 2165
Distribuição
................................................................................................................
exponencial 2166
MathProbabilityDensityExponential
........................................................................................................... 2170
MathCumulativeDistributionExponential
........................................................................................................... 2172
MathQuantileExponential
........................................................................................................... 2174
MathRandomExponential
........................................................................................................... 2176
MathMomentsExponential
........................................................................................................... 2177
Distribuição F de Fisher
................................................................................................................ 2178
MathProbabilityDensity F
........................................................................................................... 2182
MathCumulativeDistribution F
........................................................................................................... 2184
MathQuantile F
........................................................................................................... 2186
MathRandom F
........................................................................................................... 2188
MathMoments F
........................................................................................................... 2189
Distribuição F de Fisher não-central
................................................................................................................ 2190
MathProbabilityDensityNoncentral F
........................................................................................................... 2194
MathCumulativeDistributionNoncentral F
........................................................................................................... 2196
MathQuantileNoncentral F
........................................................................................................... 2198
MathRandomNoncentral F
........................................................................................................... 2200
MathMomentsNoncentral F
........................................................................................................... 2201
Distribuição
................................................................................................................
t de Student 2202
MathProbabilityDensityT
........................................................................................................... 2206
MathCumulativeDistributionT
........................................................................................................... 2208
MathQuantileT........................................................................................................... 2210
MathRandomT ........................................................................................................... 2212
MathMomentsT ........................................................................................................... 2213
Distribuição
................................................................................................................
t de Student não-central 2214
MathProbabilityDensityNoncentralT
........................................................................................................... 2218
MathCumulativeDistributionNoncentralT
........................................................................................................... 2220
MathQuantileNoncentralT
........................................................................................................... 2222
MathRandomNoncentralT
........................................................................................................... 2224
MathMomentsNoncentralT
........................................................................................................... 2225
Distribuição
................................................................................................................
logística 2226
MathProbabilityDensityLogistic
........................................................................................................... 2230
MathCumulativeDistributionLogistic
........................................................................................................... 2232
MathQuantileLogistic
........................................................................................................... 2234
MathRandomLogistic
........................................................................................................... 2236
MathMomentsLogistic
........................................................................................................... 2237
Distribuição
................................................................................................................
de Cauchy 2238
MathProbabilityDensityCauchy
........................................................................................................... 2242

© 2000-2018, MetaQuotes Software Corp.


16 Conteúdo

MathCumulativeDistributionCauchy
........................................................................................................... 2244
MathQuantileCauchy
........................................................................................................... 2246
MathRandomCauchy
........................................................................................................... 2248
MathMomentsCauchy
........................................................................................................... 2249
Distribuição
................................................................................................................
uniforme 2250
MathProbabilityDensityUniform
........................................................................................................... 2254
MathCumulativeDistributionUniform
........................................................................................................... 2256
MathQuantileUniform
........................................................................................................... 2258
MathRandomUniform
........................................................................................................... 2260
MathMomentsUniform
........................................................................................................... 2261
Distribuição de W eibull
................................................................................................................ 2262
MathProbabilityDensity W eibull
........................................................................................................... 2266
MathCumulativeDistribution W eibull
........................................................................................................... 2268
MathQuantile W eibull
........................................................................................................... 2270
MathRandom W eibull
........................................................................................................... 2272
MathMoments W eibull
........................................................................................................... 2273
Distribuição
................................................................................................................
binomial 2274
MathProbabilityDensity Binomial
........................................................................................................... 2277
MathCumulativeDistribution Binomial
........................................................................................................... 2279
MathQuantile Binomial
........................................................................................................... 2281
MathRandom Binomial
........................................................................................................... 2283
MathMoments Binomial
........................................................................................................... 2284
Distribuição
................................................................................................................
binomial negativa 2285
MathProbabilityDensityNegative Binomial
........................................................................................................... 2288
MathCumulativeDistributionNegative Binomial
........................................................................................................... 2290
MathQuantileNegative Binomial
........................................................................................................... 2292
MathRandomNegative Binomial
........................................................................................................... 2294
MathMomentsNegative Binomial
........................................................................................................... 2295
Distribuição
................................................................................................................
geométrica 2296
MathProbabilityDensity Geometric
........................................................................................................... 2300
MathCumulativeDistribution Geometric
........................................................................................................... 2302
MathQuantile Geometric
........................................................................................................... 2304
MathRandom Geometric
........................................................................................................... 2306
MathMoments Geometric
........................................................................................................... 2307
Distribuição
................................................................................................................
hipergeométrica 2308
MathProbabilityDensity Hypergeometric
........................................................................................................... 2312
MathCumulativeDistribution Hypergeometric
........................................................................................................... 2314
MathQuantile Hypergeometric
........................................................................................................... 2316
MathRandom Hypergeometric
........................................................................................................... 2318
MathMoments Hypergeometric
........................................................................................................... 2319
Distribuição
................................................................................................................
de Poisson 2320
MathProbabilityDensityPoisson
........................................................................................................... 2324
MathCumulativeDistributionPoisson
........................................................................................................... 2326
MathQuantilePoisson
........................................................................................................... 2328
MathRandomPoisson
........................................................................................................... 2330
MathMomentsPoisson
........................................................................................................... 2331
Funç ões auxiliares
................................................................................................................ 2332
MathRandomNon Zero
........................................................................................................... 2337
MathMoments ........................................................................................................... 2338
MathPowInt ........................................................................................................... 2339
MathFactorial
........................................................................................................... 2340
MathTrunc........................................................................................................... 2341
MathRound........................................................................................................... 2342
MathArctan2 ........................................................................................................... 2344
MathGamma ........................................................................................................... 2346
MathGammaLog........................................................................................................... 2347
MathBeta ........................................................................................................... 2348
MathBetaLog ........................................................................................................... 2349

© 2000-2018, MetaQuotes Software Corp.


17 Conteúdo

MathBetaIncomplete
........................................................................................................... 2350
MathGammaIncomplete
........................................................................................................... 2351
MathBinomialCoefficient
........................................................................................................... 2352
MathBinomialCoefficientLog
........................................................................................................... 2353
MathHypergeometric2 F2
........................................................................................................... 2354
MathSequence
........................................................................................................... 2355
MathSequence ByCount
........................................................................................................... 2356
MathReplicate
........................................................................................................... 2357
MathReverse
........................................................................................................... 2358
MathIdentical
........................................................................................................... 2359
MathUnique........................................................................................................... 2360
MathQuic k...........................................................................................................
SortAscending 2361
MathQuic k...........................................................................................................
SortDescending 2362
MathQuic k...........................................................................................................
Sort 2363
MathOrder........................................................................................................... 2364
MathBitwiseNot
........................................................................................................... 2365
MathBitwiseAnd
........................................................................................................... 2366
MathBitwiseOr
........................................................................................................... 2367
MathBitwise X or
........................................................................................................... 2368
MathBitwiseShiftL
........................................................................................................... 2369
MathBitwiseShiftR
........................................................................................................... 2370
MathCumulativeSum
........................................................................................................... 2371
MathCumulativeProduct
........................................................................................................... 2372
MathCumulativeMin
........................................................................................................... 2373
MathCumulativeMax
........................................................................................................... 2374
MathSin ........................................................................................................... 2375
MathCos ........................................................................................................... 2376
MathTan ........................................................................................................... 2377
MathArcsin........................................................................................................... 2378
MathArccos........................................................................................................... 2379
MathArctan........................................................................................................... 2380
MathSinPi ........................................................................................................... 2381
MathCosPi ........................................................................................................... 2382
MathTanPi ........................................................................................................... 2383
MathAbs ........................................................................................................... 2384
MathCeil ........................................................................................................... 2385
MathFloor ........................................................................................................... 2386
MathSqrt ........................................................................................................... 2387
MathExp ........................................................................................................... 2388
MathPow ........................................................................................................... 2389
MathLog ........................................................................................................... 2390
MathLog2 ........................................................................................................... 2391
MathLog10........................................................................................................... 2392
MathLog1p........................................................................................................... 2393
MathDifference
........................................................................................................... 2394
MathSample........................................................................................................... 2396
MathTuk eySummary
........................................................................................................... 2399
MathRange........................................................................................................... 2400
MathMin ........................................................................................................... 2401
MathMax ........................................................................................................... 2402
MathSum ........................................................................................................... 2403
MathProduct
........................................................................................................... 2404
MathStandardDeviation
........................................................................................................... 2405
MathAverageDeviation
........................................................................................................... 2406
MathMedian........................................................................................................... 2407
MathMean ........................................................................................................... 2408
MathV ariance
........................................................................................................... 2409
MathSk ewness
........................................................................................................... 2410

© 2000-2018, MetaQuotes Software Corp.


18 Conteúdo

MathKurtosis ........................................................................................................... 2411


MathExpm1........................................................................................................... 2412
MathSinh ........................................................................................................... 2413
MathCosh ........................................................................................................... 2414
MathTanh ........................................................................................................... 2415
MathArcsinh ........................................................................................................... 2416
MathArccosh ........................................................................................................... 2417
MathArctanh ........................................................................................................... 2418
MathSignif ........................................................................................................... 2419
MathRank ........................................................................................................... 2421
MathCorrelationPearson
........................................................................................................... 2422
MathCorrelationSpearman
........................................................................................................... 2423
MathCorrelation Kendall
........................................................................................................... 2424
MathQuantile ........................................................................................................... 2425
MathProbabilityDensityEmpirical
........................................................................................................... 2426
MathCumulativeDistributionEmpirical
........................................................................................................... 2427
Lógica difusa
......................................................................................................................... 2428
Funç ões de................................................................................................................
associação 2430
CConstantMembership Function
........................................................................................................... 2432
Get V alue ........................................................................................................... 2434
CCompositeMembership Function
........................................................................................................... 2435
CompositionType
........................................................................................................... 2437
Membership Functions
........................................................................................................... 2437
Get V alue ........................................................................................................... 2437
CDifferencTwoSigmoidalMembership Function
........................................................................................................... 2439
A1 ........................................................................................................... 2441
A2 ........................................................................................................... 2441
C1 ........................................................................................................... 2442
C2 ........................................................................................................... 2442
Get V alue ........................................................................................................... 2443
C Generalized BellShapedMembershipFunction
........................................................................................................... 2444
A ........................................................................................................... 2446
B ........................................................................................................... 2446
C ........................................................................................................... 2447
Get V alue ........................................................................................................... 2447
CNormalCombinationMembership Function
........................................................................................................... 2448
B1 ........................................................................................................... 2450
B2 ........................................................................................................... 2450
Sigma1 ........................................................................................................... 2451
Sigma2 ........................................................................................................... 2451
Get V alue ........................................................................................................... 2452
CNormalMembership Function
........................................................................................................... 2453
B ........................................................................................................... 2455
Sigma ........................................................................................................... 2455
Get V alue ........................................................................................................... 2456
CP_ShapedMembership Function
........................................................................................................... 2457
A ........................................................................................................... 2459
B ........................................................................................................... 2459
C ........................................................................................................... 2460
D ........................................................................................................... 2460
Get V alue ........................................................................................................... 2460
CProductTwoSigmoidalMembership Functions
........................................................................................................... 2462
A1 ........................................................................................................... 2464
A2 ........................................................................................................... 2464
C1 ........................................................................................................... 2465
C2 ........................................................................................................... 2465
Get V alue ........................................................................................................... 2466
CS_ShapedMembership Function
........................................................................................................... 2467

© 2000-2018, MetaQuotes Software Corp.


19 Conteúdo

A ........................................................................................................... 2469
B ........................................................................................................... 2469
Get V alue ........................................................................................................... 2470
CSigmoidalMembership Function
........................................................................................................... 2471
A ........................................................................................................... 2473
C ........................................................................................................... 2473
Get V alue ........................................................................................................... 2474
CTrapezoidMembership Function
........................................................................................................... 2475
X1 ........................................................................................................... 2477
X2 ........................................................................................................... 2477
X3 ........................................................................................................... 2478
X4 ........................................................................................................... 2478
Get V alue ........................................................................................................... 2479
CTriangularMembership Function
........................................................................................................... 2480
X1 ........................................................................................................... 2482
X2 ........................................................................................................... 2482
X3 ........................................................................................................... 2483
F
ToNormalM........................................................................................................... 2483
Get V alue ........................................................................................................... 2483
C Z_ShapedMembership Function
........................................................................................................... 2485
A ........................................................................................................... 2487
B ........................................................................................................... 2487
Get V alue ........................................................................................................... 2488
IMembership Function
........................................................................................................... 2489
Get V alue ........................................................................................................... 2489
Regras para ................................................................................................................
sistemas difusos 2490
CMamdaniF...........................................................................................................
uzzyRule 2491
Conclusion........................................................................................................... 2492
W eight ........................................................................................................... 2492
CSugenoFuzzyRule
........................................................................................................... 2493
Conclusion........................................................................................................... 2494
CSingleCondition
........................................................................................................... 2495
Not ........................................................................................................... 2495
Term ........................................................................................................... 2496
V ar ........................................................................................................... 2496
CConditions ........................................................................................................... 2498
ConditionsList
........................................................................................................... 2498
Not ........................................................................................................... 2499
Op ........................................................................................................... 2499
C Generic FuzzyRule
........................................................................................................... 2501
Conclusion........................................................................................................... 2501
Condition ........................................................................................................... 2502
CreateCondition
........................................................................................................... 2502
Variáveis ​p................................................................................................................
ara sistemas difusos 2504
C Fuzzy V ariable
........................................................................................................... 2505
AddTerm ........................................................................................................... 2506
GetTermByName........................................................................................................... 2506
Max ........................................................................................................... 2506
Min ........................................................................................................... 2507
Terms ........................................................................................................... 2507
V alues ........................................................................................................... 2507
CSugenoV ariable
........................................................................................................... 2509
Functions ........................................................................................................... 2509
Get Func ByName
........................................................................................................... 2510
V alues ........................................................................................................... 2510
Termos difusos
................................................................................................................ 2511
Membership Function
........................................................................................................... 2512
Sistemas difusos
................................................................................................................ 2513

© 2000-2018, MetaQuotes Software Corp.


20 Conteúdo

Sistema Mamdani
........................................................................................................... 2514
AggregationMethod
........................................................................................................... 2514
Calculate ........................................................................................................... 2515
DefuzzificationMethod
........................................................................................................... 2515
EmptyRule ........................................................................................................... 2515
ImplicationMethod
........................................................................................................... 2515
Output ........................................................................................................... 2516
Output ByName
........................................................................................................... 2516
ParseRule ........................................................................................................... 2516
Rules ........................................................................................................... 2517
Sistema Sugeno
........................................................................................................... 2518
Calculate ........................................................................................................... 2518
CreateSugeno Function
........................................................................................................... 2519
EmptyRule ........................................................................................................... 2520
Output ........................................................................................................... 2520
Output ByName
........................................................................................................... 2520
ParseRule ........................................................................................................... 2520
Rules ........................................................................................................... 2521
OpenCL ............................................................................................................................2522
BufferCreate
......................................................................................................................... 2524
Buffer Free
......................................................................................................................... 2525
Buffer FromArray
......................................................................................................................... 2526
BufferRead
......................................................................................................................... 2527
Buffer W.........................................................................................................................
rite 2528
Execute......................................................................................................................... 2529
GetContext
......................................................................................................................... 2530
Get Kernel
......................................................................................................................... 2531
Get KernelName
......................................................................................................................... 2532
GetProgram
......................................................................................................................... 2533
Initialize
......................................................................................................................... 2534
KernelCreate
......................................................................................................................... 2535
KernelFree
......................................................................................................................... 2536
SetArgument
......................................................................................................................... 2537
SetArgument Buffer
......................................................................................................................... 2538
SetArgumentLocalMemory
......................................................................................................................... 2539
Set BuffersCount
......................................................................................................................... 2540
Set KernelsCount
......................................................................................................................... 2541
Shutdown ......................................................................................................................... 2542
SupportDouble
......................................................................................................................... 2543
............................................................................................................................2544
Classe base CObjec t
Prev ......................................................................................................................... 2545
Prev ......................................................................................................................... 2546
Next ......................................................................................................................... 2547
Next ......................................................................................................................... 2548
Compare
......................................................................................................................... 2549
Save ......................................................................................................................... 2551
Load ......................................................................................................................... 2553
Type ......................................................................................................................... 2555
Coleç ões ............................................................................................................................2556
de dados
CArray ......................................................................................................................... 2557
Step ................................................................................................................ 2559
Step ................................................................................................................ 2560
Total ................................................................................................................ 2561
Available ................................................................................................................ 2562
Max ................................................................................................................ 2563
IsSorted ................................................................................................................ 2564
SortMode ................................................................................................................ 2565
Clear ................................................................................................................ 2566

© 2000-2018, MetaQuotes Software Corp.


21 Conteúdo

Sort ................................................................................................................ 2567


Save ................................................................................................................ 2568
Load ................................................................................................................ 2569
CArrayChar
......................................................................................................................... 2570
Reserve ................................................................................................................ 2573
Resize ................................................................................................................ 2574
Shutdown ................................................................................................................ 2575
Add ................................................................................................................ 2576
AddArray ................................................................................................................ 2577
AddArray ................................................................................................................ 2578
Insert ................................................................................................................ 2580
InsertArray................................................................................................................ 2581
InsertArray................................................................................................................ 2582
AssignArray................................................................................................................ 2584
AssignArray................................................................................................................ 2585
Update ................................................................................................................ 2587
Shift ................................................................................................................ 2588
Delete ................................................................................................................ 2589
DeleteRange ................................................................................................................ 2590
At ................................................................................................................ 2591
CompareArray ................................................................................................................ 2593
CompareArray ................................................................................................................ 2594
InsertSort ................................................................................................................ 2595
Search ................................................................................................................ 2596
SearchGreat ................................................................................................................ 2597
SearchLess................................................................................................................ 2598
SearchGreatOrEqual
................................................................................................................ 2599
SearchLessOrEqual
................................................................................................................ 2600
SearchFirst................................................................................................................ 2601
SearchLast................................................................................................................ 2602
SearchLinear ................................................................................................................ 2603
Save ................................................................................................................ 2604
Load ................................................................................................................ 2605
Type ................................................................................................................ 2607
CArrayShort
......................................................................................................................... 2608
Reserve ................................................................................................................ 2611
Resize ................................................................................................................ 2612
Shutdown ................................................................................................................ 2613
Add ................................................................................................................ 2614
AddArray ................................................................................................................ 2615
AddArray ................................................................................................................ 2616
Insert ................................................................................................................ 2618
InsertArray................................................................................................................ 2619
InsertArray................................................................................................................ 2620
AssignArray................................................................................................................ 2622
AssignArray................................................................................................................ 2623
Update ................................................................................................................ 2625
Shift ................................................................................................................ 2626
Delete ................................................................................................................ 2627
DeleteRange ................................................................................................................ 2628
At ................................................................................................................ 2629
CompareArray ................................................................................................................ 2631
CompareArray ................................................................................................................ 2632
InsertSort ................................................................................................................ 2633
Search ................................................................................................................ 2634
SearchGreat ................................................................................................................ 2635
SearchLess................................................................................................................ 2636
SearchGreatOrEqual
................................................................................................................ 2637

© 2000-2018, MetaQuotes Software Corp.


22 Conteúdo

SearchLessOrEqual
................................................................................................................ 2638
SearchFirst................................................................................................................ 2639
SearchLast................................................................................................................ 2640
SearchLinear ................................................................................................................ 2641
Save ................................................................................................................ 2642
Load ................................................................................................................ 2644
Type ................................................................................................................ 2646
CArrayInt
......................................................................................................................... 2647
Reserve ................................................................................................................ 2650
Resize ................................................................................................................ 2651
Shutdown ................................................................................................................ 2652
Add ................................................................................................................ 2653
AddArray ................................................................................................................ 2654
AddArray ................................................................................................................ 2655
Insert ................................................................................................................ 2657
InsertArray................................................................................................................ 2658
InsertArray................................................................................................................ 2659
AssignArray................................................................................................................ 2661
AssignArray................................................................................................................ 2662
Update ................................................................................................................ 2664
Shift ................................................................................................................ 2665
Delete ................................................................................................................ 2666
DeleteRange ................................................................................................................ 2667
At ................................................................................................................ 2668
CompareArray ................................................................................................................ 2670
CompareArray ................................................................................................................ 2671
InsertSort ................................................................................................................ 2672
Search ................................................................................................................ 2673
SearchGreat ................................................................................................................ 2674
SearchLess................................................................................................................ 2675
SearchGreatOrEqual
................................................................................................................ 2676
SearchLessOrEqual
................................................................................................................ 2677
SearchFirst................................................................................................................ 2678
SearchLast................................................................................................................ 2679
SearchLinear ................................................................................................................ 2680
Save ................................................................................................................ 2681
Load ................................................................................................................ 2683
Type ................................................................................................................ 2685
CArrayLong
......................................................................................................................... 2686
Reserve ................................................................................................................ 2689
Resize ................................................................................................................ 2690
Shutdown ................................................................................................................ 2691
Add ................................................................................................................ 2692
AddArray ................................................................................................................ 2693
AddArray ................................................................................................................ 2694
Insert ................................................................................................................ 2696
InsertArray................................................................................................................ 2697
InsertArray................................................................................................................ 2698
AssignArray................................................................................................................ 2700
AssignArray................................................................................................................ 2701
Update ................................................................................................................ 2703
Shift ................................................................................................................ 2704
Delete ................................................................................................................ 2705
DeleteRange ................................................................................................................ 2706
At ................................................................................................................ 2707
CompareArray ................................................................................................................ 2709
CompareArray ................................................................................................................ 2710
InsertSort ................................................................................................................ 2711

© 2000-2018, MetaQuotes Software Corp.


23 Conteúdo

Search ................................................................................................................ 2712


SearchGreat ................................................................................................................ 2713
SearchLess................................................................................................................ 2714
SearchGreatOrEqual
................................................................................................................ 2715
SearchLessOrEqual
................................................................................................................ 2716
SearchFirst................................................................................................................ 2717
SearchLast................................................................................................................ 2718
SearchLinear ................................................................................................................ 2719
Save ................................................................................................................ 2720
Load ................................................................................................................ 2722
Type ................................................................................................................ 2724
CArray F.........................................................................................................................
loat 2725
Delta ................................................................................................................ 2728
Reserve ................................................................................................................ 2729
Resize ................................................................................................................ 2730
Shutdown ................................................................................................................ 2731
Add ................................................................................................................ 2732
AddArray ................................................................................................................ 2733
AddArray ................................................................................................................ 2734
Insert ................................................................................................................ 2736
InsertArray................................................................................................................ 2737
InsertArray................................................................................................................ 2738
AssignArray................................................................................................................ 2740
AssignArray................................................................................................................ 2741
Update ................................................................................................................ 2743
Shift ................................................................................................................ 2744
Delete ................................................................................................................ 2745
DeleteRange ................................................................................................................ 2746
At ................................................................................................................ 2747
CompareArray ................................................................................................................ 2749
CompareArray ................................................................................................................ 2750
InsertSort ................................................................................................................ 2751
Search ................................................................................................................ 2752
SearchGreat ................................................................................................................ 2753
SearchLess................................................................................................................ 2754
SearchGreatOrEqual
................................................................................................................ 2755
SearchLessOrEqual
................................................................................................................ 2756
SearchFirst................................................................................................................ 2757
SearchLast................................................................................................................ 2758
SearchLinear ................................................................................................................ 2759
Save ................................................................................................................ 2760
Load ................................................................................................................ 2762
Type ................................................................................................................ 2764
CArrayDouble
......................................................................................................................... 2765
Delta ................................................................................................................ 2768
Reserve ................................................................................................................ 2769
Resize ................................................................................................................ 2770
Shutdown ................................................................................................................ 2771
Add ................................................................................................................ 2772
AddArray ................................................................................................................ 2773
AddArray ................................................................................................................ 2774
Insert ................................................................................................................ 2776
InsertArray................................................................................................................ 2777
InsertArray................................................................................................................ 2778
AssignArray................................................................................................................ 2780
AssignArray................................................................................................................ 2781
Update ................................................................................................................ 2783
Shift ................................................................................................................ 2784

© 2000-2018, MetaQuotes Software Corp.


24 Conteúdo

Delete ................................................................................................................ 2785


DeleteRange ................................................................................................................ 2786
At ................................................................................................................ 2787
CompareArray ................................................................................................................ 2789
CompareArray ................................................................................................................ 2790
Minimum ................................................................................................................ 2791
Maximum ................................................................................................................ 2792
InsertSort ................................................................................................................ 2793
Search ................................................................................................................ 2794
SearchGreat ................................................................................................................ 2795
SearchLess................................................................................................................ 2796
SearchGreatOrEqual
................................................................................................................ 2797
SearchLessOrEqual
................................................................................................................ 2798
SearchFirst................................................................................................................ 2799
SearchLast................................................................................................................ 2800
SearchLinear ................................................................................................................ 2801
Save ................................................................................................................ 2802
Load ................................................................................................................ 2804
Type ................................................................................................................ 2806
CArrayString
......................................................................................................................... 2807
Reserve ................................................................................................................ 2810
Resize ................................................................................................................ 2811
Shutdown ................................................................................................................ 2812
Add ................................................................................................................ 2813
AddArray ................................................................................................................ 2814
AddArray ................................................................................................................ 2815
Insert ................................................................................................................ 2817
InsertArray................................................................................................................ 2818
InsertArray................................................................................................................ 2819
AssignArray................................................................................................................ 2821
AssignArray................................................................................................................ 2822
Update ................................................................................................................ 2824
Shift ................................................................................................................ 2825
Delete ................................................................................................................ 2826
DeleteRange ................................................................................................................ 2827
At ................................................................................................................ 2828
CompareArray ................................................................................................................ 2830
CompareArray ................................................................................................................ 2831
InsertSort ................................................................................................................ 2832
Search ................................................................................................................ 2833
SearchGreat ................................................................................................................ 2834
SearchLess................................................................................................................ 2835
SearchGreatOrEqual
................................................................................................................ 2836
SearchLessOrEqual
................................................................................................................ 2837
SearchFirst................................................................................................................ 2838
SearchLast................................................................................................................ 2839
SearchLinear ................................................................................................................ 2840
Save ................................................................................................................ 2841
Load ................................................................................................................ 2843
Type ................................................................................................................ 2845
CArrayObj
......................................................................................................................... 2846
FreeMode ................................................................................................................ 2851
FreeMode ................................................................................................................ 2852
Reserve ................................................................................................................ 2854
Resize ................................................................................................................ 2855
Clear ................................................................................................................ 2856
Shutdown ................................................................................................................ 2857
CreateElement................................................................................................................ 2858

© 2000-2018, MetaQuotes Software Corp.


25 Conteúdo

Add ................................................................................................................ 2860


AddArray ................................................................................................................ 2861
Insert ................................................................................................................ 2864
InsertArray................................................................................................................ 2866
AssignArray................................................................................................................ 2868
Update ................................................................................................................ 2870
Shift ................................................................................................................ 2871
Detach ................................................................................................................ 2872
Delete ................................................................................................................ 2874
DeleteRange ................................................................................................................ 2875
At ................................................................................................................ 2876
CompareArray ................................................................................................................ 2877
InsertSort ................................................................................................................ 2878
Search ................................................................................................................ 2879
SearchGreat ................................................................................................................ 2880
SearchLess................................................................................................................ 2881
SearchGreatOrEqual
................................................................................................................ 2882
SearchLessOrEqual
................................................................................................................ 2883
SearchFirst................................................................................................................ 2884
SearchLast................................................................................................................ 2885
Save ................................................................................................................ 2886
Load ................................................................................................................ 2887
Type ................................................................................................................ 2889
CList ......................................................................................................................... 2890
FreeMode ................................................................................................................ 2893
FreeMode ................................................................................................................ 2894
Total ................................................................................................................ 2896
IsSorted ................................................................................................................ 2897
SortMode ................................................................................................................ 2898
CreateElement................................................................................................................ 2899
Add ................................................................................................................ 2900
Insert ................................................................................................................ 2901
DetachCurrent................................................................................................................ 2903
DeleteCurrent................................................................................................................ 2904
Delete ................................................................................................................ 2905
Clear ................................................................................................................ 2906
IndexOf ................................................................................................................ 2907
GetNodeAtIndex
................................................................................................................ 2908
Get FirstNode................................................................................................................ 2909
GetPrevNode ................................................................................................................ 2910
GetCurrentNode
................................................................................................................ 2911
GetNextNode ................................................................................................................ 2912
GetLastNode ................................................................................................................ 2913
Sort ................................................................................................................ 2914
MoveToIndex ................................................................................................................ 2915
Exchange ................................................................................................................ 2916
CompareList ................................................................................................................ 2917
Search ................................................................................................................ 2918
Save ................................................................................................................ 2919
Load ................................................................................................................ 2921
Type ................................................................................................................ 2923
CTreeNode
......................................................................................................................... 2924
Owner ................................................................................................................ 2929
Left ................................................................................................................ 2930
Right ................................................................................................................ 2931
Balance ................................................................................................................ 2932
BalanceL ................................................................................................................ 2933
BalanceR ................................................................................................................ 2934

© 2000-2018, MetaQuotes Software Corp.


26 Conteúdo

CreateSample................................................................................................................ 2935
RefreshBalance
................................................................................................................ 2936
GetNext ................................................................................................................ 2937
SaveNode ................................................................................................................ 2938
LoadNode ................................................................................................................ 2939
Type ................................................................................................................ 2940
CTree ......................................................................................................................... 2941
Root ................................................................................................................ 2947
CreateElement
................................................................................................................ 2948
Insert ................................................................................................................ 2949
Detach ................................................................................................................ 2950
Delete ................................................................................................................ 2951
Clear ................................................................................................................ 2952
Find ................................................................................................................ 2953
Save ................................................................................................................ 2954
Load ................................................................................................................ 2955
Type ................................................................................................................ 2956
Coleç ões ............................................................................................................................2957
de dados genéric as
ICollection <T>
......................................................................................................................... 2960
Add ................................................................................................................ 2961
Count ................................................................................................................ 2962
Contains ................................................................................................................ 2963
CopyTo ................................................................................................................ 2964
Clear ................................................................................................................ 2965
Remove ................................................................................................................ 2966
IEqualityComparable <T>
......................................................................................................................... 2967
Equals ................................................................................................................ 2968
HashCode ................................................................................................................ 2969
IComparable <T>
......................................................................................................................... 2970
Compare ................................................................................................................ 2971
IComparer <T>
......................................................................................................................... 2972
Compare ................................................................................................................ 2973
IEqualityComparer <T>
......................................................................................................................... 2974
Equals ................................................................................................................ 2975
HashCode ................................................................................................................ 2976
IList <T>......................................................................................................................... 2977
Try Get V alue................................................................................................................ 2978
TrySet V alue ................................................................................................................ 2979
Insert ................................................................................................................ 2980
IndexOf ................................................................................................................ 2981
LastIndexOf ................................................................................................................ 2982
RemoveAt ................................................................................................................ 2983
IMap<TK.........................................................................................................................
ey,TV alue> 2984
Add ................................................................................................................ 2985
Contains ................................................................................................................ 2986
Remove ................................................................................................................ 2987
Try Get V alue................................................................................................................ 2988
TrySet V alue ................................................................................................................ 2989
CopyTo ................................................................................................................ 2990
ISet <T>......................................................................................................................... 2991
Except W ith................................................................................................................ 2993
Intersect W................................................................................................................
ith 2994
SymmetricExcept W ith
................................................................................................................ 2995
UnionW ith ................................................................................................................ 2996
IsProperSubsetOf
................................................................................................................ 2997
IsProperSupersetOf
................................................................................................................ 2998
IsSubsetOf................................................................................................................ 2999
IsSupersetOf ................................................................................................................ 3000

© 2000-2018, MetaQuotes Software Corp.


27 Conteúdo

Overlaps ................................................................................................................ 3001


SetEquals ................................................................................................................ 3002
CDefaultComparer <T>
......................................................................................................................... 3003
Compare ................................................................................................................ 3004
CDefaultEqualityComparer <T>
......................................................................................................................... 3005
Equals ................................................................................................................ 3006
HashCode ................................................................................................................ 3007
CRedBlac k TreeNode<T>
......................................................................................................................... 3008
V alue ................................................................................................................ 3009
Parent ................................................................................................................ 3010
Left ................................................................................................................ 3011
Right ................................................................................................................ 3012
Color ................................................................................................................ 3013
IsLeaf ................................................................................................................ 3014
CreateEmptyNode
................................................................................................................ 3015
CLink edListNode <T>
......................................................................................................................... 3016
List ................................................................................................................ 3017
Next ................................................................................................................ 3018
Previous ................................................................................................................ 3019
V alue ................................................................................................................ 3020
C Key V aluePair <TKey,TV alue>
......................................................................................................................... 3021
Key ................................................................................................................ 3022
V alue ................................................................................................................ 3023
Clone ................................................................................................................ 3024
Compare ................................................................................................................ 3025
Equals ................................................................................................................ 3026
HashCode ................................................................................................................ 3027
CArrayList <T>
......................................................................................................................... 3028
Capacity ................................................................................................................ 3030
Count ................................................................................................................ 3031
Contains ................................................................................................................ 3032
TrimExcess................................................................................................................ 3033
Try Get V alue................................................................................................................ 3034
TrySet V alue ................................................................................................................ 3035
Add ................................................................................................................ 3036
AddRange ................................................................................................................ 3037
Insert ................................................................................................................ 3038
InsertRange ................................................................................................................ 3039
CopyTo ................................................................................................................ 3040
BinarySearch ................................................................................................................ 3041
IndexOf ................................................................................................................ 3042
LastIndexOf ................................................................................................................ 3043
Clear ................................................................................................................ 3044
Remove ................................................................................................................ 3045
RemoveAt ................................................................................................................ 3046
RemoveRange ................................................................................................................ 3047
Reverse ................................................................................................................ 3048
Sort ................................................................................................................ 3049
C HashMap <TKey,TV alue>
......................................................................................................................... 3050
Add ................................................................................................................ 3052
Count ................................................................................................................ 3053
Comparer ................................................................................................................ 3054
Contains ................................................................................................................ 3055
Contains Key ................................................................................................................ 3056
Contains V alue
................................................................................................................ 3057
CopyTo ................................................................................................................ 3058
Clear ................................................................................................................ 3059
Remove ................................................................................................................ 3060

© 2000-2018, MetaQuotes Software Corp.


28 Conteúdo

Try Get V alue


................................................................................................................ 3061
TrySet V alue................................................................................................................ 3062
C HashSet <T>
......................................................................................................................... 3063
Add ................................................................................................................ 3065
Count ................................................................................................................ 3066
Contains ................................................................................................................ 3067
Comparer ................................................................................................................ 3068
TrimExcess................................................................................................................ 3069
CopyTo ................................................................................................................ 3070
Clear ................................................................................................................ 3071
Remove ................................................................................................................ 3072
Except W ith................................................................................................................ 3073
Intersect W................................................................................................................
ith 3074
SymmetricExcept W ith
................................................................................................................ 3075
UnionW ith ................................................................................................................ 3076
IsProperSubsetOf
................................................................................................................ 3077
IsProperSupersetOf
................................................................................................................ 3078
IsSubsetOf................................................................................................................ 3079
IsSupersetOf ................................................................................................................ 3080
Overlaps ................................................................................................................ 3081
SetEquals ................................................................................................................ 3082
CLink edList <T>
......................................................................................................................... 3083
Add ................................................................................................................ 3085
AddAfter ................................................................................................................ 3086
AddBefore ................................................................................................................ 3087
AddFirst ................................................................................................................ 3088
AddLast ................................................................................................................ 3089
Count ................................................................................................................ 3090
Head ................................................................................................................ 3091
First ................................................................................................................ 3092
Last ................................................................................................................ 3093
Contains ................................................................................................................ 3094
CopyTo ................................................................................................................ 3095
Clear ................................................................................................................ 3096
Remove ................................................................................................................ 3097
RemoveFirst ................................................................................................................ 3098
RemoveLast................................................................................................................ 3099
Find ................................................................................................................ 3100
FindLast ................................................................................................................ 3101
<T>
CQueue......................................................................................................................... 3102
Add ................................................................................................................ 3103
Enqueue ................................................................................................................ 3104
Count ................................................................................................................ 3105
Contains ................................................................................................................ 3106
TrimExcess................................................................................................................ 3107
CopyTo ................................................................................................................ 3108
Clear ................................................................................................................ 3109
Remove ................................................................................................................ 3110
Dequeue ................................................................................................................ 3111
Peek ................................................................................................................ 3112
CRedBlac k Tree<T>
......................................................................................................................... 3113
Add ................................................................................................................ 3115
Count ................................................................................................................ 3116
Root ................................................................................................................ 3117
Contains ................................................................................................................ 3118
Comparer ................................................................................................................ 3119
Try GetMin ................................................................................................................ 3120
Try GetMax................................................................................................................ 3121

© 2000-2018, MetaQuotes Software Corp.


29 Conteúdo

CopyTo ................................................................................................................ 3122


Clear ................................................................................................................ 3123
Remove ................................................................................................................ 3124
RemoveMin................................................................................................................ 3125
RemoveMax................................................................................................................ 3126
Find ................................................................................................................ 3127
FindMin ................................................................................................................ 3128
FindMax ................................................................................................................ 3129
CSortedMap <TKey, TV alue>
......................................................................................................................... 3130
Add ................................................................................................................ 3132
Count ................................................................................................................ 3133
Comparer ................................................................................................................ 3134
Contains ................................................................................................................ 3135
Contains Key ................................................................................................................ 3136
Contains V alue
................................................................................................................ 3137
CopyTo ................................................................................................................ 3138
Clear ................................................................................................................ 3139
Remove ................................................................................................................ 3140
Try Get V alue................................................................................................................ 3141
TrySet V alue ................................................................................................................ 3142
CSortedSet <T>
......................................................................................................................... 3143
Add ................................................................................................................ 3145
Count ................................................................................................................ 3146
Contains ................................................................................................................ 3147
Comparer ................................................................................................................ 3148
Try GetMin ................................................................................................................ 3149
Try GetMax................................................................................................................ 3150
CopyTo ................................................................................................................ 3151
Clear ................................................................................................................ 3152
Remove ................................................................................................................ 3153
Except W ith................................................................................................................ 3154
Intersect W................................................................................................................
ith 3155
SymmetricExcept W ith
................................................................................................................ 3156
UnionW ith ................................................................................................................ 3157
IsProperSubsetOf
................................................................................................................ 3158
IsProperSupersetOf
................................................................................................................ 3159
IsSubsetOf................................................................................................................ 3160
IsSupersetOf ................................................................................................................ 3161
Overlaps ................................................................................................................ 3162
SetEquals ................................................................................................................ 3163
Get V iewBetween
................................................................................................................ 3164
GetReverse................................................................................................................ 3165
CStac k<.........................................................................................................................
T> 3166
Add ................................................................................................................ 3167
Count ................................................................................................................ 3168
Contains ................................................................................................................ 3169
TrimExcess................................................................................................................ 3170
CopyTo ................................................................................................................ 3171
Clear ................................................................................................................ 3172
Remove ................................................................................................................ 3173
Push ................................................................................................................ 3174
Peek ................................................................................................................ 3175
Pop ................................................................................................................ 3176
Array BinarySearch <T>
......................................................................................................................... 3177
ArrayIndexOf <T>
......................................................................................................................... 3178
ArrayLastIndexOf <T>
......................................................................................................................... 3179
ArrayReverse <T>
......................................................................................................................... 3180
Compare ......................................................................................................................... 3181

© 2000-2018, MetaQuotes Software Corp.


30 Conteúdo

Equals <T >


......................................................................................................................... 3184
Get HashCode
......................................................................................................................... 3185
Arq uivos ............................................................................................................................3188
C File ......................................................................................................................... 3189
Handle ................................................................................................................ 3191
Filename ................................................................................................................ 3192
Flags ................................................................................................................ 3193
SetUnicode................................................................................................................ 3194
SetCommon................................................................................................................ 3195
Open ................................................................................................................ 3196
Close ................................................................................................................ 3197
Delete ................................................................................................................ 3198
IsExist ................................................................................................................ 3199
Copy ................................................................................................................ 3200
Move ................................................................................................................ 3201
Size ................................................................................................................ 3202
Tell ................................................................................................................ 3203
Seek ................................................................................................................ 3204
Flush ................................................................................................................ 3205
IsEnding ................................................................................................................ 3206
IsLineEnding ................................................................................................................ 3207
FolderCreate ................................................................................................................ 3208
FolderDelete ................................................................................................................ 3209
FolderClean................................................................................................................ 3210
FileFindFirst................................................................................................................ 3211
FileFindNext ................................................................................................................ 3212
FileFindClose................................................................................................................ 3213
C FileBin......................................................................................................................... 3214
Open ................................................................................................................ 3216
W riteChar ................................................................................................................ 3217
W riteShort................................................................................................................ 3218
W riteInteger................................................................................................................ 3219
W riteLong ................................................................................................................ 3220
W riteFloat ................................................................................................................ 3221
W riteDouble ................................................................................................................ 3222
W riteString................................................................................................................ 3223
W riteCharArray
................................................................................................................ 3224
W riteShortArray
................................................................................................................ 3225
W riteIntegerArray
................................................................................................................ 3226
W riteLongArray
................................................................................................................ 3227
W riteFloatArray
................................................................................................................ 3228
W riteDoubleArray
................................................................................................................ 3229
W riteObject ................................................................................................................ 3230
ReadChar ................................................................................................................ 3231
ReadShort ................................................................................................................ 3232
ReadInteger ................................................................................................................ 3233
ReadLong ................................................................................................................ 3234
ReadFloat ................................................................................................................ 3235
ReadDouble................................................................................................................ 3236
ReadString ................................................................................................................ 3237
ReadCharArray................................................................................................................ 3238
ReadShortArray
................................................................................................................ 3239
ReadIntegerArray
................................................................................................................ 3240
ReadLongArray................................................................................................................ 3241
ReadFloatArray
................................................................................................................ 3242
ReadDoubleArray
................................................................................................................ 3243
ReadObject................................................................................................................ 3244
C FileTxt......................................................................................................................... 3245

© 2000-2018, MetaQuotes Software Corp.


31 Conteúdo

Open ................................................................................................................ 3246


W riteString................................................................................................................ 3247
ReadString ................................................................................................................ 3248
Cadeias de............................................................................................................................3249
c arac teres
CString ......................................................................................................................... 3250
Str ................................................................................................................ 3252
Len ................................................................................................................ 3253
Copy ................................................................................................................ 3254
Fill ................................................................................................................ 3255
Assign ................................................................................................................ 3256
Append ................................................................................................................ 3257
Insert ................................................................................................................ 3258
Compare ................................................................................................................ 3259
CompareNoCase ................................................................................................................ 3260
Left ................................................................................................................ 3261
Right ................................................................................................................ 3262
Mid ................................................................................................................ 3263
Trim ................................................................................................................ 3264
TrimLeft ................................................................................................................ 3265
TrimRight ................................................................................................................ 3266
Clear ................................................................................................................ 3267
ToUpper ................................................................................................................ 3268
ToLower ................................................................................................................ 3269
Reverse ................................................................................................................ 3270
Find ................................................................................................................ 3271
FindRev ................................................................................................................ 3272
Remove ................................................................................................................ 3273
Replace ................................................................................................................ 3274
............................................................................................................................3275
Objetos gráfic os
CChartObject
......................................................................................................................... 3276
ChartId ................................................................................................................ 3279
W indow ................................................................................................................ 3280
Name ................................................................................................................ 3281
NumPoints ................................................................................................................ 3282
Attach ................................................................................................................ 3283
SetPoint ................................................................................................................ 3284
Delete ................................................................................................................ 3285
Detach ................................................................................................................ 3286
ShiftObject................................................................................................................ 3287
ShiftPoint ................................................................................................................ 3288
Time ................................................................................................................ 3289
Price ................................................................................................................ 3291
Color ................................................................................................................ 3293
Style ................................................................................................................ 3294
W idth ................................................................................................................ 3295
Bac k ground................................................................................................................ 3296
Selected ................................................................................................................ 3297
Selectable ................................................................................................................ 3298
Description................................................................................................................ 3299
Tooltip ................................................................................................................ 3300
Timeframes................................................................................................................ 3301
Z_Order ................................................................................................................ 3302
CreateTime................................................................................................................ 3303
LevelsCount ................................................................................................................ 3304
LevelColor ................................................................................................................ 3305
LevelStyle ................................................................................................................ 3307
LevelW idth................................................................................................................ 3309
LevelV alue ................................................................................................................ 3311

© 2000-2018, MetaQuotes Software Corp.


32 Conteúdo

LevelDescription
................................................................................................................ 3313
GetInteger................................................................................................................ 3315
SetInteger ................................................................................................................ 3317
GetDouble ................................................................................................................ 3319
SetDouble ................................................................................................................ 3321
GetString ................................................................................................................ 3323
SetString ................................................................................................................ 3325
Save ................................................................................................................ 3327
Load ................................................................................................................ 3328
Type ................................................................................................................ 3329
Objetos.........................................................................................................................
de Linhas 3330
CChartObject V Line
................................................................................................................ 3331
Create ........................................................................................................... 3332
Type ........................................................................................................... 3333
CChartObject HLine
................................................................................................................ 3334
Create ........................................................................................................... 3335
Type ........................................................................................................... 3336
CChartObjectTrend
................................................................................................................ 3337
Create ........................................................................................................... 3339
RayLeft ........................................................................................................... 3340
RayRight ........................................................................................................... 3341
Save ........................................................................................................... 3342
Load ........................................................................................................... 3343
Type ........................................................................................................... 3344
CChartObjectTrend ByAngle
................................................................................................................ 3345
Create ........................................................................................................... 3347
Angle ........................................................................................................... 3348
Type ........................................................................................................... 3349
CChartObjectCycles
................................................................................................................ 3350
Create ........................................................................................................... 3351
Type ........................................................................................................... 3352
Objetos.........................................................................................................................
de Canais 3353
CChartObjectChannel
................................................................................................................ 3354
Create ........................................................................................................... 3356
Type ........................................................................................................... 3357
CChartObjectRegression
................................................................................................................ 3358
Create ........................................................................................................... 3360
Type ........................................................................................................... 3361
CChartObjectStdDevChannel
................................................................................................................ 3362
Create ........................................................................................................... 3364
Deviations ........................................................................................................... 3365
Save ........................................................................................................... 3366
Load ........................................................................................................... 3367
Type ........................................................................................................... 3368
CChartObjectPitchfor k
................................................................................................................ 3369
Create ........................................................................................................... 3371
Type ........................................................................................................... 3372
Ferramentas Gann
......................................................................................................................... 3373
CChartObject GannLine
................................................................................................................ 3374
Create ........................................................................................................... 3376
PipsPer Bar........................................................................................................... 3377
Save ........................................................................................................... 3378
Load ........................................................................................................... 3379
Type ........................................................................................................... 3380
CChartObject GannFan
................................................................................................................ 3381
Create ........................................................................................................... 3383
PipsPer Bar........................................................................................................... 3384
Downtrend........................................................................................................... 3385

© 2000-2018, MetaQuotes Software Corp.


33 Conteúdo

Save ........................................................................................................... 3386


Load ........................................................................................................... 3387
Type ........................................................................................................... 3388
CChartObject GannGrid
................................................................................................................ 3389
Create ........................................................................................................... 3391
PipsPer Bar........................................................................................................... 3392
Downtrend........................................................................................................... 3393
Save ........................................................................................................... 3394
Load ........................................................................................................... 3395
Type ........................................................................................................... 3396
Ferramentas Fibonacci
......................................................................................................................... 3397
CChartObject Fibo
................................................................................................................ 3398
Create ........................................................................................................... 3400
Type ........................................................................................................... 3401
CChartObject FiboTimes
................................................................................................................ 3402
Create ........................................................................................................... 3403
Type ........................................................................................................... 3404
CChartObject FiboFan
................................................................................................................ 3405
Create ........................................................................................................... 3406
Type ........................................................................................................... 3407
CChartObject FiboArc
................................................................................................................ 3408
Create ........................................................................................................... 3410
Scale ........................................................................................................... 3411
Ellipse ........................................................................................................... 3412
Save ........................................................................................................... 3413
Load ........................................................................................................... 3414
Type ........................................................................................................... 3415
CChartObject FiboChannel
................................................................................................................ 3416
Create ........................................................................................................... 3418
Type ........................................................................................................... 3419
CChartObject FiboExpansion
................................................................................................................ 3420
Create ........................................................................................................... 3422
Type ........................................................................................................... 3423
Ferramentas
.........................................................................................................................
Elliott 3424
CChartObjectElliott W ave3
................................................................................................................ 3425
Create ........................................................................................................... 3427
Degree ........................................................................................................... 3428
Lines ........................................................................................................... 3429
Save ........................................................................................................... 3430
Load ........................................................................................................... 3431
Type ........................................................................................................... 3432
CChartObjectElliott W ave5
................................................................................................................ 3433
Create ........................................................................................................... 3435
Type ........................................................................................................... 3437
de Formas
Objetos......................................................................................................................... 3438
CChartObjectRectangle
................................................................................................................ 3439
Create ........................................................................................................... 3440
Type ........................................................................................................... 3441
CChartObjectTriangle
................................................................................................................ 3442
Create ........................................................................................................... 3443
Type ........................................................................................................... 3444
CChartObjectEllipse
................................................................................................................ 3445
Create ........................................................................................................... 3446
Type ........................................................................................................... 3447
Objetos.........................................................................................................................
de Setas 3448
CChartObjectArrow
................................................................................................................ 3449
Create ........................................................................................................... 3451
ArrowCode........................................................................................................... 3453

© 2000-2018, MetaQuotes Software Corp.


34 Conteúdo

Anchor ........................................................................................................... 3455


Save ........................................................................................................... 3457
Load ........................................................................................................... 3458
Type ........................................................................................................... 3459
Arrows with ................................................................................................................
fixed code 3460
Create ........................................................................................................... 3462
ArrowCode........................................................................................................... 3464
Type ........................................................................................................... 3465
Objetos.........................................................................................................................
de Controles 3466
CChartObjectText
................................................................................................................ 3467
Create ........................................................................................................... 3469
Angle ........................................................................................................... 3470
Font ........................................................................................................... 3471
FontSize ........................................................................................................... 3472
Anchor ........................................................................................................... 3473
Save ........................................................................................................... 3474
Load ........................................................................................................... 3475
Type ........................................................................................................... 3476
CChartObjectLabel
................................................................................................................ 3477
Create ........................................................................................................... 3479
X_Distance........................................................................................................... 3480
Y_Distance........................................................................................................... 3481
X_Size ........................................................................................................... 3482
Y_Size ........................................................................................................... 3483
Corner ........................................................................................................... 3484
Time ........................................................................................................... 3485
Price ........................................................................................................... 3486
Save ........................................................................................................... 3487
Load ........................................................................................................... 3488
Type ........................................................................................................... 3489
CChartObjectEdit
................................................................................................................ 3490
Create ........................................................................................................... 3492
TextAlign ........................................................................................................... 3493
X_Size ........................................................................................................... 3494
Y_Size ........................................................................................................... 3495
Bac k Color ........................................................................................................... 3496
BorderColor ........................................................................................................... 3497
ReadOnly ........................................................................................................... 3498
Angle ........................................................................................................... 3499
Save ........................................................................................................... 3500
Load ........................................................................................................... 3501
Type ........................................................................................................... 3502
CChartObject Button
................................................................................................................ 3503
State ........................................................................................................... 3505
Save ........................................................................................................... 3506
Load ........................................................................................................... 3507
Type ........................................................................................................... 3508
CChartObjectSubChart
................................................................................................................ 3509
Create ........................................................................................................... 3511
X_Distance........................................................................................................... 3512
Y_Distance........................................................................................................... 3513
Corner ........................................................................................................... 3514
X_Size ........................................................................................................... 3515
Y_Size ........................................................................................................... 3516
Symbol ........................................................................................................... 3517
Period ........................................................................................................... 3518
Scale ........................................................................................................... 3519
DateScale ........................................................................................................... 3520

© 2000-2018, MetaQuotes Software Corp.


35 Conteúdo

PriceScale ........................................................................................................... 3521


Time ........................................................................................................... 3522
Price ........................................................................................................... 3523
Save ........................................................................................................... 3524
Load ........................................................................................................... 3525
Type ........................................................................................................... 3526
CChartObject Bitmap
................................................................................................................ 3527
Create ........................................................................................................... 3529
BmpFile ........................................................................................................... 3530
X_Offset ........................................................................................................... 3531
Y_Offset ........................................................................................................... 3532
Save ........................................................................................................... 3533
Load ........................................................................................................... 3534
Type ........................................................................................................... 3535
CChartObject BmpLabel
................................................................................................................ 3536
Create ........................................................................................................... 3538
X_Distance........................................................................................................... 3539
Y_Distance........................................................................................................... 3540
X_Offset ........................................................................................................... 3541
Y_Offset ........................................................................................................... 3542
Corner ........................................................................................................... 3543
X_Size ........................................................................................................... 3544
Y_Size ........................................................................................................... 3545
BmpFileOn ........................................................................................................... 3546
BmpFileOff........................................................................................................... 3547
State ........................................................................................................... 3548
Time ........................................................................................................... 3549
Price ........................................................................................................... 3550
Save ........................................................................................................... 3551
Load ........................................................................................................... 3552
Type ........................................................................................................... 3553
CChartObjectRectLabel
................................................................................................................ 3554
Create ........................................................................................................... 3556
X_Size ........................................................................................................... 3557
Y_Size ........................................................................................................... 3558
Bac k Color ........................................................................................................... 3559
Angle ........................................................................................................... 3560
BorderType........................................................................................................... 3561
Save ........................................................................................................... 3562
Load ........................................................................................................... 3563
Type ........................................................................................................... 3564
............................................................................................................................3565
Gráfic os personali zados
CCanvas......................................................................................................................... 3566
Attach ................................................................................................................ 3570
Arc ................................................................................................................ 3571
Pie ................................................................................................................ 3575
FillPolygon ................................................................................................................ 3579
FillEllipse ................................................................................................................ 3580
GetDefaultColor
................................................................................................................ 3581
ChartObjectName
................................................................................................................ 3582
Circle ................................................................................................................ 3583
CircleAA ................................................................................................................ 3584
CircleW u ................................................................................................................ 3585
Create ................................................................................................................ 3586
CreateBitmap ................................................................................................................ 3587
CreateBitmapLabel
................................................................................................................ 3589
Destroy ................................................................................................................ 3591
Ellipse ................................................................................................................ 3592

© 2000-2018, MetaQuotes Software Corp.


36 Conteúdo

EllipseAA ................................................................................................................ 3593


EllipseW u ................................................................................................................ 3594
Erase ................................................................................................................ 3595
Fill ................................................................................................................ 3596
FillCircle ................................................................................................................ 3597
FillRectangle ................................................................................................................ 3598
FillTriangle ................................................................................................................ 3599
FontAngleG................................................................................................................
et 3600
FontAngleSet ................................................................................................................ 3601
Font Flags G................................................................................................................
et 3602
Font FlagsSet ................................................................................................................ 3603
Font Get ................................................................................................................ 3604
FontNameG................................................................................................................
et 3605
FontNameSet ................................................................................................................ 3606
FontSet ................................................................................................................ 3607
FontSizeGet ................................................................................................................ 3608
FontSizeSet................................................................................................................ 3609
Height ................................................................................................................ 3610
Line ................................................................................................................ 3611
LineAA ................................................................................................................ 3612
LineW u ................................................................................................................ 3613
LineHorizontal................................................................................................................ 3614
LineV ertical ................................................................................................................ 3615
LineStyleSet ................................................................................................................ 3616
LineThic k ................................................................................................................ 3617
LineThic kV................................................................................................................
ertical 3618
LineThic kH................................................................................................................
orizontal 3619
LoadFromF................................................................................................................
ile 3620
PixelGet ................................................................................................................ 3621
PixelSet ................................................................................................................ 3622
PixelSetAA ................................................................................................................ 3623
Polygon ................................................................................................................ 3624
PolygonAA ................................................................................................................ 3625
PolygonW u................................................................................................................ 3626
k
PolygonThic................................................................................................................ 3627
PolygonSmooth ................................................................................................................ 3628
Polyline ................................................................................................................ 3629
PolylineSmooth................................................................................................................ 3630
k
PolylineThic................................................................................................................ 3631
PolylineW u ................................................................................................................ 3632
PolylineAA ................................................................................................................ 3633
Rectangle ................................................................................................................ 3634
Resize ................................................................................................................ 3635
ResourceName ................................................................................................................ 3636
Text Height................................................................................................................ 3637
TextOut ................................................................................................................ 3638
TextSize ................................................................................................................ 3639
Text W idth ................................................................................................................ 3640
TransparentLevelSet
................................................................................................................ 3641
Triangle ................................................................................................................ 3642
TriangleAA ................................................................................................................ 3643
TriangleW u................................................................................................................ 3644
Update ................................................................................................................ 3645
W idth ................................................................................................................ 3646
CChartCanvas
......................................................................................................................... 3647
Color Bac k ground
................................................................................................................ 3651
Color Border................................................................................................................ 3652
ColorText ................................................................................................................ 3653

© 2000-2018, MetaQuotes Software Corp.


37 Conteúdo

Color Grid ................................................................................................................ 3654


MaxData ................................................................................................................ 3655
MaxDescrLen ................................................................................................................ 3656
ShowFlags ................................................................................................................ 3657
IsShowLegend ................................................................................................................ 3658
IsShowScaleLeft
................................................................................................................ 3659
IsShowScaleRight
................................................................................................................ 3660
IsShowScaleTop................................................................................................................ 3661
Bottom
IsShowScale................................................................................................................ 3662
IsShowGrid................................................................................................................ 3663
IsShowDescriptors
................................................................................................................ 3664
IsShowPercent ................................................................................................................ 3665
V ScaleMin ................................................................................................................ 3666
V ScaleMax ................................................................................................................ 3667
NumGrid ................................................................................................................ 3668
DataOffset................................................................................................................ 3669
DataTotal ................................................................................................................ 3670
DrawDescriptors
................................................................................................................ 3671
DrawData ................................................................................................................ 3672
Create ................................................................................................................ 3673
AllowedShow Flags
................................................................................................................ 3674
ShowLegend ................................................................................................................ 3675
ShowScaleLeft ................................................................................................................ 3676
ShowScaleRight................................................................................................................ 3677
ShowScaleTop ................................................................................................................ 3678
ShowScaleB................................................................................................................
ottom 3679
ShowGrid ................................................................................................................ 3680
ShowDescriptors
................................................................................................................ 3681
ShowV alue ................................................................................................................ 3682
ShowPercent ................................................................................................................ 3683
LegendAlignment
................................................................................................................ 3684
Accumulative ................................................................................................................ 3685
V ScaleParams ................................................................................................................ 3686
DescriptorUpdate
................................................................................................................ 3687
ColorUpdate ................................................................................................................ 3688
V aluesChec................................................................................................................
k 3689
Redraw ................................................................................................................ 3690
DrawBac k ground
................................................................................................................ 3691
DrawLegend ................................................................................................................ 3692
DrawLegend V ertical
................................................................................................................ 3693
DrawLegend Horizontal
................................................................................................................ 3694
CalcScales ................................................................................................................ 3695
DrawScales................................................................................................................ 3696
DrawScaleLeft ................................................................................................................ 3697
DrawScaleRight................................................................................................................ 3698
DrawScaleTop ................................................................................................................ 3699
DrawScaleB................................................................................................................
ottom 3700
DrawGrid ................................................................................................................ 3701
DrawChart................................................................................................................ 3702
C HistogramChart
......................................................................................................................... 3703
Gradient ................................................................................................................ 3708
Bar Gap ................................................................................................................ 3709
BarMinSize................................................................................................................ 3710
Bar Border ................................................................................................................ 3711
Create ................................................................................................................ 3712
SeriesAdd ................................................................................................................ 3713
SeriesInsert ................................................................................................................ 3714
SeriesUpdate ................................................................................................................ 3715

© 2000-2018, MetaQuotes Software Corp.


38 Conteúdo

SeriesDelete ................................................................................................................ 3716


V alueUpdate ................................................................................................................ 3717
DrawData ................................................................................................................ 3718
DrawBar ................................................................................................................ 3719
Gradient Brush................................................................................................................ 3720
CLineChart
......................................................................................................................... 3721
Filled ................................................................................................................ 3725
Create ................................................................................................................ 3726
SeriesAdd ................................................................................................................ 3727
SeriesInsert ................................................................................................................ 3728
SeriesUpdate ................................................................................................................ 3729
SeriesDelete ................................................................................................................ 3730
V alueUpdate ................................................................................................................ 3731
DrawChart................................................................................................................ 3732
DrawData ................................................................................................................ 3733
CalcArea ................................................................................................................ 3734
CPieChart
......................................................................................................................... 3735
Create ................................................................................................................ 3739
SeriesSet ................................................................................................................ 3740
V alueAdd ................................................................................................................ 3741
V alueInsert................................................................................................................ 3742
V alueUpdate ................................................................................................................ 3743
V alueDelete................................................................................................................ 3744
DrawChart................................................................................................................ 3745
DrawPie ................................................................................................................ 3746
LabelMak e ................................................................................................................ 3747
............................................................................................................................3748
Gráfic os de preç os
ChartID......................................................................................................................... 3754
Mode ......................................................................................................................... 3755
Foreground
......................................................................................................................... 3756
Shift ......................................................................................................................... 3757
ShiftSize
......................................................................................................................... 3758
AutoScroll
......................................................................................................................... 3759
Scale ......................................................................................................................... 3760
ScaleFix......................................................................................................................... 3761
ScaleFix.........................................................................................................................
_11 3762
FixedMax......................................................................................................................... 3763
FixedMin......................................................................................................................... 3764
PointsPer Bar
......................................................................................................................... 3765
ScalePPB......................................................................................................................... 3766
ShowO H.........................................................................................................................
LC 3767
ShowLine Bid
......................................................................................................................... 3768
ShowLineAs k
......................................................................................................................... 3769
ShowLastLine
......................................................................................................................... 3770
ShowPeriodSep
......................................................................................................................... 3771
ShowGrid......................................................................................................................... 3772
ShowV olumes
......................................................................................................................... 3773
ShowObjectDescr
......................................................................................................................... 3774
ShowDateScale
......................................................................................................................... 3775
ShowPriceScale
......................................................................................................................... 3776
Color Bac k ground
......................................................................................................................... 3777
Color Foreground
......................................................................................................................... 3778
Color Grid
......................................................................................................................... 3779
Color BarUp
......................................................................................................................... 3780
Color BarDown
......................................................................................................................... 3781
ColorCandle Bull
......................................................................................................................... 3782
ColorCandle Bear
......................................................................................................................... 3783
ColorChartLine
......................................................................................................................... 3784

© 2000-2018, MetaQuotes Software Corp.


39 Conteúdo

Color V olumes
......................................................................................................................... 3785
ColorLine Bid
......................................................................................................................... 3786
ColorLineAs k
......................................................................................................................... 3787
ColorLineLast
......................................................................................................................... 3788
ColorStopLevels
......................................................................................................................... 3789
V isibleB.........................................................................................................................
ars 3790
W indowsTotal
......................................................................................................................... 3791
W indowIs V isible
......................................................................................................................... 3792
W indow.........................................................................................................................
Handle 3793
First V isible Bar
......................................................................................................................... 3794
W idthIn.........................................................................................................................
Bars 3795
W idthInPixels
......................................................................................................................... 3796
HeightInPixels
......................................................................................................................... 3797
PriceMin ......................................................................................................................... 3798
PriceMax ......................................................................................................................... 3799
Attach ......................................................................................................................... 3800
FirstChart......................................................................................................................... 3801
NextChart ......................................................................................................................... 3802
Open ......................................................................................................................... 3803
Detach ......................................................................................................................... 3804
Close ......................................................................................................................... 3805
BringToTop......................................................................................................................... 3806
EventObjectCreate
......................................................................................................................... 3807
EventObjectDelete
......................................................................................................................... 3808
IndicatorAdd
......................................................................................................................... 3809
IndicatorDelete
......................................................................................................................... 3810
IndicatorsTotal
......................................................................................................................... 3811
IndicatorName
......................................................................................................................... 3812
Navigate ......................................................................................................................... 3813
Symbol ......................................................................................................................... 3814
Period ......................................................................................................................... 3815
Redraw......................................................................................................................... 3816
GetInteger......................................................................................................................... 3817
SetInteger......................................................................................................................... 3818
GetDouble ......................................................................................................................... 3819
SetDouble ......................................................................................................................... 3820
GetString ......................................................................................................................... 3821
SetString ......................................................................................................................... 3822
SetSymbolPeriod
......................................................................................................................... 3823
ApplyTemplate
......................................................................................................................... 3824
ScreenShot......................................................................................................................... 3825
W indowOnDropped
......................................................................................................................... 3826
PriceOnDropped
......................................................................................................................... 3827
TimeOnDropped
......................................................................................................................... 3828
X OnDropped
......................................................................................................................... 3829
Y OnDropped
......................................................................................................................... 3830
Save ......................................................................................................................... 3831
Load ......................................................................................................................... 3832
Type ......................................................................................................................... 3833
Gráfic os c ............................................................................................................................3834
ientífic os
GraphPlot......................................................................................................................... 3835
CAxis ......................................................................................................................... 3839
AutoScale ................................................................................................................ 3841
Min ................................................................................................................ 3842
Max ................................................................................................................ 3843
Step ................................................................................................................ 3844
Name ................................................................................................................ 3845
Color ................................................................................................................ 3846

© 2000-2018, MetaQuotes Software Corp.


40 Conteúdo

V aluesSize ................................................................................................................ 3847


V alues W idth................................................................................................................ 3848
V alues Format................................................................................................................ 3849
V aluesDateTimeMode
................................................................................................................ 3850
V alues Function Format
................................................................................................................ 3851
V alues Function FormatC BData
................................................................................................................ 3853
NameSize ................................................................................................................ 3854
ZeroLever ................................................................................................................ 3855
DefaultStep................................................................................................................ 3856
MaxLabels ................................................................................................................ 3857
MinGrace ................................................................................................................ 3858
Max Grace ................................................................................................................ 3859
SelectAxisScale
................................................................................................................ 3860
CColor G.........................................................................................................................
enerator 3861
Next ................................................................................................................ 3862
Reset ................................................................................................................ 3863
CCurve......................................................................................................................... 3864
Type ................................................................................................................ 3867
Name ................................................................................................................ 3868
Color ................................................................................................................ 3869
X Max ................................................................................................................ 3870
X Min ................................................................................................................ 3871
Y Max ................................................................................................................ 3872
Y Min ................................................................................................................ 3873
Size ................................................................................................................ 3874
PointsSize ................................................................................................................ 3875
Points Fill ................................................................................................................ 3876
PointsColor................................................................................................................ 3877
Get X ................................................................................................................ 3878
Get Y ................................................................................................................ 3879
LinesStyle ................................................................................................................ 3880
LinesIsSmooth ................................................................................................................ 3881
LinesSmoothTension
................................................................................................................ 3882
LinesSmoothStep
................................................................................................................ 3883
LinesEndStyle ................................................................................................................ 3884
Lines W idth................................................................................................................ 3885
HistogramW ................................................................................................................
idth 3887
CustomPlotC BData
................................................................................................................ 3888
Function
CustomPlot................................................................................................................ 3889
PointsType................................................................................................................ 3893
StepsDimension................................................................................................................ 3894
TrendLineCoefficients
................................................................................................................ 3895
TrendLineColor................................................................................................................ 3896
TrendLineV................................................................................................................
isible 3897
Update ................................................................................................................ 3899
V isible ................................................................................................................ 3901
C Graphic......................................................................................................................... 3902
Create ................................................................................................................ 3905
Destroy ................................................................................................................ 3906
Update ................................................................................................................ 3907
ChartObjectName
................................................................................................................ 3908
ResourceName ................................................................................................................ 3909
X Axis ................................................................................................................ 3910
Y Axis ................................................................................................................ 3911
GapSize ................................................................................................................ 3912
Bac k groundColor
................................................................................................................ 3913
Bac k groundMain
................................................................................................................ 3914
Bac k groundMainSize
................................................................................................................ 3915

© 2000-2018, MetaQuotes Software Corp.


41 Conteúdo

Bac k groundMainColor
................................................................................................................ 3916
Bac k groundSub
................................................................................................................ 3917
Bac k groundSubSize
................................................................................................................ 3918
Bac k groundSubColor
................................................................................................................ 3919
GridLineColor................................................................................................................ 3920
GridBac k groundColor
................................................................................................................ 3921
GridCircleRadius
................................................................................................................ 3922
GridCircleColor
................................................................................................................ 3923
GridHasCircle................................................................................................................ 3924
HistoryName W idth
................................................................................................................ 3925
HistoryNameSize
................................................................................................................ 3926
HistorySymbolSize
................................................................................................................ 3927
TextAdd ................................................................................................................ 3928
LineAdd ................................................................................................................ 3929
CurveAdd ................................................................................................................ 3930
CurvePlot ................................................................................................................ 3933
CurvePlotAll ................................................................................................................ 3934
CurvesTotal ................................................................................................................ 3935
CurveGet ByIndex
................................................................................................................ 3936
CurveGet ByName
................................................................................................................ 3937
CurveRemove ByIndex
................................................................................................................ 3938
CurveRemove ByName
................................................................................................................ 3939
CurvesTotal ................................................................................................................ 3940
Mar k sToAxisAdd
................................................................................................................ 3941
MajorMar k Size
................................................................................................................ 3942
FontSet ................................................................................................................ 3943
Font Get ................................................................................................................ 3944
GridAxisLineColor
................................................................................................................ 3945
Attach ................................................................................................................ 3946
CalculateMaxMin V alues
................................................................................................................ 3947
Height ................................................................................................................ 3948
IndentDown ................................................................................................................ 3949
IndentLeft ................................................................................................................ 3950
IndentRight................................................................................................................ 3951
IndentUp ................................................................................................................ 3952
Redraw ................................................................................................................ 3953
ResetParameters
................................................................................................................ 3954
SetDefaultParameters
................................................................................................................ 3955
ScaleX ................................................................................................................ 3956
ScaleY ................................................................................................................ 3957
W idth ................................................................................................................ 3958
............................................................................................................................3959
Indic adores
Base
Classes ......................................................................................................................... 3960
CSpreadBuffer................................................................................................................ 3961
Size ........................................................................................................... 3963
SetSymbolPeriod
........................................................................................................... 3964
At ........................................................................................................... 3965
Refresh ........................................................................................................... 3966
RefreshCurrent
........................................................................................................... 3967
CTimeBuffer ................................................................................................................ 3968
Size ........................................................................................................... 3970
SetSymbolPeriod
........................................................................................................... 3971
At ........................................................................................................... 3972
Refresh ........................................................................................................... 3973
RefreshCurrent
........................................................................................................... 3974
CTic kV olume Buffer
................................................................................................................ 3975
Size ........................................................................................................... 3977
SetSymbolPeriod
........................................................................................................... 3978

© 2000-2018, MetaQuotes Software Corp.


42 Conteúdo

At ........................................................................................................... 3979
Refresh ........................................................................................................... 3980
RefreshCurrent
........................................................................................................... 3981
CRealV olume Buffer
................................................................................................................ 3982
Size ........................................................................................................... 3984
SetSymbolPeriod
........................................................................................................... 3985
At ........................................................................................................... 3986
Refresh ........................................................................................................... 3987
RefreshCurrent
........................................................................................................... 3988
CDoubleBuffer
................................................................................................................ 3989
Size ........................................................................................................... 3991
SetSymbolPeriod
........................................................................................................... 3992
At ........................................................................................................... 3993
Refresh ........................................................................................................... 3994
RefreshCurrent
........................................................................................................... 3995
COpenBuffer ................................................................................................................ 3996
Refresh ........................................................................................................... 3997
RefreshCurrent
........................................................................................................... 3998
C HighBuffer................................................................................................................ 3999
Refresh ........................................................................................................... 4000
RefreshCurrent
........................................................................................................... 4001
CLowBuffer................................................................................................................ 4002
Refresh ........................................................................................................... 4003
RefreshCurrent
........................................................................................................... 4004
CCloseBuffer................................................................................................................ 4005
Refresh ........................................................................................................... 4006
RefreshCurrent
........................................................................................................... 4007
CIndicator B................................................................................................................
uffer 4008
Offset ........................................................................................................... 4010
Name ........................................................................................................... 4011
At ........................................................................................................... 4012
Refresh ........................................................................................................... 4013
RefreshCurrent
........................................................................................................... 4014
CSeries ................................................................................................................ 4015
Name ........................................................................................................... 4017
BuffersTotal........................................................................................................... 4018
Timeframe ........................................................................................................... 4019
Symbol ........................................................................................................... 4020
Period ........................................................................................................... 4021
RefreshCurrent
........................................................................................................... 4022
BufferSize ........................................................................................................... 4023
BufferResize........................................................................................................... 4024
Refresh ........................................................................................................... 4025
PeriodDescription
........................................................................................................... 4026
CPriceSeries................................................................................................................ 4027
BufferResize........................................................................................................... 4029
GetData ........................................................................................................... 4030
Refresh ........................................................................................................... 4031
MinIndex ........................................................................................................... 4032
MinV alue ........................................................................................................... 4033
MaxIndex ........................................................................................................... 4034
Max V alue ........................................................................................................... 4035
CIndicator ................................................................................................................ 4036
Handle ........................................................................................................... 4039
Status ........................................................................................................... 4040
FullRelease........................................................................................................... 4041
Create ........................................................................................................... 4042
BufferResize........................................................................................................... 4043

© 2000-2018, MetaQuotes Software Corp.


43 Conteúdo

BarsCalculated
........................................................................................................... 4044
GetData ........................................................................................................... 4045
Refresh ........................................................................................................... 4048
Minimum ........................................................................................................... 4049
MinV alue ........................................................................................................... 4050
Maximum ........................................................................................................... 4051
Max V alue ........................................................................................................... 4052
MethodDescription
........................................................................................................... 4053
PriceDescription
........................................................................................................... 4054
V olumeDescription
........................................................................................................... 4055
AddToChart........................................................................................................... 4056
DeleteFromChart
........................................................................................................... 4057
CIndicators................................................................................................................ 4058
Create ........................................................................................................... 4059
Refresh ........................................................................................................... 4060
Classes .........................................................................................................................
de timesseries 4061
CiSpread ................................................................................................................ 4062
Create ........................................................................................................... 4064
BufferResize ........................................................................................................... 4065
GetData ........................................................................................................... 4066
Refresh ........................................................................................................... 4068
CiTime ................................................................................................................ 4069
Create ........................................................................................................... 4071
BufferResize ........................................................................................................... 4072
GetData ........................................................................................................... 4073
Refresh ........................................................................................................... 4075
CiTic kV olume
................................................................................................................ 4076
Create ........................................................................................................... 4078
BufferResize ........................................................................................................... 4079
GetData ........................................................................................................... 4080
Refresh ........................................................................................................... 4082
CiRealV olume................................................................................................................ 4083
Create ........................................................................................................... 4085
BufferResize ........................................................................................................... 4086
GetData ........................................................................................................... 4087
Refresh ........................................................................................................... 4089
CiOpen ................................................................................................................ 4090
Create ........................................................................................................... 4092
GetData ........................................................................................................... 4093
CiHigh ................................................................................................................ 4095
Create ........................................................................................................... 4097
GetData ........................................................................................................... 4098
CiLow ................................................................................................................ 4100
Create ........................................................................................................... 4102
GetData ........................................................................................................... 4103
CiClose ................................................................................................................ 4105
Create ........................................................................................................... 4107
GetData ........................................................................................................... 4108
Indicadores
.........................................................................................................................
de Tendência 4110
CiADX ................................................................................................................ 4111
MaPeriod ........................................................................................................... 4113
Create ........................................................................................................... 4114
Main ........................................................................................................... 4115
Plus ........................................................................................................... 4116
Minus ........................................................................................................... 4117
Type ........................................................................................................... 4118
CiADXW ilder ................................................................................................................ 4119
MaPeriod ........................................................................................................... 4121

© 2000-2018, MetaQuotes Software Corp.


44 Conteúdo

Create ........................................................................................................... 4122


Main ........................................................................................................... 4123
Plus ........................................................................................................... 4124
Minus ........................................................................................................... 4125
Type ........................................................................................................... 4126
CiBands ................................................................................................................ 4127
MaPeriod ........................................................................................................... 4129
MaShift ........................................................................................................... 4130
Deviation ........................................................................................................... 4131
Applied ........................................................................................................... 4132
Create ........................................................................................................... 4133
Base ........................................................................................................... 4134
Upper ........................................................................................................... 4135
Lower ........................................................................................................... 4136
Type ........................................................................................................... 4137
CiEnvelopes................................................................................................................ 4138
MaPeriod ........................................................................................................... 4140
MaShift ........................................................................................................... 4141
MaMethod ........................................................................................................... 4142
Deviation ........................................................................................................... 4143
Applied ........................................................................................................... 4144
Create ........................................................................................................... 4145
Upper ........................................................................................................... 4146
Lower ........................................................................................................... 4147
Type ........................................................................................................... 4148
CiIchimok u................................................................................................................ 4149
Tenk anSenPeriod
........................................................................................................... 4151
KijunSenPeriod
........................................................................................................... 4152
Senk ouSpan...........................................................................................................
BPeriod 4153
Create ........................................................................................................... 4154
Tenk anSen........................................................................................................... 4155
KijunSen ........................................................................................................... 4156
Senk ouSpanA........................................................................................................... 4157
Senk ouSpan...........................................................................................................
B 4158
Chink ouSpan........................................................................................................... 4159
Type ........................................................................................................... 4160
CiMA ................................................................................................................ 4161
MaPeriod ........................................................................................................... 4163
MaShift ........................................................................................................... 4164
MaMethod ........................................................................................................... 4165
Applied ........................................................................................................... 4166
Create ........................................................................................................... 4167
Main ........................................................................................................... 4168
Type ........................................................................................................... 4169
CiSAR ................................................................................................................ 4170
SarStep ........................................................................................................... 4172
Maximum ........................................................................................................... 4173
Create ........................................................................................................... 4174
Main ........................................................................................................... 4175
Type ........................................................................................................... 4176
CiStdDev ................................................................................................................ 4177
MaPeriod ........................................................................................................... 4179
MaShift ........................................................................................................... 4180
MaMethod ........................................................................................................... 4181
Applied ........................................................................................................... 4182
Create ........................................................................................................... 4183
Main ........................................................................................................... 4184
Type ........................................................................................................... 4185

© 2000-2018, MetaQuotes Software Corp.


45 Conteúdo

CiDEMA ................................................................................................................ 4186


MaPeriod ........................................................................................................... 4188
IndShift ........................................................................................................... 4189
Applied ........................................................................................................... 4190
Create ........................................................................................................... 4191
Main ........................................................................................................... 4192
Type ........................................................................................................... 4193
CiTEMA ................................................................................................................ 4194
MaPeriod ........................................................................................................... 4196
IndShift ........................................................................................................... 4197
Applied ........................................................................................................... 4198
Create ........................................................................................................... 4199
Main ........................................................................................................... 4200
Type ........................................................................................................... 4201
CiFrAMA ................................................................................................................ 4202
MaPeriod ........................................................................................................... 4204
IndShift ........................................................................................................... 4205
Applied ........................................................................................................... 4206
Create ........................................................................................................... 4207
Main ........................................................................................................... 4208
Type ........................................................................................................... 4209
CiAMA ................................................................................................................ 4210
MaPeriod ........................................................................................................... 4212
FastEmaPeriod........................................................................................................... 4213
SlowEmaPeriod........................................................................................................... 4214
IndShift ........................................................................................................... 4215
Applied ........................................................................................................... 4216
Create ........................................................................................................... 4217
Main ........................................................................................................... 4218
Type ........................................................................................................... 4219
CiV IDyA ................................................................................................................ 4220
CmoPeriod........................................................................................................... 4222
EmaPeriod ........................................................................................................... 4223
IndShift ........................................................................................................... 4224
Applied ........................................................................................................... 4225
Create ........................................................................................................... 4226
Main ........................................................................................................... 4227
Type ........................................................................................................... 4228
Osciladores
......................................................................................................................... 4229
CiATR ................................................................................................................ 4230
MaPeriod ........................................................................................................... 4232
Create ........................................................................................................... 4233
Main ........................................................................................................... 4234
Type ........................................................................................................... 4235
CiBearsPower ................................................................................................................ 4236
MaPeriod ........................................................................................................... 4238
Create ........................................................................................................... 4239
Main ........................................................................................................... 4240
Type ........................................................................................................... 4241
CiBullsPower ................................................................................................................ 4242
MaPeriod ........................................................................................................... 4244
Create ........................................................................................................... 4245
Main ........................................................................................................... 4246
Type ........................................................................................................... 4247
CiCCI ................................................................................................................ 4248
MaPeriod ........................................................................................................... 4250
Applied ........................................................................................................... 4251
Create ........................................................................................................... 4252

© 2000-2018, MetaQuotes Software Corp.


46 Conteúdo

Main ........................................................................................................... 4253


Type ........................................................................................................... 4254
CiChaik in ................................................................................................................ 4255
FastMaPeriod ........................................................................................................... 4257
SlowMaPeriod ........................................................................................................... 4258
MaMethod ........................................................................................................... 4259
Applied ........................................................................................................... 4260
Create ........................................................................................................... 4261
Main ........................................................................................................... 4262
Type ........................................................................................................... 4263
CiDeMar k er................................................................................................................ 4264
MaPeriod ........................................................................................................... 4266
Create ........................................................................................................... 4267
Main ........................................................................................................... 4268
Type ........................................................................................................... 4269
CiForce ................................................................................................................ 4270
MaPeriod ........................................................................................................... 4272
MaMethod ........................................................................................................... 4273
Applied ........................................................................................................... 4274
Create ........................................................................................................... 4275
Main ........................................................................................................... 4276
Type ........................................................................................................... 4277
CiMACD ................................................................................................................ 4278
FastEmaPeriod........................................................................................................... 4280
SlowEmaPeriod........................................................................................................... 4281
SignalPeriod ........................................................................................................... 4282
Applied ........................................................................................................... 4283
Create ........................................................................................................... 4284
Main ........................................................................................................... 4285
Signal ........................................................................................................... 4286
Type ........................................................................................................... 4287
CiMomentum ................................................................................................................ 4288
MaPeriod ........................................................................................................... 4290
Applied ........................................................................................................... 4291
Create ........................................................................................................... 4292
Main ........................................................................................................... 4293
Type ........................................................................................................... 4294
CiOsMA ................................................................................................................ 4295
FastEmaPeriod........................................................................................................... 4297
SlowEmaPeriod........................................................................................................... 4298
SignalPeriod ........................................................................................................... 4299
Applied ........................................................................................................... 4300
Create ........................................................................................................... 4301
Main ........................................................................................................... 4302
Type ........................................................................................................... 4303
CiRSI ................................................................................................................ 4304
MaPeriod ........................................................................................................... 4306
Applied ........................................................................................................... 4307
Create ........................................................................................................... 4308
Main ........................................................................................................... 4309
Type ........................................................................................................... 4310
CiRV I ................................................................................................................ 4311
MaPeriod ........................................................................................................... 4313
Create ........................................................................................................... 4314
Main ........................................................................................................... 4315
Signal ........................................................................................................... 4316
Type ........................................................................................................... 4317
CiStochastic................................................................................................................ 4318

© 2000-2018, MetaQuotes Software Corp.


47 Conteúdo

Kperiod ........................................................................................................... 4320


Dperiod ........................................................................................................... 4321
Slowing ........................................................................................................... 4322
MaMethod ........................................................................................................... 4323
PriceField ........................................................................................................... 4324
Create ........................................................................................................... 4325
Main ........................................................................................................... 4326
Signal ........................................................................................................... 4327
Type ........................................................................................................... 4328
CiTriX ................................................................................................................ 4329
MaPeriod ........................................................................................................... 4331
Applied ........................................................................................................... 4332
Create ........................................................................................................... 4333
Main ........................................................................................................... 4334
Type ........................................................................................................... 4335
CiW PR ................................................................................................................ 4336
CalcPeriod........................................................................................................... 4338
Create ........................................................................................................... 4339
Main ........................................................................................................... 4340
Type ........................................................................................................... 4341
Indicadores de V olume
......................................................................................................................... 4342
CiAD ................................................................................................................ 4343
Applied ........................................................................................................... 4345
Create ........................................................................................................... 4346
Main ........................................................................................................... 4347
Type ........................................................................................................... 4348
CiMFI ................................................................................................................ 4349
MaPeriod ........................................................................................................... 4351
Applied ........................................................................................................... 4352
Create ........................................................................................................... 4353
Main ........................................................................................................... 4354
Type ........................................................................................................... 4355
CiO BV ................................................................................................................ 4356
Applied ........................................................................................................... 4358
Create ........................................................................................................... 4359
Main ........................................................................................................... 4360
Type ........................................................................................................... 4361
CiV olumes ................................................................................................................ 4362
Applied ........................................................................................................... 4364
Create ........................................................................................................... 4365
Main ........................................................................................................... 4366
Type ........................................................................................................... 4367
Indicadores Bill W illiams
......................................................................................................................... 4368
CiAC ................................................................................................................ 4369
Create ........................................................................................................... 4371
Main ........................................................................................................... 4372
Type ........................................................................................................... 4373
CiAlligator ................................................................................................................ 4374
JawPeriod ........................................................................................................... 4376
JawShift ........................................................................................................... 4377
TeethPeriod ........................................................................................................... 4378
TeethShift ........................................................................................................... 4379
LipsPeriod ........................................................................................................... 4380
LipsShift ........................................................................................................... 4381
MaMethod ........................................................................................................... 4382
Applied ........................................................................................................... 4383
Create ........................................................................................................... 4384
Jaw ........................................................................................................... 4385

© 2000-2018, MetaQuotes Software Corp.


48 Conteúdo

Teeth ........................................................................................................... 4386


Lips ........................................................................................................... 4387
Type ........................................................................................................... 4388
CiAO ................................................................................................................ 4389
Create ........................................................................................................... 4391
Main ........................................................................................................... 4392
Type ........................................................................................................... 4393
CiFractals ................................................................................................................ 4394
Create ........................................................................................................... 4396
Upper ........................................................................................................... 4397
Lower ........................................................................................................... 4398
Type ........................................................................................................... 4399
CiGator ................................................................................................................ 4400
JawPeriod ........................................................................................................... 4402
JawShift ........................................................................................................... 4403
TeethPeriod ........................................................................................................... 4404
TeethShift ........................................................................................................... 4405
LipsPeriod ........................................................................................................... 4406
LipsShift ........................................................................................................... 4407
MaMethod ........................................................................................................... 4408
Applied ........................................................................................................... 4409
Create ........................................................................................................... 4410
Upper ........................................................................................................... 4411
Lower ........................................................................................................... 4412
Type ........................................................................................................... 4413
CiBW MFI ................................................................................................................ 4414
Applied ........................................................................................................... 4416
Create ........................................................................................................... 4417
Main ........................................................................................................... 4418
Type ........................................................................................................... 4419
indicadores
.........................................................................................................................
personalizados 4420
NumBuffers................................................................................................................ 4421
NumParams................................................................................................................ 4422
ParamType................................................................................................................ 4423
ParamLong................................................................................................................ 4424
ParamDouble ................................................................................................................ 4425
ParamString ................................................................................................................ 4426
Type ................................................................................................................ 4427
Classes de............................................................................................................................4428
negoc iaç ão
CAccountInfo
......................................................................................................................... 4429
Login ................................................................................................................ 4431
TradeMode................................................................................................................ 4432
TradeModeDescription
................................................................................................................ 4433
Leverage ................................................................................................................ 4434
StopoutMode ................................................................................................................ 4435
StopoutModeDescription
................................................................................................................ 4436
MarginMode ................................................................................................................ 4437
MarginModeDescription
................................................................................................................ 4438
TradeAllowed ................................................................................................................ 4439
TradeExpert ................................................................................................................ 4440
LimitOrders................................................................................................................ 4441
Balance ................................................................................................................ 4442
Credit ................................................................................................................ 4443
Profit ................................................................................................................ 4444
Equity ................................................................................................................ 4445
Margin ................................................................................................................ 4446
FreeMargin................................................................................................................ 4447
MarginLevel ................................................................................................................ 4448

© 2000-2018, MetaQuotes Software Corp.


49 Conteúdo

MarginCall ................................................................................................................ 4449


MarginStopOut ................................................................................................................ 4450
Name ................................................................................................................ 4451
Server ................................................................................................................ 4452
Currency ................................................................................................................ 4453
Company ................................................................................................................ 4454
InfoInteger................................................................................................................ 4455
InfoDouble ................................................................................................................ 4456
InfoString ................................................................................................................ 4457
OrderProfitChec k
................................................................................................................ 4458
k
MarginChec................................................................................................................ 4459
FreeMarginChec k
................................................................................................................ 4460
MaxLotChec k
................................................................................................................ 4461
CSymbolInfo
......................................................................................................................... 4462
Refresh ................................................................................................................ 4467
RefreshRates ................................................................................................................ 4468
Name ................................................................................................................ 4469
Select ................................................................................................................ 4470
IsSynchronized................................................................................................................ 4471
V olume ................................................................................................................ 4472
V olumeHigh................................................................................................................ 4473
V olumeLow................................................................................................................ 4474
Time ................................................................................................................ 4475
Spread ................................................................................................................ 4476
SpreadFloat................................................................................................................ 4477
Tic k s Book Depth
................................................................................................................ 4478
StopsLevel................................................................................................................ 4479
FreezeLevel ................................................................................................................ 4480
Bid ................................................................................................................ 4481
BidHigh ................................................................................................................ 4482
BidLow ................................................................................................................ 4483
As k ................................................................................................................ 4484
As kHigh ................................................................................................................ 4485
As k Low ................................................................................................................ 4486
Last ................................................................................................................ 4487
Last High ................................................................................................................ 4488
LastLow ................................................................................................................ 4489
TradeCalcMode ................................................................................................................ 4490
TradeCalcModeDescription
................................................................................................................ 4491
TradeMode................................................................................................................ 4492
TradeModeDescription
................................................................................................................ 4493
TradeExecution................................................................................................................ 4494
TradeExecutionDescription
................................................................................................................ 4495
SwapMode ................................................................................................................ 4496
SwapModeDescription
................................................................................................................ 4497
SwapRollover3days
................................................................................................................ 4498
SwapRollover3daysDescription
................................................................................................................ 4499
MarginInitial ................................................................................................................ 4500
MarginMaintenance
................................................................................................................ 4501
MarginLong................................................................................................................ 4502
MarginShort ................................................................................................................ 4503
MarginLimit................................................................................................................ 4504
MarginStop................................................................................................................ 4505
MarginStopLimit
................................................................................................................ 4506
TradeTimeF................................................................................................................
lags 4507
TradeFillFlags................................................................................................................ 4508
Digits ................................................................................................................ 4509
Point ................................................................................................................ 4510

© 2000-2018, MetaQuotes Software Corp.


50 Conteúdo

Tic kV alue ................................................................................................................ 4511


Tic kV alueProfit
................................................................................................................ 4512
Tic kV alueLoss
................................................................................................................ 4513
Tic k Size ................................................................................................................ 4514
ContractSize ................................................................................................................ 4515
LotsMin ................................................................................................................ 4516
LotsMax ................................................................................................................ 4517
LotsStep ................................................................................................................ 4518
LotsLimit ................................................................................................................ 4519
SwapLong ................................................................................................................ 4520
SwapShort ................................................................................................................ 4521
Currency Base ................................................................................................................ 4522
CurrencyProfit................................................................................................................ 4523
CurrencyMargin................................................................................................................ 4524
Bank ................................................................................................................ 4525
Description................................................................................................................ 4526
Path ................................................................................................................ 4527
SessionDeals ................................................................................................................ 4528
SessionBuyOrders
................................................................................................................ 4529
SessionSellOrders
................................................................................................................ 4530
SessionTurnover
................................................................................................................ 4531
SessionInterest
................................................................................................................ 4532
SessionBuyOrders V olume
................................................................................................................ 4533
SessionSellOrders V olume
................................................................................................................ 4534
SessionOpen ................................................................................................................ 4535
SessionClose ................................................................................................................ 4536
SessionAW ................................................................................................................ 4537
SessionPriceSettlement
................................................................................................................ 4538
SessionPriceLimitMin
................................................................................................................ 4539
SessionPriceLimitMax
................................................................................................................ 4540
InfoInteger................................................................................................................ 4541
InfoDouble ................................................................................................................ 4542
InfoString ................................................................................................................ 4543
NormalizePrice................................................................................................................ 4544
COrderInfo
......................................................................................................................... 4545
Tic k et ................................................................................................................ 4548
TimeSetup ................................................................................................................ 4549
TimeSetupMsc ................................................................................................................ 4550
OrderType................................................................................................................ 4551
TypeDescription
................................................................................................................ 4552
State ................................................................................................................ 4553
StateDescription
................................................................................................................ 4554
TimeExpiration................................................................................................................ 4555
TimeDone ................................................................................................................ 4556
TimeDoneMsc ................................................................................................................ 4557
TypeFilling ................................................................................................................ 4558
TypeFillingDescription
................................................................................................................ 4559
TypeTime ................................................................................................................ 4560
TypeTimeDescription
................................................................................................................ 4561
Magic ................................................................................................................ 4562
PositionId ................................................................................................................ 4563
V olumeInitial................................................................................................................ 4564
V olumeCurrent................................................................................................................ 4565
PriceOpen ................................................................................................................ 4566
StopLoss ................................................................................................................ 4567
Tak eProfit ................................................................................................................ 4568
PriceCurrent ................................................................................................................ 4569
PriceStopLimit................................................................................................................ 4570

© 2000-2018, MetaQuotes Software Corp.


51 Conteúdo

Symbol ................................................................................................................ 4571


Comment ................................................................................................................ 4572
InfoInteger................................................................................................................ 4573
InfoDouble ................................................................................................................ 4574
InfoString ................................................................................................................ 4575
StoreState................................................................................................................ 4576
Chec k State................................................................................................................ 4577
Select ................................................................................................................ 4578
Select ByIndex................................................................................................................ 4579
C HistoryOrderInfo
......................................................................................................................... 4580
TimeSetup ................................................................................................................ 4582
TimeSetupMsc ................................................................................................................ 4583
OrderType................................................................................................................ 4584
TypeDescription
................................................................................................................ 4585
State ................................................................................................................ 4586
StateDescription
................................................................................................................ 4587
TimeExpiration................................................................................................................ 4588
TimeDone ................................................................................................................ 4589
TimeDoneMsc ................................................................................................................ 4590
TypeFilling ................................................................................................................ 4591
TypeFillingDescription
................................................................................................................ 4592
TypeTime ................................................................................................................ 4593
TypeTimeDescription
................................................................................................................ 4594
Magic ................................................................................................................ 4595
PositionId ................................................................................................................ 4596
V olumeInitial................................................................................................................ 4597
V olumeCurrent................................................................................................................ 4598
PriceOpen ................................................................................................................ 4599
StopLoss ................................................................................................................ 4600
Tak eProfit ................................................................................................................ 4601
PriceCurrent ................................................................................................................ 4602
PriceStopLimit................................................................................................................ 4603
Symbol ................................................................................................................ 4604
Comment ................................................................................................................ 4605
InfoInteger................................................................................................................ 4606
InfoDouble ................................................................................................................ 4607
InfoString ................................................................................................................ 4608
Tic k et ................................................................................................................ 4609
Select ByIndex................................................................................................................ 4610
CPositionInfo
......................................................................................................................... 4611
Time ................................................................................................................ 4613
TimeMsc ................................................................................................................ 4614
TimeUpdate................................................................................................................ 4615
TimeUpdateMsc ................................................................................................................ 4616
PositionType ................................................................................................................ 4617
TypeDescription
................................................................................................................ 4618
Magic ................................................................................................................ 4619
Identifier ................................................................................................................ 4620
V olume ................................................................................................................ 4621
PriceOpen ................................................................................................................ 4622
StopLoss ................................................................................................................ 4623
Tak eProfit ................................................................................................................ 4624
PriceCurrent ................................................................................................................ 4625
Commission................................................................................................................ 4626
Swap ................................................................................................................ 4627
Profit ................................................................................................................ 4628
Symbol ................................................................................................................ 4629
Comment ................................................................................................................ 4630

© 2000-2018, MetaQuotes Software Corp.


52 Conteúdo

InfoInteger................................................................................................................ 4631
InfoDouble ................................................................................................................ 4632
InfoString ................................................................................................................ 4633
Select ................................................................................................................ 4634
Select ByIndex................................................................................................................ 4635
Select ByMagic................................................................................................................ 4636
Select ByTic................................................................................................................
k et 4637
StoreState................................................................................................................ 4638
Chec k State................................................................................................................ 4639
CDealInfo
......................................................................................................................... 4640
Order ................................................................................................................ 4642
Time ................................................................................................................ 4643
TimeMsc ................................................................................................................ 4644
DealType ................................................................................................................ 4645
TypeDescription
................................................................................................................ 4646
Entry ................................................................................................................ 4647
EntryDescription
................................................................................................................ 4648
Magic ................................................................................................................ 4649
PositionId ................................................................................................................ 4650
V olume ................................................................................................................ 4651
Price ................................................................................................................ 4652
Commision ................................................................................................................ 4653
Swap ................................................................................................................ 4654
Profit ................................................................................................................ 4655
Symbol ................................................................................................................ 4656
Comment ................................................................................................................ 4657
InfoInteger................................................................................................................ 4658
InfoDouble ................................................................................................................ 4659
InfoString ................................................................................................................ 4660
Tic k et ................................................................................................................ 4661
Select ByIndex................................................................................................................ 4662
CTrade ......................................................................................................................... 4663
LogLevel ................................................................................................................ 4668
SetExpertMagicNumber
................................................................................................................ 4669
SetDeviationInPoints
................................................................................................................ 4670
SetTypeFilling................................................................................................................ 4671
SetTypeFilling BySymbol
................................................................................................................ 4672
SetAsyncMode ................................................................................................................ 4673
SetMarginMode ................................................................................................................ 4674
OrderOpen................................................................................................................ 4675
OrderModify ................................................................................................................ 4677
OrderDelete ................................................................................................................ 4678
PositionOpen ................................................................................................................ 4679
PositionModify................................................................................................................ 4680
PositionClose ................................................................................................................ 4681
PositionClosePartial
................................................................................................................ 4682
PositionClose By
................................................................................................................ 4684
Buy ................................................................................................................ 4685
Sell ................................................................................................................ 4686
BuyLimit ................................................................................................................ 4687
BuyStop ................................................................................................................ 4689
SellLimit ................................................................................................................ 4690
SellStop ................................................................................................................ 4691
Request ................................................................................................................ 4692
RequestAction ................................................................................................................ 4693
RequestActionDescription
................................................................................................................ 4694
RequestMagic ................................................................................................................ 4695
RequestOrder ................................................................................................................ 4696

© 2000-2018, MetaQuotes Software Corp.


53 Conteúdo

RequestSymbol ................................................................................................................ 4697


Request V olume................................................................................................................ 4698
RequestPrice ................................................................................................................ 4699
RequestStopLimit
................................................................................................................ 4700
RequestSL ................................................................................................................ 4701
RequestTP ................................................................................................................ 4702
RequestDeviation
................................................................................................................ 4703
RequestType ................................................................................................................ 4704
RequestTypeDescription
................................................................................................................ 4705
RequestType Filling
................................................................................................................ 4706
RequestType FillingDescription
................................................................................................................ 4707
RequestTypeTime................................................................................................................ 4708
RequestTypeTimeDescription
................................................................................................................ 4709
RequestExpiration
................................................................................................................ 4710
RequestComment ................................................................................................................ 4711
RequestPosition................................................................................................................ 4712
RequestPosition By
................................................................................................................ 4713
Result ................................................................................................................ 4714
ResultRetcode ................................................................................................................ 4715
ResultRetcodeDescription
................................................................................................................ 4716
ResultDeal ................................................................................................................ 4717
ResultOrder................................................................................................................ 4718
Result V olume ................................................................................................................ 4719
ResultPrice................................................................................................................ 4720
Result Bid ................................................................................................................ 4721
ResultAs k ................................................................................................................ 4722
ResultComment ................................................................................................................ 4723
Chec k Result ................................................................................................................ 4724
Chec k ResultRetcode
................................................................................................................ 4725
Chec k ResultRetcodeDescription
................................................................................................................ 4726
Chec k Result Balance
................................................................................................................ 4727
Chec k ResultEquity
................................................................................................................ 4728
Chec k ResultProfit
................................................................................................................ 4729
Chec k ResultMargin
................................................................................................................ 4730
Chec k ResultMargin Free
................................................................................................................ 4731
Chec k ResultMarginLevel
................................................................................................................ 4732
Chec k ResultComment
................................................................................................................ 4733
PrintRequest ................................................................................................................ 4734
PrintResult................................................................................................................ 4735
FormatRequest ................................................................................................................ 4736
FormatRequestResult
................................................................................................................ 4737
CTerminalInfo
......................................................................................................................... 4738
Build ................................................................................................................ 4740
IsConnected ................................................................................................................ 4741
IsDLLsAllowed ................................................................................................................ 4742
IsTradeAllowed ................................................................................................................ 4743
IsEmailEnabled ................................................................................................................ 4744
Is FtpEnabled ................................................................................................................ 4745
Max Bars ................................................................................................................ 4746
CodePage ................................................................................................................ 4747
CPUCores ................................................................................................................ 4748
MemoryPhysical ................................................................................................................ 4749
MemoryTotal ................................................................................................................ 4750
MemoryAvailable................................................................................................................ 4751
MemoryUsed ................................................................................................................ 4752
Is X 64 ................................................................................................................ 4753
OpenCLSupport ................................................................................................................ 4754
Dis k Space ................................................................................................................ 4755

© 2000-2018, MetaQuotes Software Corp.


54 Conteúdo

Language ................................................................................................................ 4756


Name ................................................................................................................ 4757
Company ................................................................................................................ 4758
Path ................................................................................................................ 4759
DataPath ................................................................................................................ 4760
CommonDataPath
................................................................................................................ 4761
InfoInteger................................................................................................................ 4762
InfoString ................................................................................................................ 4763
............................................................................................................................4764
Módulos de estratégias
Base para Expert Advisors
Classes ......................................................................................................................... 4767
CExpert Base ................................................................................................................ 4768
InitPhase ........................................................................................................... 4771
TrendType........................................................................................................... 4772
UsedSeries........................................................................................................... 4773
EveryTic k ........................................................................................................... 4774
Open ........................................................................................................... 4775
High ........................................................................................................... 4776
Low ........................................................................................................... 4777
Close ........................................................................................................... 4778
Spread ........................................................................................................... 4779
Time ........................................................................................................... 4780
Tic kV olume........................................................................................................... 4781
RealV olume........................................................................................................... 4782
Init ........................................................................................................... 4783
Symbol ........................................................................................................... 4784
Period ........................................................................................................... 4785
Magic ........................................................................................................... 4786
V alidationSettings
........................................................................................................... 4787
SetPriceSeries
........................................................................................................... 4788
SetOtherSeries
........................................................................................................... 4789
InitIndicators
........................................................................................................... 4790
InitOpen ........................................................................................................... 4791
Init High ........................................................................................................... 4792
InitLow ........................................................................................................... 4793
InitClose ........................................................................................................... 4794
InitSpread ........................................................................................................... 4795
InitTime ........................................................................................................... 4796
InitTic kV olume
........................................................................................................... 4797
InitRealV olume
........................................................................................................... 4798
PriceLevelUnit
........................................................................................................... 4799
StartIndex........................................................................................................... 4800
CompareMagic ........................................................................................................... 4801
CExpert ................................................................................................................ 4802
Init ........................................................................................................... 4807
Magic ........................................................................................................... 4808
InitSignal ........................................................................................................... 4809
InitTrailing........................................................................................................... 4810
InitMoney ........................................................................................................... 4811
InitTrade ........................................................................................................... 4812
Deinit ........................................................................................................... 4813
OnTic k Process
........................................................................................................... 4814
OnTradeProcess
........................................................................................................... 4815
OnTimerProcess
........................................................................................................... 4816
OnChartEventProcess
........................................................................................................... 4817
OnBook EventProcess
........................................................................................................... 4818
MaxOrders........................................................................................................... 4819
Signal ........................................................................................................... 4820
V alidationSettings
........................................................................................................... 4821

© 2000-2018, MetaQuotes Software Corp.


55 Conteúdo

InitIndicators
........................................................................................................... 4822
OnTic k ........................................................................................................... 4823
OnTrade ........................................................................................................... 4824
OnTimer ........................................................................................................... 4825
OnChartEvent........................................................................................................... 4826
OnBook Event........................................................................................................... 4827
InitParameters
........................................................................................................... 4828
DeinitTrade ........................................................................................................... 4829
DeinitSignal........................................................................................................... 4830
DeinitTrailing
........................................................................................................... 4831
DeinitMoney ........................................................................................................... 4832
DeinitIndicators
........................................................................................................... 4833
Refresh ........................................................................................................... 4834
Processing........................................................................................................... 4835
SelectPosition
........................................................................................................... 4837
Chec k Open........................................................................................................... 4838
Chec k OpenLong
........................................................................................................... 4839
Chec k OpenShort
........................................................................................................... 4840
OpenLong ........................................................................................................... 4841
OpenShort ........................................................................................................... 4842
Chec k Reverse
........................................................................................................... 4843
Chec k ReverseLong
........................................................................................................... 4844
Chec k ReverseShort
........................................................................................................... 4845
ReverseLong ........................................................................................................... 4846
ReverseShort........................................................................................................... 4847
Chec k Close........................................................................................................... 4848
Chec k CloseLong
........................................................................................................... 4849
Chec k CloseShort
........................................................................................................... 4850
CloseAll ........................................................................................................... 4851
Close ........................................................................................................... 4852
CloseLong ........................................................................................................... 4853
CloseShort ........................................................................................................... 4854
Chec k TrailingStop
........................................................................................................... 4855
Chec k TrailingStopLong
........................................................................................................... 4856
Chec k TrailingStopShort
........................................................................................................... 4857
TrailingStopLong
........................................................................................................... 4858
TrailingStopShort
........................................................................................................... 4859
Chec k TrailingOrderLong
........................................................................................................... 4860
Chec k TrailingOrderShort
........................................................................................................... 4861
TrailingOrderLong
........................................................................................................... 4862
TrailingOrderShort
........................................................................................................... 4863
Chec k DeleteOrderLong
........................................................................................................... 4864
Chec k DeleteOrderShort
........................................................................................................... 4865
DeleteOrders........................................................................................................... 4866
DeleteOrder ........................................................................................................... 4867
DeleteOrderLong
........................................................................................................... 4868
DeleteOrderShort
........................................................................................................... 4869
LotOpenLong ........................................................................................................... 4870
LotOpenShort........................................................................................................... 4871
LotReverse........................................................................................................... 4872
PrepareHistoryDate
........................................................................................................... 4873
HistoryPoint........................................................................................................... 4874
Chec k TradeState
........................................................................................................... 4875
W aitEvent ........................................................................................................... 4876
NoW aitEvent........................................................................................................... 4877
TradeEventPositionStopTa ke
........................................................................................................... 4878
TradeEventOrderTriggered
........................................................................................................... 4879
TradeEventPositionOpened
........................................................................................................... 4880

© 2000-2018, MetaQuotes Software Corp.


56 Conteúdo

TradeEventPosition V olumeChanged
........................................................................................................... 4881
TradeEventPositionModified
........................................................................................................... 4882
TradeEventPositionClosed
........................................................................................................... 4883
TradeEventOrderPlaced
........................................................................................................... 4884
TradeEventOrderModified
........................................................................................................... 4885
TradeEventOrderDeleted
........................................................................................................... 4886
TradeEventNotIdentified
........................................................................................................... 4887
TimeframeAdd ........................................................................................................... 4888
Flags
Timeframes........................................................................................................... 4889
CExpertSignal................................................................................................................ 4890
BasePrice ........................................................................................................... 4893
UsedSeries........................................................................................................... 4894
W eight ........................................................................................................... 4895
PatternsUsage........................................................................................................... 4896
General ........................................................................................................... 4897
Ignore ........................................................................................................... 4898
Invert ........................................................................................................... 4899
ThresholdOpen........................................................................................................... 4900
ThresholdClose
........................................................................................................... 4901
PriceLevel........................................................................................................... 4902
StopLevel ........................................................................................................... 4903
Tak eLevel ........................................................................................................... 4904
Expiration ........................................................................................................... 4905
Magic ........................................................................................................... 4906
V alidationSettings
........................................................................................................... 4907
InitIndicators
........................................................................................................... 4908
AddFilter ........................................................................................................... 4909
Chec k OpenLong
........................................................................................................... 4910
Chec k OpenShort
........................................................................................................... 4911
OpenLongParams
........................................................................................................... 4912
OpenShortParams
........................................................................................................... 4913
Chec k CloseLong
........................................................................................................... 4914
Chec k CloseShort
........................................................................................................... 4915
CloseLongParams
........................................................................................................... 4916
CloseShortParams
........................................................................................................... 4917
Chec k ReverseLong
........................................................................................................... 4918
Chec k ReverseShort
........................................................................................................... 4919
Chec k TrailingOrderLong
........................................................................................................... 4920
Chec k TrailingOrderShort
........................................................................................................... 4921
LongCondition........................................................................................................... 4922
ShortCondition
........................................................................................................... 4923
Direction ........................................................................................................... 4924
CExpertTrailing
................................................................................................................ 4925
Chec k TrailingStopLong
........................................................................................................... 4927
Chec k TrailingStopShort
........................................................................................................... 4928
CExpertMoney ................................................................................................................ 4929
Percent ........................................................................................................... 4930
V alidationSettings
........................................................................................................... 4931
Chec k OpenLong
........................................................................................................... 4932
Chec k OpenShort
........................................................................................................... 4933
Chec k Reverse
........................................................................................................... 4934
Chec k Close........................................................................................................... 4935
Módulos.........................................................................................................................
de Sinais de Negociação 4936
Signals of the
................................................................................................................
Indicator Accelerator Oscillator 4939
Signals of the
................................................................................................................
Indicator Adaptive Moving Average 4942
Signals of the
................................................................................................................
Indicator Awesome Oscillator 4946
Signals of the Oscillator Bears Power
................................................................................................................ 4950
Signals of the Oscillator Bulls Power
................................................................................................................ 4952

© 2000-2018, MetaQuotes Software Corp.


57 Conteúdo

Signals of the
................................................................................................................
Oscillator Commodity Channel Index 4954
Signals of the Oscillator DeMar k er
................................................................................................................ 4958
Signals of the
................................................................................................................
Indicator Double Exponential Moving Average 4962
Signals of the
................................................................................................................
Indicator Envelopes 4966
Signals of the Indicator Fractal Adaptive Moving Average
................................................................................................................ 4969
Signals of the Intraday Time Filter
................................................................................................................ 4973
Signals of the
................................................................................................................
Oscillator MACD 4975
Signals of the
................................................................................................................
Indicator Moving Average 4981
Signals of the
................................................................................................................
Indicator Parabolic SAR 4985
Signals of the
................................................................................................................
Oscillator Relative Strength Index 4987
Signals of the Oscillator Relative V igor Index
................................................................................................................ 4993
Signals of the
................................................................................................................
Oscillator Stochastic 4995
Signals of the
................................................................................................................
Oscillator Triple Exponential Average 5000
Signals of the
................................................................................................................
Indicator Triple Exponential Moving Average 5004
Signals of the Oscillator W illiams Percent Range
................................................................................................................ 5008
Classes .........................................................................................................................
de Trailing Stop 5011
CTrailing FixedPips
................................................................................................................ 5012
StopLevel ........................................................................................................... 5014
ProfitLevel........................................................................................................... 5015
V alidationSettings
........................................................................................................... 5016
Chec k TrailingStopLong
........................................................................................................... 5017
Chec k TrailingStopShort
........................................................................................................... 5018
CTrailingMA................................................................................................................ 5019
Period ........................................................................................................... 5021
Shift ........................................................................................................... 5022
Method ........................................................................................................... 5023
Applied ........................................................................................................... 5024
InitIndicators
........................................................................................................... 5025
V alidationSettings
........................................................................................................... 5026
Chec k TrailingStopLong
........................................................................................................... 5027
Chec k TrailingStopShort
........................................................................................................... 5028
CTrailingNone................................................................................................................ 5029
Chec k TrailingStopLong
........................................................................................................... 5030
Chec k TrailingStopShort
........................................................................................................... 5031
CTrailingPSAR................................................................................................................ 5032
Step ........................................................................................................... 5034
Maximum ........................................................................................................... 5035
InitIndicators
........................................................................................................... 5036
Chec k TrailingStopLong
........................................................................................................... 5037
Chec k TrailingStopShort
........................................................................................................... 5038
de Gerenciamento de Dinheiro
Classes ......................................................................................................................... 5039
CMoney FixedLot
................................................................................................................ 5040
Lots ........................................................................................................... 5042
V alidationSettings
........................................................................................................... 5043
Chec k OpenLong
........................................................................................................... 5044
Chec k OpenShort
........................................................................................................... 5045
CMoney FixedMargin
................................................................................................................ 5046
Chec k OpenLong
........................................................................................................... 5047
Chec k OpenShort
........................................................................................................... 5048
CMoney FixedRis k
................................................................................................................ 5049
Chec k OpenLong
........................................................................................................... 5050
Chec k OpenShort
........................................................................................................... 5051
CMoneyNone ................................................................................................................ 5052
V alidationSettings
........................................................................................................... 5053
Chec k OpenLong
........................................................................................................... 5054
Chec k OpenShort
........................................................................................................... 5055
CMoneySizeOptimized
................................................................................................................ 5056
DecreaseFactor
........................................................................................................... 5058

© 2000-2018, MetaQuotes Software Corp.


58 Conteúdo

V alidationSettings
........................................................................................................... 5059
Chec k OpenLong
........................................................................................................... 5060
Chec k OpenShort
........................................................................................................... 5061
Painéis e c............................................................................................................................5062
aixas de diálogo
CRect ......................................................................................................................... 5064
Left ................................................................................................................ 5065
Top ................................................................................................................ 5066
Right ................................................................................................................ 5067
Bottom ................................................................................................................ 5068
W idth ................................................................................................................ 5069
Height ................................................................................................................ 5070
Set Bound ................................................................................................................ 5071
Move ................................................................................................................ 5072
Shift ................................................................................................................ 5073
Contains ................................................................................................................ 5074
Format ................................................................................................................ 5075
CDateTime......................................................................................................................... 5076
MonthName................................................................................................................ 5078
ShortMonthName................................................................................................................ 5079
DayName ................................................................................................................ 5080
ShortDayName ................................................................................................................ 5081
DaysInMonth ................................................................................................................ 5082
DateTime ................................................................................................................ 5083
Date ................................................................................................................ 5084
Time ................................................................................................................ 5085
Sec ................................................................................................................ 5086
Min ................................................................................................................ 5087
Hour ................................................................................................................ 5088
Day ................................................................................................................ 5089
Mon ................................................................................................................ 5090
Y ear ................................................................................................................ 5091
SecDec ................................................................................................................ 5092
SecInc ................................................................................................................ 5093
MinDec ................................................................................................................ 5094
MinInc ................................................................................................................ 5095
HourDec ................................................................................................................ 5096
HourInc ................................................................................................................ 5097
DayDec ................................................................................................................ 5098
DayInc ................................................................................................................ 5099
MonDec ................................................................................................................ 5100
MonInc ................................................................................................................ 5101
Y earDec ................................................................................................................ 5102
Y earInc ................................................................................................................ 5103
C W nd ......................................................................................................................... 5104
Create ................................................................................................................ 5108
Destroy ................................................................................................................ 5109
OnEvent ................................................................................................................ 5110
OnMouseEvent ................................................................................................................ 5111
Name ................................................................................................................ 5112
ControlsTotal ................................................................................................................ 5113
Control ................................................................................................................ 5114
ControlFind................................................................................................................ 5115
Rect ................................................................................................................ 5116
Left ................................................................................................................ 5117
Top ................................................................................................................ 5118
Right ................................................................................................................ 5119
Bottom ................................................................................................................ 5120
W idth ................................................................................................................ 5121

© 2000-2018, MetaQuotes Software Corp.


59 Conteúdo

Height ................................................................................................................ 5122


Move ................................................................................................................ 5123
Shift ................................................................................................................ 5124
Resize ................................................................................................................ 5125
Contains ................................................................................................................ 5126
Alignment ................................................................................................................ 5127
Align ................................................................................................................ 5128
Id ................................................................................................................ 5129
IsEnabled ................................................................................................................ 5130
Enable ................................................................................................................ 5131
Disable ................................................................................................................ 5132
Is V isible ................................................................................................................ 5133
V isible ................................................................................................................ 5134
Show ................................................................................................................ 5135
Hide ................................................................................................................ 5136
IsActive ................................................................................................................ 5137
Activate ................................................................................................................ 5138
Deactivate................................................................................................................ 5139
StateFlags ................................................................................................................ 5140
StateFlagsSet ................................................................................................................ 5141
StateFlagsReset................................................................................................................ 5142
PropFlags ................................................................................................................ 5143
PropFlagsSet ................................................................................................................ 5144
PropFlagsReset ................................................................................................................ 5145
MouseX ................................................................................................................ 5146
MouseY ................................................................................................................ 5147
MouseFlags................................................................................................................ 5148
MouseFocus................................................................................................................
Kill 5149
OnCreate ................................................................................................................ 5150
OnDestroy ................................................................................................................ 5151
OnMove ................................................................................................................ 5152
OnResize ................................................................................................................ 5153
OnEnable ................................................................................................................ 5154
OnDisable ................................................................................................................ 5155
OnShow ................................................................................................................ 5156
OnHide ................................................................................................................ 5157
OnActivate................................................................................................................ 5158
OnDeactivate ................................................................................................................ 5159
OnClic k ................................................................................................................ 5160
OnChange ................................................................................................................ 5161
OnMouseDown ................................................................................................................ 5162
OnMouseUp................................................................................................................ 5163
OnDragStart ................................................................................................................ 5164
OnDragProcess ................................................................................................................ 5165
OnDragEnd................................................................................................................ 5166
DragObjectCreate
................................................................................................................ 5167
DragObjectDestroy
................................................................................................................ 5168
C W ndObj ......................................................................................................................... 5169
OnEvent ................................................................................................................ 5171
Text ................................................................................................................ 5172
Color ................................................................................................................ 5173
Color Bac k ground
................................................................................................................ 5174
Color Border................................................................................................................ 5175
Font ................................................................................................................ 5176
FontSize ................................................................................................................ 5177
ZOrder ................................................................................................................ 5178
OnObjectCreate ................................................................................................................ 5179
OnObjectChange ................................................................................................................ 5180

© 2000-2018, MetaQuotes Software Corp.


60 Conteúdo

OnObjectDelete
................................................................................................................ 5181
OnObjectDrag ................................................................................................................ 5182
OnSetText ................................................................................................................ 5183
OnSetColor................................................................................................................ 5184
Bac k ground
OnSetColor................................................................................................................ 5185
OnSet Font ................................................................................................................ 5186
OnSet FontSize
................................................................................................................ 5187
OnSet ZOrder ................................................................................................................ 5188
OnDestroy ................................................................................................................ 5189
OnChange ................................................................................................................ 5190
C W ndContainer
......................................................................................................................... 5191
Destroy ................................................................................................................ 5193
OnEvent ................................................................................................................ 5194
OnMouseEvent ................................................................................................................ 5195
ControlsTotal................................................................................................................ 5196
Control ................................................................................................................ 5197
ControlFind................................................................................................................ 5198
Add ................................................................................................................ 5199
Delete ................................................................................................................ 5200
Move ................................................................................................................ 5201
Shift ................................................................................................................ 5202
Id ................................................................................................................ 5203
Enable ................................................................................................................ 5204
Disable ................................................................................................................ 5205
Show ................................................................................................................ 5206
Hide ................................................................................................................ 5207
MouseFocus................................................................................................................
Kill 5208
Save ................................................................................................................ 5209
Load ................................................................................................................ 5210
OnResize ................................................................................................................ 5211
OnActivate................................................................................................................ 5212
OnDeactivate ................................................................................................................ 5213
CLabel ......................................................................................................................... 5214
Create ................................................................................................................ 5219
OnSetText ................................................................................................................ 5220
OnSetColor................................................................................................................ 5221
OnSet Font ................................................................................................................ 5222
OnSet FontSize
................................................................................................................ 5223
OnCreate ................................................................................................................ 5224
OnShow ................................................................................................................ 5225
OnHide ................................................................................................................ 5226
OnMove ................................................................................................................ 5227
C BmpButton
......................................................................................................................... 5228
Create ................................................................................................................ 5235
Border ................................................................................................................ 5236
BmpNames ................................................................................................................ 5237
BmpOffName ................................................................................................................ 5238
BmpOnName ................................................................................................................ 5239
BmpPassiveName
................................................................................................................ 5240
BmpActiveName................................................................................................................ 5241
Pressed ................................................................................................................ 5242
Loc k ing ................................................................................................................ 5243
OnSet ZOrder ................................................................................................................ 5244
OnCreate ................................................................................................................ 5245
OnShow ................................................................................................................ 5246
OnHide ................................................................................................................ 5247
OnMove ................................................................................................................ 5248
OnChange ................................................................................................................ 5249

© 2000-2018, MetaQuotes Software Corp.


61 Conteúdo

OnActivate................................................................................................................ 5250
OnDeactivate ................................................................................................................ 5251
OnMouseDown ................................................................................................................ 5252
OnMouseUp................................................................................................................ 5253
C Button......................................................................................................................... 5254
Create ................................................................................................................ 5261
Pressed ................................................................................................................ 5262
Loc k ing ................................................................................................................ 5263
OnSetText ................................................................................................................ 5264
OnSetColor................................................................................................................ 5265
Bac k ground
OnSetColor................................................................................................................ 5266
Border
OnSetColor................................................................................................................ 5267
OnSet Font ................................................................................................................ 5268
OnSet FontSize
................................................................................................................ 5269
OnCreate ................................................................................................................ 5270
OnShow ................................................................................................................ 5271
OnHide ................................................................................................................ 5272
OnMove ................................................................................................................ 5273
OnResize ................................................................................................................ 5274
OnMouseDown ................................................................................................................ 5275
OnMouseUp................................................................................................................ 5276
CEdit ......................................................................................................................... 5277
Create ................................................................................................................ 5282
ReadOnly ................................................................................................................ 5283
TextAlign ................................................................................................................ 5284
OnObjectEndEdit
................................................................................................................ 5285
OnSetText ................................................................................................................ 5286
OnSetColor................................................................................................................ 5287
Bac k ground
OnSetColor................................................................................................................ 5288
Border
OnSetColor................................................................................................................ 5289
OnSet Font ................................................................................................................ 5290
OnSet FontSize
................................................................................................................ 5291
OnSet ZOrder ................................................................................................................ 5292
OnCreate ................................................................................................................ 5293
OnShow ................................................................................................................ 5294
OnHide ................................................................................................................ 5295
OnMove ................................................................................................................ 5296
OnResize ................................................................................................................ 5297
OnChange ................................................................................................................ 5298
OnClic k ................................................................................................................ 5299
CPanel ......................................................................................................................... 5300
Create ................................................................................................................ 5305
BorderType................................................................................................................ 5306
OnSetText ................................................................................................................ 5307
Bac k ground
OnSetColor................................................................................................................ 5308
Border
OnSetColor................................................................................................................ 5309
OnCreate ................................................................................................................ 5310
OnShow ................................................................................................................ 5311
OnHide ................................................................................................................ 5312
OnMove ................................................................................................................ 5313
OnResize ................................................................................................................ 5314
OnChange ................................................................................................................ 5315
CPicture......................................................................................................................... 5316
Create ................................................................................................................ 5321
Border ................................................................................................................ 5322
BmpName ................................................................................................................ 5323
OnCreate ................................................................................................................ 5324
OnShow ................................................................................................................ 5325

© 2000-2018, MetaQuotes Software Corp.


62 Conteúdo

OnHide ................................................................................................................ 5326


OnMove ................................................................................................................ 5327
OnChange ................................................................................................................ 5328
CScroll ......................................................................................................................... 5329
Create ................................................................................................................ 5331
OnEvent ................................................................................................................ 5332
MinPos ................................................................................................................ 5333
MaxPos ................................................................................................................ 5334
CurrPos ................................................................................................................ 5335
CreateBac k................................................................................................................ 5336
CreateInc ................................................................................................................ 5337
CreateDec ................................................................................................................ 5338
CreateThumb ................................................................................................................ 5339
OnClic k Inc ................................................................................................................ 5340
OnClic k Dec................................................................................................................ 5341
OnShow ................................................................................................................ 5342
OnHide ................................................................................................................ 5343
OnChangePos ................................................................................................................ 5344
OnThumbDragStart
................................................................................................................ 5345
OnThumbDragProcess
................................................................................................................ 5346
OnThumbDragEnd
................................................................................................................ 5347
CalcPos ................................................................................................................ 5348
CScrollV......................................................................................................................... 5349
CreateInc ................................................................................................................ 5355
CreateDec ................................................................................................................ 5356
CreateThumb ................................................................................................................ 5357
OnResize ................................................................................................................ 5358
OnChangePos ................................................................................................................ 5359
OnThumbDragStart
................................................................................................................ 5360
OnThumbDragProcess
................................................................................................................ 5361
OnThumbDragEnd
................................................................................................................ 5362
CalcPos ................................................................................................................ 5363
CScrollH......................................................................................................................... 5364
CreateInc ................................................................................................................ 5370
CreateDec ................................................................................................................ 5371
CreateThumb ................................................................................................................ 5372
OnResize ................................................................................................................ 5373
OnChangePos ................................................................................................................ 5374
OnThumbDragStart
................................................................................................................ 5375
OnThumbDragProcess
................................................................................................................ 5376
OnThumbDragEnd
................................................................................................................ 5377
CalcPos ................................................................................................................ 5378
C W ndClient
......................................................................................................................... 5379
Create ................................................................................................................ 5382
OnEvent ................................................................................................................ 5383
Color Bac k ground
................................................................................................................ 5384
Color Border................................................................................................................ 5385
BorderType................................................................................................................ 5386
V Scrolled ................................................................................................................ 5387
HScrolled ................................................................................................................ 5388
CreateBac k................................................................................................................ 5389
CreateScroll V
................................................................................................................ 5390
CreateScroll H
................................................................................................................ 5391
OnResize ................................................................................................................ 5392
OnV ScrollShow
................................................................................................................ 5393
OnV ScrollHide
................................................................................................................ 5394
OnHScrollShow................................................................................................................ 5395
OnHScrollHide................................................................................................................ 5396

© 2000-2018, MetaQuotes Software Corp.


63 Conteúdo

OnScrollLineDown
................................................................................................................ 5397
OnScrollLineUp ................................................................................................................ 5398
OnScrollLineLeft
................................................................................................................ 5399
OnScrollLineRight
................................................................................................................ 5400
Rebound ................................................................................................................ 5401
CList V iew
......................................................................................................................... 5402
Create ................................................................................................................ 5408
OnEvent ................................................................................................................ 5409
TotalV iew ................................................................................................................ 5410
AddItem ................................................................................................................ 5411
Select ................................................................................................................ 5412
Select ByText ................................................................................................................ 5413
Select By V alue
................................................................................................................ 5414
V alue ................................................................................................................ 5415
CreateRow................................................................................................................ 5416
OnResize ................................................................................................................ 5417
OnV ScrollShow ................................................................................................................ 5418
OnV ScrollHide ................................................................................................................ 5419
OnScrollLineDown
................................................................................................................ 5420
OnScrollLineUp ................................................................................................................ 5421
k
OnItemClic................................................................................................................ 5422
Redraw ................................................................................................................ 5423
RowState ................................................................................................................ 5424
Chec kV iew................................................................................................................ 5425
Box
CCombo......................................................................................................................... 5426
Create ................................................................................................................ 5432
OnEvent ................................................................................................................ 5433
AddItem ................................................................................................................ 5434
List V iewItems................................................................................................................ 5435
Select ................................................................................................................ 5436
Select ByText ................................................................................................................ 5437
Select By V alue
................................................................................................................ 5438
V alue ................................................................................................................ 5439
CreateEdit................................................................................................................ 5440
CreateButton ................................................................................................................ 5441
CreateList ................................................................................................................ 5442
OnClic k Edit................................................................................................................ 5443
OnClic kButton ................................................................................................................ 5444
OnChangeList ................................................................................................................ 5445
ListShow ................................................................................................................ 5446
List Hide ................................................................................................................ 5447
CChec kB .........................................................................................................................
ox 5448
Create ................................................................................................................ 5454
OnEvent ................................................................................................................ 5455
Text ................................................................................................................ 5456
Color ................................................................................................................ 5457
Chec k ed ................................................................................................................ 5458
V alue ................................................................................................................ 5459
CreateButton ................................................................................................................ 5460
CreateLabel ................................................................................................................ 5461
OnClic kButton ................................................................................................................ 5462
OnClic k Label ................................................................................................................ 5463
CChec kG .........................................................................................................................
roup 5464
Create ................................................................................................................ 5470
OnEvent ................................................................................................................ 5471
AddItem ................................................................................................................ 5472
V alue ................................................................................................................ 5473
CreateButton ................................................................................................................ 5474

© 2000-2018, MetaQuotes Software Corp.


64 Conteúdo

OnV ScrollShow................................................................................................................ 5475


OnV ScrollHide................................................................................................................ 5476
OnScrollLineDown
................................................................................................................ 5477
OnScrollLineUp................................................................................................................ 5478
OnChangeItem ................................................................................................................ 5479
Redraw ................................................................................................................ 5480
RowState ................................................................................................................ 5481
CRadioB.........................................................................................................................
utton 5482
Create ................................................................................................................ 5484
OnEvent ................................................................................................................ 5485
Text ................................................................................................................ 5486
Color ................................................................................................................ 5487
State ................................................................................................................ 5488
CreateButton ................................................................................................................ 5489
CreateLabel ................................................................................................................ 5490
OnClic kButton................................................................................................................ 5491
OnClic k Label................................................................................................................ 5492
CRadioG.........................................................................................................................
roup 5493
Create ................................................................................................................ 5499
OnEvent ................................................................................................................ 5500
AddItem ................................................................................................................ 5501
V alue ................................................................................................................ 5502
CreateButton ................................................................................................................ 5503
OnV ScrollShow................................................................................................................ 5504
OnV ScrollHide................................................................................................................ 5505
OnScrollLineDown
................................................................................................................ 5506
OnScrollLineUp................................................................................................................ 5507
OnChangeItem ................................................................................................................ 5508
Redraw ................................................................................................................ 5509
RowState ................................................................................................................ 5510
Select ................................................................................................................ 5511
CSpinEdit
......................................................................................................................... 5512
Create ................................................................................................................ 5517
OnEvent ................................................................................................................ 5518
MinV alue ................................................................................................................ 5519
Max V alue ................................................................................................................ 5520
V alue ................................................................................................................ 5521
CreateEdit................................................................................................................ 5522
CreateInc ................................................................................................................ 5523
CreateDec ................................................................................................................ 5524
OnClic k Inc ................................................................................................................ 5525
OnClic k Dec................................................................................................................ 5526
OnChangeV................................................................................................................
alue 5527
CDialog ......................................................................................................................... 5528
Create ................................................................................................................ 5531
OnEvent ................................................................................................................ 5532
Caption ................................................................................................................ 5533
Add ................................................................................................................ 5534
CreateW hite Border
................................................................................................................ 5535
CreateBac k................................................................................................................
ground 5536
CreateCaption ................................................................................................................ 5537
CreateButtonClose
................................................................................................................ 5538
CreateClientArea
................................................................................................................ 5539
OnClic k Caption
................................................................................................................ 5540
OnClic kButtonClose
................................................................................................................ 5541
ClientAreaV................................................................................................................
isible 5542
ClientAreaLeft................................................................................................................ 5543
ClientAreaTop ................................................................................................................ 5544

© 2000-2018, MetaQuotes Software Corp.


65 Conteúdo

ClientAreaRight
................................................................................................................ 5545
ClientAreaB................................................................................................................
ottom 5546
ClientAreaW ................................................................................................................
idth 5547
ClientAreaH................................................................................................................
eight 5548
OnDialogDragStart
................................................................................................................ 5549
OnDialogDragProcess
................................................................................................................ 5550
OnDialogDragEnd
................................................................................................................ 5551
CAppDialog
......................................................................................................................... 5552
Create ................................................................................................................ 5555
Destroy ................................................................................................................ 5556
OnEvent ................................................................................................................ 5557
Run ................................................................................................................ 5558
ChartEvent................................................................................................................ 5559
Minimized ................................................................................................................ 5560
IniFileSave ................................................................................................................ 5561
IniFileLoad................................................................................................................ 5562
IniFileName................................................................................................................ 5563
IniFileExt ................................................................................................................ 5564
CreateCommon ................................................................................................................ 5565
CreateExpert ................................................................................................................ 5566
CreateIndicator
................................................................................................................ 5567
CreateButtonMinMax
................................................................................................................ 5568
OnClic kButtonClose
................................................................................................................ 5569
OnClic kButtonMinMax
................................................................................................................ 5570
OnAnotherApplicationClose
................................................................................................................ 5571
Rebound ................................................................................................................ 5572
Minimize ................................................................................................................ 5573
Maximize ................................................................................................................ 5574
CreateInstanceId
................................................................................................................ 5575
ProgramName ................................................................................................................ 5576
SubwinOff ................................................................................................................ 5577
30 Migrando do .................................................................................................
MQL4 5578
31 List of MQL5 .................................................................................................
Functions 5582
32 List of MQL5 .................................................................................................
Constants 5609

© 2000-2018, MetaQuotes Software Corp.


66

Manual MQL5
A MetaQuotes Language 5 (MQL5) é uma linguagem de programação para indicadores técnicos, para
robôs de negociação e para aplicativos auxiliares, providenciando automatização da negociação nos
mercados financeiros. A MQL5 é uma linguagem moderna de alto nível desenvolvida pela MetaQuotes
Software Corp. para a sua própria plataforma de negociação. A sintaxe da linguagem é tão próxima
quanto possível da C++ e permite escrever programas no estilo da programação orientada a objetos
(POO).

Para escrever programas em MQL5, a plataforma de negociação vem com o ambiente de


desenvolvimento do MetaEditor que tem todo um conjunto de modernas ferramentas para escrita de
códigos, incluindo modelos, trechos de código, depuração, criação de perfis, preenchimento
automático e armazenamento de versão integrado MQL5 Storage.

O suporte e o desenvolvimento da linguagem são realizados no site da MQL5.community. Nele existe


uma extensa biblioteca de códigos gratuitos e muitos artigos. Estes artigos abrangem todos os tópicos
da negociação moderna: redes neurais, estatísticas e análise, negociação de alta frequência,
arbitragem, testes e otimização de estratégias de negociação, uso de robôs para automatizar a
negociação e muito mais.

T raders e desenvolvedores de programas MQL5 podem interagir no fórum, realizar encomendas no


serviço Freelance, comprar e vender programas seguros no Mercado - uma loja de aplicativos prontos
para negociação automática.

A linguagem MQL5 contém funções de negociação especializadas e manipuladores de ventos pré-


definidos para escrita de Expert Advisors. Os Expert Advisors gerenciam automaticamente os
processos de negociação com base nas regras comerciais estabelecidas neles. Você também pode criar
em MQL5 seus próprios indicadores técnicos, scripts e bibliotecas de funções.

O manual MQL5 contém - divididas por categorias - funções, operações, palavras reservadas e outras
construções da linguagem. Além disso, permite encontrar a descrição de cada elemento da linguagem.
T ambém o manual descreve as classes da Biblioteca padrão para criar estratégias de negociação,
painéis de controle, gráficos personalizados e trabalhar com arquivos.

Separadamente do manual, o CodeBase dispõe de uma biblioteca de análise numérica AL GL IB que


permite resolver inúmeros problemas matemáticos.

Tipos de aplicativos em MQL5


A fim de executar tarefas específicas para automatizar operações de negociação, os programas MQL5
são divididos em quatro tipos especializados :

· Expert Advisor — sistema de negociação automática que está ligado a um gráfico específico. O
Expert Advisor contém as funções manipuladoras dos eventos predefinidos que, ao ocorrerem,
desencadeiam os respectivos elementos da estratégia de negociação. Esses eventos podem ser a
inicialização e a desinicialização do programa, a chegada de um novo tick , a ativação do
temporizador, a mudança no livro de ofertas, nos eventos do gráfico e nos eventos do usuário.
O Expert Advisor pode, além de calcular sinais de negociação segundo as regras estabelecidas,
realizar trades automaticamente na conta de negociação, direcionando-os diretamente para o
servidor de negociação. Os Expert Advisor são armazenados no
<diretório_do_terminal>\MQL5\Experts .

© 2000-2018, MetaQuotes Software Corp.


67

· Indicador personalizado — indicador técnico escrito pelo usuário, além dos indicadores já
integrados na plataforma de negociação. Os indicadores personalizados, assim como os indicadores
embutidos, não podem ser trocados automaticamente e se destinam apenas à implementação de
funções analíticas. Os indicadores personalizados podem usar os valores de outros indicadores em
seus cálculos, e eles próprios podem ser chamados nos próprios Expert Advisors.
Os indicadores personalizados são armazenados no <diretório_do_terminal>\MQL5\Indicators.
· Script — programa projetado para a execução única de certa ação. Ao contrário dos Expert
Advisors, os scripts não lidam com eventos, exceto com aqueles que são de inicialização e
desinicialização. Para executar o script em seu código, deve haver uma função manipulador
OnStart. Os scripts são armazenados no <diretório_do_terminal>\MQL5\Scripts.
· Biblioteca — biblioteca de funções personalizadas projetada para armazenar e distribuir blocos -
usados com frequência - de programas do usuário. As bibliotecas não podem ser executadas por
conta própria.
As bibliotecas são armazenadas no <As bibliotecas não podem ser executadas por conta
própria.>\MQL5\Libraries
· Arquivo de inclusão — código fonte de blocos - usados com frequência - de programas do usuário.
Esses arquivos podem ser incluídos nos códigos fonte de Expert Advisors, de scripts, de indicadores
personalizados e de bibliotecas durante fase de compilação. Devido à sobrecarga adicional ao
chamar funções de biblioteca, é melhor usar arquivos de inclusão do que bibliotecas.
Arquivos de inclusão podem estar no mesmo diretório que o código fonte, neste caso é usada a
diretiva #include com aspas duplas. Outro local para armazenar os arquivos de inclusão está no
<diretório_do_terminal>\MQL5\Include, neste caso, é utilizada a diretiva #include com colchetes
angulares.

© 2000-2018, MetaQuotes Software Corp.

© 2000-2018, MetaQuotes Software Corp.


68 Elementos Básicos da Linguagem

Elementos Básicos da Linguagem


A Linguagem MetaQuotes 5 (MQL5) é uma linguagem orientado a objetos de alto nível destinado para
escrever estratégias de negociação automatizadas, e indicadores técnicos customizados para a a
análise de vários mercados financeiros. Ele permite não somente escrever uma variedade de sistemas
especialistas, concebidos para operar em tempo real, mas também criar suas próprias ferramentas
gráficas para ajudar você a tomar decis ões de negociação (trade).

MQL5 é baseado no conceito da popular linguagem de programação C++. Em comparação com MQL 4, a
nova linguagem tem agora enumeradores, estruturas, classes e manipulação de evento. Ao aumentar
o número de tipos principais incorporados, a interação dos programas executáveis em MQL5 com
outros aplicativos através de dll é agora tão fácil quanto possível. A sintaxe do MQL5 é similar à
sintaxe do C++, e isso faz com que seja fácil traduzir para ele programas de linguagens modernas de
programação.

Para ajudar você a estudar a linguagem MQL5, todos os tópicos estão agrupados nas seguintes seções :

· Sintaxe

· T ipos de Dados

· Operações e Express ões

· Operadores

· Funções

· Variáveis

· Preprocessador

· Programação Orientada a Objetos

© 2000-2018, MetaQuotes Software Corp.


69 Elementos Básicos da Linguagem

Sintaxe
Quanto à sintaxe, a linguagem MQL5 para programação de estratégias de negociação é muito similar à
linguagem de programação C++, com exceção de alguns recursos :

· aus ência de aritmética com endereço

· aus ência do operador goto

· um enumerador anônimo não pode ser declarado

· aus ência de herança múltipla

Também Veja
Enumeradores, Estruturas e Classes, H erança

© 2000-2018, MetaQuotes Software Corp.


70 Elementos Básicos da Linguagem

Comentários
Comentários de múltiplas linhas começam com o par de símbolos /* e terminam com o par */. Este
tipo de comentário não pode ser aninhado. Comentários de linha única começam com o par de
símbolos // e terminam com o caractere newline, eles podem ser aninhados em outros comentários de
múltiplas linhas. Comentários são permitidos em todos os lugares onde os espaços são permitidos,
eles podem conter qualquer número de espaços.

Exemplos:
//--- Comentário de linha única
/* Comentário
  de múltiplas // Comentário de linha única aninhada
  linhas
*/

© 2000-2018, MetaQuotes Software Corp.


71 Elementos Básicos da Linguagem

Identificadores
I dentificadores são usados como nomes de variáveis e funções. O comprimento de um identificador
não pode exceder 63 caracteres.

Caracteres permitidos na formação de um identificador: números 0-9, as letras maiúsculas e


minúsculas latinas a-z e A-Z, reconhecidos como caracteres diferentes, o caractere sublinhado (_). O
primeiro caractere não pode ser um dígito.

O identificador não deve coincidir com uma palavra reservada.

Exemplos:
NAME1 namel Total_5 Paper

Também Veja
Variáveis, Funções

© 2000-2018, MetaQuotes Software Corp.


72 Elementos Básicos da Linguagem

Palavras Reservadas
Os seguintes identificadores são registrados como palavras reservadas, cada uma delas corresponde a
uma certa ação, e não pode ser usada com outro significado:

Tipos de Dados

bool enum struct

char float uchar

class int uint

color long ulong

datetime short ushort

double string void

Especificadores de Acesso

const private protected

public virtual

Classes de Memória

extern input static

Operadores

break dynamic_cast return

case else sizeof

continue for switch

default if while

delete new

do operator

Outros

false #define #property

this #import template

© 2000-2018, MetaQuotes Software Corp.


73 Elementos Básicos da Linguagem

true #include typename

© 2000-2018, MetaQuotes Software Corp.


74 Elementos Básicos da Linguagem

Tipos de Dados
Qualquer programa funciona com dados. Os dados podem ser de diferentes tipos dependendo da sua
finalidade. Por exemplo, dados inteiros são usados para acessar componentes de arrays. Dados de
preço pertencem ao tipo de dupla precisão com ponto flutuante. Isso está relacionado ao fato de que
nenhum tipo de dados especial para detalhes de preço é fornecido pelo MQL5.

Dados de diferentes tipos são processados com diferentes taxas. Dados inteiros são os de
processamento mais rápido. Para processar dados de dupla precisão, um co-processador especial é
utilizado. No entanto, por causa da complexidade da representação interna de dados com ponto
flutuante, eles são processados mais devagar que os dados inteiros.

Dados do tipo string são os de processamento mais lento por causa da alocação/realocação dinâmica
de memória de computador.

Os tipos básicos de dado são:

· inteiros (char, short, int, long, uchar, ushort, uint, ulong);

· lógico (bool);

· literais (ushort);

· strings (string);

· números com ponto flutuante (double, float);

· cor (color);

· data e hora(datetime);

· enumeradores (enum).

Os tipos complexos de dado são:

· estruturas ;

· classes.

Em termos de OOP tipos de dados complexos são chamados de tipos de dados abstratos.

Os tipos color e datetime fazem sentido apenas para facilitar a entrada e visualização de parâmetros
definidos do lado de fora - a partir da tabela de um Expert Advisor ou propriedades de um indicador
customizado (o guia Entradas). Dados de cor (color) e data e hora (datetime) são representados como
inteiros. T ipos inteiros e tipos de ponto flutuante são chamados tipos aritméticos (numéricos).

Apenas convers ões de tipo (type casting) implícitas são usadas em express ões, a menos que uma
conversão (casting) explícita seja especificado.

Também Veja
Conversão de T ipo (Typecasting)

© 2000-2018, MetaQuotes Software Corp.


75 Elementos Básicos da Linguagem

Tipos Inteiros
Em MQL5, os inteiros são representados por onze tipos. Alguns tipos podem ser utilizados em conjunto
com outros tipos, se exigido pela lógica do programa, mas neste caso é necessário lembrar as regras
de conversão de tipos.

A tabela abaixo lista as características de cada tipo. Além disso, a última coluna apresenta o tipo
correspondente em C++ para cada tipo.

Tipo Tamanho em Valor Mínimo Valor Máximo C++ Análogo


Bytes
char 1 -128 127 char

uchar 1 0 255 unsigned char,


BYT E

bool 1 0(false) 1(true) bool

short 2 -32 768 32 767 short, wchar_t

ushort 2 0 65 535 unsigned short,


W ORD

int 4 - 2 147 483 648 2 147 483 647 int

uint 4 0 4 294 967 295 unsigned int,


DW ORD

color 4 -1 16 777 215 int, COLORR EF

long 8 -9 223 372 036 9 223 372 036 __int64


854 775 808 854 775 807

ulong 8 0 18 446 744 073 unsigned __int64


709 551 615

datetime 8 0 (1970.01.01 32 535 244 799 __time64_t


0:00:00) (3000.12.31
23:59:59)

Valores do tipo integer podem ser apresentados como constantes numéricas, literais de cor, literais de
data-hora, constantes de caractere e enumeradores.

Também Veja
Conversão de Dados, Constantes de T ipos Numéricos

© 2000-2018, MetaQuotes Software Corp.


76 Elementos Básicos da Linguagem

Tipos char, short, int e long


char
O tipo char usa 1 byte de memória (8 bits) e permite expressar em notação binária 2^8=256 valores. O
tipo char pode conter tanto valores positivos quanto negativos. A faixa de valores é de -128 a 127.

uchar
O tipo inteiro uchar também ocupa 1 byte de memória, assim como o tipo char , mas diferente dele
uchar é destinado apenas para valores positivos. O valor mínimo é zero, o valor máximo é 255. A
primeira letra u no nome do tipo uchar é abreviatura de unsigned (sem sinal).

short
O tamanho do tipo short é de 2 bytes (16 bits) e, conseqüentemente, ele permite expressar a faixa de
valores igual a 2 elevado a 16: 2^16 = 65 536. Como o tipo short é um tipo com sinal, e contém tanto
valores positivos quanto negativos, a faixa de valores é entre -32 768 e 32 767.

ushort
O tipo short sem sinal é o tipo ushort, que também tem 2 bytes de tamanho. O valor mínimo é 0, o
valor máximo é 65 535.

int
O tamanho do tipo int é de 4 bytes (32 bits). O valor mínimo é -2 147 483 648, o valor máximo é 2 147
483 647.

uint
O tipo integer sem sinal é uint. Ele usa 4 bytes de memória e permite expressar inteiros de 0 a 4 294
967 295.

long
O tamanho do tipo long é de 8 bytes (64 bits). O valor mínimo é -9 223 372 036 854 775 808, o valor
máximo é 9 223 372 036 854 775 807.

ulong
O tipo ulong também ocupa 8 bytes e pode armazenar valores de 0 a 18 446 744 073 709 551 615.

Exemplos:
char ch=12;
short sh=-5000;
int in=2445777;

© 2000-2018, MetaQuotes Software Corp.


77 Elementos Básicos da Linguagem

Como os tipo inteiros sem sinal não são concebidos para armazenar valores negativos, a tentativa de
atribuir um valor negativo pode levar a conseqüências inesperadas. Este simples script levará a um
loop infinito:

//--- Loop infinito


void OnStart()
{
uchar u_ch;

for(char ch=-128;ch<128;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
}
}

A variante correta é:

//--- Variante correta


void OnStart()
{
uchar u_ch;

for(char ch=-128;ch<=127;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
if(ch==127) break;
}
}

Resultado:
ch= -128 u_ch= 128
ch= -127 u_ch= 129
ch= -126 u_ch= 130
ch= -125 u_ch= 131
ch= -124 u_ch= 132
ch= -123 u_ch= 133
ch= -122 u_ch= 134
ch= -121 u_ch= 135
ch= -120 u_ch= 136
ch= -119 u_ch= 137
ch= -118 u_ch= 138
ch= -117 u_ch= 139
ch= -116 u_ch= 140
ch= -115 u_ch= 141
ch= -114 u_ch= 142
ch= -113 u_ch= 143
ch= -112 u_ch= 144

© 2000-2018, MetaQuotes Software Corp.


78 Elementos Básicos da Linguagem

ch= -111 u_ch= 145


...

Exemplos:
//--- Valores negativos não podem ser armazenados em tipos sem sinal
uchar u_ch=-120;
ushort u_sh=-5000;
uint u_in=-401280;

H exadecimal: números 0-9, as letras a-f ou A-F para os valores de 10-15; começam com 0x ou 0X.

Exemplos:
0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7

For integer variables, the values can be set in binary form using B prefix. For example, you can encode
the work ing hours of a trading session into int type variable and use information about them according
to the required algorithm:

//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- set 1 for working hours and 0 for nonworking ones
int AsianSession =B'111111111'; // Asian session from 0:00 to 9:00
int EuropeanSession=B'111111111000000000'; // European session 9:00 - 18:00
int AmericanSession =B'111111110000000000000011'; // American session 16:00 - 02:00
//--- derive numerical values of the sessions
PrintFormat("Asian session hours as value =%d",AsianSession);
PrintFormat("European session hours as value is %d",EuropeanSession);
PrintFormat("American session hours as value is %d",AmericanSession);
//--- and now let's display string representations of the sessions' working hours
Print("Asian session ",GetHoursForSession(AsianSession));
Print("European session ",GetHoursForSession(EuropeanSession));
Print("American session ",GetHoursForSession(AmericanSession));
//---
}
//+------------------------------------------------------------------+
//| return the session's working hours as a string |
//+------------------------------------------------------------------+
string GetHoursForSession(int session)
{
//--- in order to check, use AND bit operations and left shift by 1 bit <<=1
//--- start checking from the lowest bit
int bit=1;
string out="working hours: ";
//--- check all 24 bits starting from the zero one and up to 23 inclusively
for(int i=0;i<24;i++)

© 2000-2018, MetaQuotes Software Corp.


79 Elementos Básicos da Linguagem

{
//--- receive bit state in number
bool workinghour=(session&bit)==bit;
//--- add the hour's number to the message
if(workinghour )out=out+StringFormat("%d ",i);
//--- shift by one bit to the left to check the value of the next one
bit<<=1;
}
//--- result string
return out;
}

Também Veja
Conversão de T ipo (Typecasting)

© 2000-2018, MetaQuotes Software Corp.


80 Elementos Básicos da Linguagem

Constantes de Caracteres
Os caracteres como elementos de uma string,em MQL5, são índices do conjunto de caracteres
Unicode. Eles são valores hexadecimais que podem ser convertidos para inteiros, e que podem ser
manipulados por operações com inteiros como adição e subtração.

Qualquer caractere único entre aspas simples ou um código hexadecimal ASCII de um caractere como
'\ x 10' é um caractere constante e é do tipo ushort. Por exemplo, uma anotação do tipo '0' representa o
valor numérico 30, que corresponde ao índice do zero na tabela de caracteres.

Exemplo:
void OnStart()
{
//--- define constantes de caracteres
int symbol_0='0';
int symbol_9=symbol_0+9; // obtém o símbolo '9'
//--- valores de saída de constantes
printf("Num formato decimal: symbol_0 = %d, symbol_9 = %d",symbol_0,symbol_9);
printf("Num formato hexadecimal: symbol_0 = 0x%x, symbol_9 = 0x%x",symbol_0,symbol_9);
//--- entrada de constantes em uma string
string test="";
StringSetCharacter(test,0,symbol_0);
StringSetCharacter(test,1,symbol_9);
//--- isso é como eles se apresentam em uma string
Print(test);
}

Uma barra invertida (\ ) é um caractere de controle para o compilador ao lidar com strings constantes e
constantes caracteres no texto fonte de um programa. Alguns símbolos, por exemplo uma aspas
simples ('), aspas duplas (" ), barra invertida (\) e caracteres de controle podem ser representados
como combinação de símbolos que começam com uma barra invertida (\), de acordo com a tabela
abaixo:

Nome do Caractere Código Mnemônico Anotação em MQL5 Valor Numérico


ou imagem
linha nova (line feed) LF '\ n' 10

tab horizontal HT '\ t' 9

retorno de carro CR '\ r' 13

barra invertida \ '\\' 92

aspas simples ' '\'' 39

aspas duplas " '\"' 34

código hexadecimal hhhh '\ xhhhh' 1 a 4 caracteres


hexadecimais

© 2000-2018, MetaQuotes Software Corp.


81 Elementos Básicos da Linguagem

código decimal d '\ d' número decimal de 0


a 65535

Caso uma barra invertida seja seguida por outro caractere não descrito acima, o resultado é
indefinido.

Exemplo
void OnStart()
{
//--- declara constantes de caracteres
int a='A';
int b='$';
int c='©'; // código 0xA9
int d='\xAE'; // código do símbolo ®
//--- saída imprime constantes
Print(a,b,c,d);
//--- acrescenta um caractere na string
string test="";
StringSetCharacter(test,0,a);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,b);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,c);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,d);
Print(test);
//--- representa caracteres como número
int a1=65;
int b1=36;
int c1=169;
int d1=174;
//--- acrescenta um caractere na string
StringSetCharacter(test,1,a1);
Print(test);
//--- acrescenta um caractere na string
StringSetCharacter(test,1,b1);
Print(test);
//--- acrescenta um caractere na string
StringSetCharacter(test,1,c1);
Print(test);
//--- acrescenta um caractere na string
StringSetCharacter(test,1,d1);
Print(test);
}

© 2000-2018, MetaQuotes Software Corp.


82 Elementos Básicos da Linguagem

Como foi mencionado acima, o valor de uma constante caractere (ou variável) é o valor do índice na
tabela de caracteres. Sendo o índice um inteiro, pode ser escrito de diferentes maneiras.

void OnStart()
{
//---
int a=0xAE; // o código de ® corresponde ao literal '\xAE'
int b=0x24; // o código de $ corresponde ao literal '\x24'
int c=0xA9; // o código de © corresponde ao literal '\xA9'
int d=0x263A; // o código de ☺ corresponde ao literal '\x263A'
//--- mostrar valores
Print(a,b,c,d);
//--- acrescenta um caractere na string
string test="";
StringSetCharacter(test,0,a);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,b);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,c);
Print(test);
//--- substitui um caractere na string
StringSetCharacter(test,0,d);
Print(test);
//--- código de terno cartão
int a1=0x2660;
int b1=0x2661;
int c1=0x2662;
int d1=0x2663;
//--- acrescenta um caractere de espadas
StringSetCharacter(test,1,a1);
Print(test);
//--- acrescenta um caractere de copas
StringSetCharacter(test,2,b1);
Print(test);
//--- acrescenta um caractere de ouros
StringSetCharacter(test,3,c1);
Print(test);
//--- acrescenta um caractere de paus
StringSetCharacter(test,4,d1);
Print(test);
//--- Exemplo de literais de caractere em uma string
test="Rainha\x2660Ás\x2662";
printf("%s",test);
}

A representação internal de um literal de caractere é do tipo ushort. Constantes de caracteres podem


aceitar valores de 0 a 65535.

© 2000-2018, MetaQuotes Software Corp.


83 Elementos Básicos da Linguagem

Também Veja
StringSetCharacter(), String GetCharacter(), ShortT oString(), ShortArrayT oString(),
String T oShortArray()

© 2000-2018, MetaQuotes Software Corp.


84 Elementos Básicos da Linguagem

Tipo datetime
O tipo datetime é destinado a armazenar data e hora como o número de segundos decorridos desde 01
de Janeiro de 1970. Este tipo ocupa 8 bytes de memória.

Constantes de data e hora podem ser representados como string literal, que consiste de 6 partes
mostrando o valor numérico do ano, mês, dia (ou dia, mês, ano), horas, minutos e segundos. A
constante é colocado entre aspas simples e começa com o caractere D.

Os valores variam de 1 de Janeiro de 1970 a 31 de Dezembro de 3000. T anto a data (ano, mês, dia)
quanto a hora (horas, minutos, segundos), ou ambos podem ser omitidos.

Na especificação da data literal , é desejável que você especifique ano, mês e dia. Caso contrário, o
compilador retorna um aviso sobre entrada incompleta.

Exemplos:
datetime NY=D'2015.01.01 00:00'; // Data Hora de começo do ano 2015
datetime d1=D'1980.07.19 12:30:27'; // Ano Mês Dia Horas Minutos Segundos
datetime d2=D'19.07.1980 12:30:27'; // Igual a D'1980.07.19 12:30:27';
datetime d3=D'19.07.1980 12'; // Igual a D'1980.07.19 12:00:00'
datetime d4=D'01.01.2004'; // Igual a D'01.01.2004 00:00:00'
datetime compilation_date=__DATE__; // Data de Compilação
datetime compilation_date_time=__DATETIME__; // Data e Hora de Compilação
datetime compilation_time=__DATETIME__-__DATE__;// Hora de Compilação
//--- Exemplos de declarações após o qual avisos do compilador serão retornados
datetime warning1=D'12:30:27'; // Igual a D'[data de compilação] 12:30:27'
datetime warning2=D''; // Igual a __DATETIME__

Também Veja
Estrutura do T ipo Data, Data e H ora, T imeT oString, String T oT ime

© 2000-2018, MetaQuotes Software Corp.


85 Elementos Básicos da Linguagem

Tipo color
O tipo color é destinado para armazenar informações sobre cor e ocupa 4 bytes na memória. O
primeiro byte é ignorado, os restantes 3 bytes contém os componentes RGB.

As constantes de cor podem ser representadas de três formas : literalmente, por inteiros, ou por nome
(somente por W eb-colors nomeados).

A representação literal consiste de três partes representando os valores numéricos das taxas dos três
principais componentes de cor: vermelho, verde e azul. A constante começa com C e colocada entre
aspas simples. Os valores numéricos da taxa de um componente de cor ficam entre 0 e 255.

A representação dos valores inteiros é escrito na forma de um número hexadecimal ou decimal. Um


número hexadecimal tem a forma 0x 00BBGGRR , onde RR é a taxa do componente da cor vermelha
(R ed), GG - da cor verde (Green), e BB - da cor azul (Blue). As constantes decimais não são
diretamente refletidos no RGB. Eles representam um valor decimal da representação hexadecimal de
inteiros.

Cores específicas refletem o chamado conjunto de W eb-colors.

Exemplos:
//--- Literais
C'128,128,128' // Cinza
C'0x00,0x00,0xFF' // Azul
//nomes de cores
clrRed // Vermelho
clrYellow // Amarelo
clrBlack // Preto
//--- Representações integrais
0xFFFFFF // Branco
16777215 // Branco
0x008000 // Verde
32768 // Verde

Também Veja
W eb Colors, ColorT oString, String T oColor, Conversão de T ipo (Typecasting)

© 2000-2018, MetaQuotes Software Corp.


86 Elementos Básicos da Linguagem

Tipo bool
O tipo bool é destinado para armazenar os valores lógicos true ou false, a representação numérica
deles é 1 ou 0, respectivamente.

Exemplos:
bool a = true;
bool b = false;
bool c = 1;

A representação internal é um número inteiro de 1 byte de tamanho. Deve-se notar que em express ões
lógicas é possível usar outros tipos reais ou inteiros ou express ões desses tipos - o compilador não irá
gerar qualquer erro. Neste caso, o valor zero será interpretado como false (falso), e todos os outros
valores - como true (verdadeiro).

Exemplos:
int i=5;
double d=-2.5;
if(i) Print("i = ",i," e tem valor true");
else Print("i = ",i," e tem valor false");

if(d) Print("d = ",d," e tem o valor true");


else Print("d = ",d," e tem o valor false");

i=0;
if(i) Print("i = ",i," e tem o valor true");
else Print("i = ",i,"e tem o valor false");

d=0.0;
if(d) Print("d = ",d," e tem o valor true");
else Print("d = ",d," e tem o valor false");

//--- Resultados da execução


// i= 5 e tem o valor true
// d= -2.5 e tem o valor true
// i= 0 e tem o valor false
// d= 0 e tem o valor false

Também Veja
Operações Booleanas, R egras de Precedência

© 2000-2018, MetaQuotes Software Corp.


87 Elementos Básicos da Linguagem

Enumeradores
Dados do tipo enum pertencem a um determinado conjunto limitado de dados. Definindo o tipo
enumerador:

enum nome do tipo enumerável


{
  lista de valores
};

A lista de valores é uma lista de identificadores de constantes nomeados separados por vírgulas.

Exemplo:
enum months // enumeração de constantes nomeados
{
January,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
};

Após a enumeração ser declarada, um novo tipo de dados de inteiro de 4 bytes aparece. A declaração
do novo tipo de dados permite ao compilador controlar rigidamente os tipos de parâmetros passados,
porque a enumeração introduz novas constantes nomeadas. No exemplo acima, a constante nomeada
January tem valor igual a 0, February - 1, December - 11.

Rule: Se um certo valor não estiver atribuído a uma constante nomeada que é membro da
enumeração, seu novo valor será formado automaticamente. Se ele é o primeiro membro da
enumeração, o valor 0 será atribuído a ele. Para todos os subseqüentes membros, os valores serão
calculados baseados no valor dos membros anteriores adicionando um.

Exemplo:
enum intervals // Enumeração de constantes nomeadas
{
month=1, // Intervalo de um mês
two_months, // Dois meses
quarter, // Três meses - trimestre
halfyear=6, // Semestre
year=12, // Ano - 12 meses
};

© 2000-2018, MetaQuotes Software Corp.


88 Elementos Básicos da Linguagem

Observações
· Diferente do C++, o tamanho da representação interna do tipo enumerado no MQL5 é sempre igual a
4 bytes. Ou seja, sizeof(months) retorna o valor 4.
· Diferente do C++, uma enumeração anônima não pode ser declarada no MQL5. Ou seja, um nome
único deve ser sempre especificado após a palavra-chave enum.

Também Veja
Conversão de T ipo (Typecasting)

© 2000-2018, MetaQuotes Software Corp.


89 Elementos Básicos da Linguagem

Tipos Reais (double, float)


T ipos R eais (ou tipos de ponto flutuante) representam valores com um parte fracionária. Na linguagem
MQL5 existem dois tipos para números de ponto flutuante. O método de representação dos números
reais na memória do computador é definido pelo padrão IEEE 754 e é independente de plataformas,
sistemas operacionais ou linguagens de programação.

Tipo Tamanho em Valor Positivo Valor Máximo C++ Análogo


bytes Mínimo
float 4 1.175494351e-38 3.402823466e+3 float
8

double 8 2.225073858507 1.797693134862 double


2014e-308 3158e+308

O nome double significa que a precisão destes números é duas vezes a precisão dos números do tipo
float. Na maioria dos casos, o tipo double é o tipo mais conveniente. Em muitos casos a precisão
limitada de números float não é suficiente. O motivo do tipo float ser ainda utilizado é a economia de
memória (isto é importante para arrays grandes de números reais).

Constantes de ponto flutuante consistem de um parte inteira, um ponto (.) e a parte fracionária. As
partes inteira e fracionária são seqüências de algarismos decimais.

Exemplos:
double a=12.111;
double b=-956.1007;
float c =0.0001;
float d =16;

Existe uma forma científica de escrever constantes reais, frequentemente este método de notação é
mais compacta que a forma tradicional.

Exemplo:
double c1=1.12123515e-25;
double c2=0.000000000000000000000000112123515; // 24 zeros após o ponto decimal

Print("1. c1 =",DoubleToString(c1,16));
// Resultado: 1. c1 = 0.0000000000000000

Print("2. c1 =",DoubleToString(c1,-16));
// Resultado: 2. c1 = 1.1212351499999999e-025

Print("3. c2 =",DoubleToString(c2,-16));
// Resultado: 3. c2 = 1.1212351499999999e-025

Deve-se lembrar que números reais são armazenados em memória com precisão limitada no sistema
binário, apesar da notação decimal ser geralmente usada. É por isso que muitos números que são
precisamente representados no sistema decimal só podem ser escritos como fração infinita no sistema
binário.

© 2000-2018, MetaQuotes Software Corp.


90 Elementos Básicos da Linguagem

Por exemplo, os números 0.3 e 0.7 são representados no computador como frações infinitas, enquanto
o número 0.25 é armazenado de forma exata, porque ele representa uma potência de dois.

Neste sentido, recomenda-se fortemente não comparar dois números com igualdade, porque tal
comparação não é correta.

Exemplo:
void OnStart()
{
//---
double three=3.0;
double x,y,z;
x=1/three;
y=4/three;
z=5/three;
if(x+y==z)
Print("1/3 + 4/3 == 5/3");
else
Print("1/3 + 4/3 != 5/3");
// Resultado: 1/3 + 4/3 != 5/3
}

Se você ainda precisa comparar com igualdade dois números reais, então você pode fazer isso de duas
maneiras diferentes. A primeira maneira é comparar a diferença entre dois números com alguma
quantidade pequena que especifica a precisão da comparação.

Exemplo:
bool EqualDoubles(double d1,double d2,double epsilon)
{
if(epsilon<0)
epsilon=-epsilon;
//---
if(d1-d2>epsilon)
return false;
if(d1-d2<-epsilon)
return false;
//---
return true;
}
void OnStart()
{
double d_val=0.7;
float f_val=0.7;
if(EqualDoubles(d_val,f_val,0.000000000000001))
Print(d_val," equals ",f_val);
else
Print("Diferente: d_val = ",DoubleToString(d_val,16)," f_val = ",DoubleToString(f_val,16));
// Resultado: Diferente: d_val= 0.7000000000000000 f_val= 0.6999999880790710
}

© 2000-2018, MetaQuotes Software Corp.


91 Elementos Básicos da Linguagem

Note que o valor de epsilon no exemplo acima pode ser menor que a constante predefinida
DBL _EPS I LON. O valor desta constante é 2.2204460492503131e-016. A constante correspondente ao
tipo float é FL T_EPS ILON = 1.192092896e-07. O significado destes valores é o seguinte: é o menor
valor que satisfaz a condição 1.0 + DBL _EPS ILON! = 1.0 (para números do tipo float 1.0 +
FL T_EPS I LON! = 1.0).

A segunda maneira compara a diferença normalizada de dois números reais com zero. Não faz sentido
comparar a diferença de números normalizados com zero, porque qualquer operação matemática com
números normalizados dá um resultado não normalizado.

Exemplo:
bool CompareDoubles(double number1,double number2)
{
if(NormalizeDouble(number1-number2,8)==0)
return(true);
else
return(false);
}
void OnStart()
{
double d_val=0.3;
float f_val=0.3;
if(CompareDoubles(d_val,f_val))
Print(d_val," iguais ",f_val);
else
Print("Diferente: d_val = ",DoubleToString(d_val,16)," f_val = ",DoubleToString(f_val,16));
// Resultado: Diferente: d_val= 0.3000000000000000 f_val= 0.3000000119209290
}

Algumas operações do co-processador matemático podem resultar em um número real inválido, o qual
não pode ser usado em operações matemáticas e operações de comparação, porque o resultado de
operações com números reais inválidos é indefinido. Por exemplo, quando tentar calcular o arco-seno
de 2, o resultado é infinito negativo.

Exemplo:
double abnormal = MathArcsin(2.0);
Print("MathArcsin(2.0) =",abnormal);
// Resulto: MathArcsin(2.0) = -1.#IND

Além do menos infinito, existe o mais infinito e o NaN (not a number). Para determinar se um número
é inválido, você pode usar MathIs ValidNumber(). De acordo com o padrão IEEE, eles tem uma
representação de máquina especial. Por exemplo, mais infinito para o tipo double tem a representação
binária de 0x 7FF0 0000 0000 0000.

Exemplos:
struct str1
{
double d;
};

© 2000-2018, MetaQuotes Software Corp.


92 Elementos Básicos da Linguagem

struct str2
{
long l;
};

//--- Começo
str1 s1;
str2 s2;
//---
s1.d=MathArcsin(2.0); // Obtém o número inválido -1.#IND
s2=s1;
printf("1. %f %I64X",s1.d,s2.l);
//---
s2.l=0xFFFF000000000000; // número inválido -1.#QNAN
s1=s2;
printf("2. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF7000000000000; // maior sem-número SNaN
s1=s2;
printf("3. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF8000000000000; // menor sem-número QNaN
s1=s2;
printf("4. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FFF000000000000; // maior sem-número QNaN
s1=s2;
printf("5. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF0000000000000; // // Infinito positivo 1.#INF e menor sem-número SNaN
s1=s2;
printf("6. %f %I64X",s1.d,s2.l);
//---
s2.l=0xFFF0000000000000; // Infinito negativo -1.#INF
s1=s2;
printf("7. %f %I64X",s1.d,s2.l);
//---
s2.l=0x8000000000000000; // Zero negativo -0.0
s1=s2;
printf("8. %f %I64X",s1.d,s2.l);
//---
s2.l=0x3FE0000000000000; // 0.5
s1=s2;
printf("9. %f %I64X",s1.d,s2.l);
//---
s2.l=0x3FF0000000000000; // 1.0
s1=s2;
printf("10. %f %I64X",s1.d,s2.l);
//---

© 2000-2018, MetaQuotes Software Corp.


93 Elementos Básicos da Linguagem

s2.l=0x7FEFFFFFFFFFFFFF; // Maior número normalizado (MAX_DBL)


s1=s2;
printf("11. %.16e %I64X",s1.d,s2.l);
//---
s2.l=0x0010000000000000; // Menor normalizado positivo (MIN_DBL)
s1=s2;
printf("12. %.16e %.16I64X",s1.d,s2.l);
//---
s1.d=0.7; // Mostra que o número 0.7 é uma fração sem fim
s2=s1;
printf("13. %.16e %.16I64X",s1.d,s2.l);
/*
1. -1.#IND00 FFF8000000000000
2. -1.#QNAN0 FFFF000000000000
3. 1.#SNAN0 7FF7000000000000
4. 1.#QNAN0 7FF8000000000000
5. 1.#QNAN0 7FFF000000000000
6. 1.#INF00 7FF0000000000000
7. -1.#INF00 FFF0000000000000
8. -0.000000 8000000000000000
9. 0.500000 3FE0000000000000
10. 1.000000 3FF0000000000000
11. 1.7976931348623157e+308 7FEFFFFFFFFFFFFF
12. 2.2250738585072014e-308 0010000000000000
13. 6.9999999999999996e-001 3FE6666666666666
*/

Também Veja
DoubleT oString, NormalizeDouble, Constantes de T ipos Numéricos

© 2000-2018, MetaQuotes Software Corp.


94 Elementos Básicos da Linguagem

Tipo string
O tipo string é usado para armazenar cadeias de texto. Uma cadeia de texto é uma seqüência de
caracteres no formato Unicode com zero no final do mesmo. Um constante string pode ser atribuído a
uma variável string. Uma constante string é uma seqüência de caracteres entre aspas duplas : "T his is
a string constant" .

Se for preciso incluir um aspas duplo (" ) em uma string, o caractere barra invertida (\) deve ser
colocada antes dele. Quaisquer constantes de caractere especial pode ser escrito em uma string, se o
caractere barra invertida (\) for digitado antes deles.

Exemplos:
string svar="Esta é uma character string";
string svar2=StringSubstr(svar,0,4);
Print("Símbolo de direitos autorais\t\x00A9");
FileWrite(handle,"Esta string contém uma nova linha de símbolos \n");
string MT5path="C:\\Program Files\\MetaTrader 5";

Para tornar o código fonte legível, longas strings de constantes podem ser divididas em partes sem a
operação de adição. Durante a compilação, estas partes serão combinadas em uma string longa:

//--- Declare uma longa string constante


string HTML_head="<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\""
" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
"<head>\n"
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n"
"<title>Trade Operations Report</title>\n"
"</head>";
//---Saída da string constante no log
Print(HTML_head);
}

Também Veja
Funções de Conversão, Funções de String, FileOpen, FileR eadString, FileW riteString

© 2000-2018, MetaQuotes Software Corp.


95 Elementos Básicos da Linguagem

Estruturas, Classes e Interfaces


Estruturas
Uma estrutura é um conjunto de elementos de qualquer tipo (exceto o tipo void). Portanto, a estrutura
combina dados logicamente relacionados de diferentes tipos.

Declaração da Estrutura
O tipo de dados estrutura é determinado pela seguinte descrição:

struct structure_name
{
elements_description
};

O nome da estrutura não pode ser usado como um identificador (nome de uma variável ou função).
Deve-se notar que em estruturas MQL5, os elementos seguem um ao outro diretamente, sem
alinhamento. Em C++ tal ordem é feita pelo compilador usando a seguinte instrução:

#pragma pack(1)

Se você quiser ter outro alinhamento na estrutura, use membros auxiliares, " fillers " (preenchedores)
para o tamanho certo.

Exemplo:
struct trade_settings
{
uchar slippage; // valor do tamanho do slippage admissível - 1 byte
char reserved1; // pula 1 byte
short reserved2; // pula 2 bytes
int reserved4; // outros 4 bytes são pulados. garantir um alinhamento de 8 bytes de limite
double take; // valores do preço de fixação de lucro
double stop; // valor do preço de stop de proteção
};

T al descrição de estruturas alinhadas é necessário somente para transferência de dados para funções
de dll importadas.

Atenção: Este exemplo ilustra dados incorretamente esquematizados. Seria melhor primeiro declarar o
take e stop de grandes volumes de dados do tipo double, e então declarar o membro slippage do tipo
uchar. Neste caso, a representação interna de dados será sempre a mesma, independentemente do
valor especificado no #pragma pack().

Se a estrutura contém variáveis do tipo string e/ou objeto de um array dinâmico, o compilador atribui
um construtor implícito para tal estrutura. Este construtor redefine todos os membros de tipo string
da estrutura e corretamente inicializa objetos do array dinâmico.

Estruturas Simples

© 2000-2018, MetaQuotes Software Corp.


96 Elementos Básicos da Linguagem

As estruturas contendo cadeias de caracteres, objetos de classe, ponteiros e objetos de matrizes


dinâmicas são chamadas de estruturas simples. As variáveis ​de estruturas simples e suas matrizes
podem ser transferidas ​como parâmetros para as funções importadas a partir de DLL.

Copiar e colar estruturas simples é permitido apenas em dois casos :

· se os objetos pertencem ao mesmo tipo de estrutura

· se os objetos são ligados por uma linha herança, isto é, uma estrutura é um descendente de uma
outra estrutura.

Mostraremos isso com ajuda de exemplos, criamos uma estrutura personalizada CustomMqlT ick
idêntica em composição à estrutura construída MqlT ick . O compilador não permitirá tentativas de
copiar e colar os valores do objeto MqlT ick no objeto de tipo CustomMqlT ick . A conversão direta para
o tipo desejado também causará um erro de compilação:

//--- copiar estruturas simples de diferentes tipos é restrito


my_tick1=last_tick; // aqui o compilador gerará um erro

//--- combinar estruturas de diferente tipo também é restrito


my_tick1=(CustomMqlTick)last_tick;// aqui o compilador gerará um erro

Portanto, resta só uma opção, isto é, copiar e colar os valores dos membros da estrutura elemento por
elemento. Mas, ao fazer isto, é permitido copiar e colar os valores dos objetos do mesmo
tipo CustomMqlT ick .

CustomMqlTick my_tick1,my_tick2;
//--- também é possível copiar e colar objetos da mesma estrutura CustomMqlTick
my_tick2=my_tick1;

//--- criamos uma matriz a partir de objetos da estrutura simples CustomMqlTick e registramos
CustomMqlTick arr[2];
arr[0]=my_tick1;
arr[1]=my_tick2;

Como um teste é chamada a função ArrayPrint() para exibir os valores da matriz arr[], no diário.

//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- criamos a mesma estrutura como a construída por MqlTick
struct CustomMqlTick
{
datetime time; // Tempo da última atualização dos preços
double bid; // Preço atual Bid
double ask; // Preço atual Ask
double last; // Preço atual da última transação (Last)
ulong volume; // Volume para o preço atual Last
long time_msc; // Hora da última atualização dos preços em milissegundos
uint flags; // Sinalizadores de ticks
};

© 2000-2018, MetaQuotes Software Corp.


97 Elementos Básicos da Linguagem

//--- obtemos os valores do último ticks


MqlTick last_tick;
CustomMqlTick my_tick1,my_tick2;
//--- tentamos colar e copiar os dados a partir do MqlTick no CustomMqlTick
if(SymbolInfoTick(Symbol(),last_tick))
{
//--- copiar e colar estruturas simples não aparentadas é restrito
//1. my_tick1=last_tick; // aqui o compilador gerará um erro

//--- combinar estruturas não aparentadas também é restrito


//2. my_tick1=(CustomMqlTick)last_tick;// aqui o compilador gerará um erro

//--- por isso copiamos e colamos os membros da estrutura elemento por elemento
my_tick1.time=last_tick.time;
my_tick1.bid=last_tick.bid;
my_tick1.ask=last_tick.ask;
my_tick1.volume=last_tick.volume;
my_tick1.time_msc=last_tick.time_msc;
my_tick1.flags=last_tick.flags;

//--- também é possível copiar e colar objetos da mesma estrutura CustomMqlTick


my_tick2=my_tick1;

//--- criamos uma matriz a partir de objetos da estrutura simples CustomMqlTick e registramos
CustomMqlTick arr[2];
arr[0]=my_tick1;
arr[1]=my_tick2;
ArrayPrint(arr);
//--- exemplo de exibição de valores de matriz contendo objetos do tipo CustomMqlTick
/*
[time] [bid] [ask] [last] [volume] [time_msc] [flags]
[0] 2017.05.29 15:04:37 1.11854 1.11863 +0.00000 1450000 1496070277157 2
[1] 2017.05.29 15:04:37 1.11854 1.11863 +0.00000 1450000 1496070277157 2
*/
}
else
Print("SymbolInfoTick() failed, error = ",GetLastError());
}

O segundo exemplo mostra a possibilidade de copiar e colar estruturas simples segundo linha de
herança. Assumamos que temos uma estrutura básica Animal, da qual são geradas - para herança - as
estruturas Cat e Dog. Nós podemos copiar e colar entre si mesmos os objetos Animal e Cat (ou Animal
e Dog), no entanto não podemos copiar e colar entre sim mesmos Cat e Dog, embora ambos sejam
descendentes da estrutura Animal.

//--- estrutura para descrever cães


struct Dog: Animal
{
bool hunting; // raça de caça

© 2000-2018, MetaQuotes Software Corp.


98 Elementos Básicos da Linguagem

};
//--- estrutura para descrição de gatos
struct Cat: Animal
{
bool home; // raça domestica
};
//--- criamos os objetos das subclasses
Dog dog;
Cat cat;
//--- é possível copiar no ancestral e colar no descendente (Animal ==> Dog)
dog=some_animal;
dog.swim=true; // cães sabem nadar
//--- é impossível copiar e colar objetos de subestruturas (Dog != Cat)
cat=dog; // aqui o compilador gerará um erro

Código completo de exemplo:

//--- estrutura básica para descrever animais


struct Animal
{
int head; // número de cabeças
int legs; // número de patas
int wings; // número de assas
bool tail; // presença de cauda
bool fly; // voa
bool swim; // nada
bool run; // corre
};
//--- estrutura para descrever cães
struct Dog: Animal
{
bool hunting; // raça de caça
};
//--- estrutura para descrição de gatos
struct Cat: Animal
{
bool home; // raça domestica
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- criamos um objeto do tipo básico Animal e descrevemo-lo
Animal some_animal;
some_animal.head=1;
some_animal.legs=4;
some_animal.wings=0;
some_animal.tail=true;

© 2000-2018, MetaQuotes Software Corp.


99 Elementos Básicos da Linguagem

some_animal.fly=false;
some_animal.swim=false;
some_animal.run=true;
//--- criamos os objetos dos subtipos
Dog dog;
Cat cat;
//--- é possível copiar no ancestral e colar no descendente (Animal ==> Dog)
dog=some_animal;
dog.swim=true; // cães sabem nadar
//--- é impossível copiar e colar objetos de subestruturas (Dog != Cat)
//cat=dog; // aqui o compilador gerará um erro
//--- por isso é possível copiar e colar apenas elemento por elemento
cat.head=dog.head;
cat.legs=dog.legs;
cat.wings=dog.wings;
cat.tail=dog.tail;
cat.fly=dog.fly;
cat.swim=false; // gatos não sabem nadar
//--- é possível copiar valores no descendente e colá-los no ancestral
Animal elephant;
elephant=cat;
elephant.run=false;// elefantes não sabem correr
elephant.swim=true;// elefantes nadam
//--- criamos uma matriz
Animal animals[4];
animals[0]=some_animal;
animals[1]=dog;
animals[2]=cat;
animals[3]=elephant;
//--- imprimimos
ArrayPrint(animals);
//--- resultado da execução
/*
[head] [legs] [wings] [tail] [fly] [swim] [run]
[0] 1 4 0 true false false true
[1] 1 4 0 true false true true
[2] 1 4 0 true false false false
[3] 1 4 0 true false true false
*/
}

Outro método para copiar e colar tipos simples consiste em utilizar associações, para fazer isto, os
objetos destas estruturas devem ser membros da mesma associação – veja o exemplo em union.

Acesso a Membros de Estrutura


A estrutura é um novo tipo de dados permitindo declarar variáveis deste tipo. A estrutura pode ser
declarado somente um vez dentro de um projeto. Os membros de estrutura são acessados usando a
operação ponto (.).

© 2000-2018, MetaQuotes Software Corp.


100 Elementos Básicos da Linguagem

Exemplo:
struct trade_settings
{
double take; // valor do preço de fixação do lucro
double stop; // valor do preço stop de proteção
uchar slippage; // valor do slippage admissível
};
//--- cria e inicializa uma variável do tipo trade_settings
trade_settings my_set={0.0,0.0,5};
if (input_TP>0) my_set.take=input_TP;

Modificador final
A presença do modificador final, ao declarar a estrutura, proíbe a herança a partir dela. Se a estrutura
não precisar de alterações futuras ou se essas alterações não se puderem levar a cabo por causa de
questões de segurança, declare-a usando o modificador final. Além disso, todos os membros da
estrutura também serão implicitamente considerados como final.

struct settings final


{
//--- corpo da estrutura
};

struct trade_settings : public settings


{
//--- corpo da estrutura
};

Como no exemplo acima, ao tentar herdar a partir da estrutura, usando o modificador final, o
compilador irá emitir um erro:

cannot inherit from 'settings' as it has been declared as 'final'


see declaration of 'settings'

Classes
As classes diferem das estruturas no seguinte:

· a palavra-chave class é usado na declaração;

· por default (padrão), todos os membros da classe têm especificador de acesso private, a menos que
seja indicado o contrário. Dados -membros da estrutura têm o tipo default de acesso como public, a
menos que seja indicado o contrário;
· objetos de classe sempre tem uma tabela de funções virtuais, mesmo que não existam funções
virtuais declaradas na classe. Estruturas não podem ter funções virtuais ;
· o operador new pode ser aplicado a objetos de classe; o operador this não pode ser aplicado a
estruturas ;
· classes pode ser herdados somente de classes, estruturas pode ser herdados somente de estruturas.

Classes e estruturas podem ter um construtor e destrutor explícitos. Se seu construtor for definido
explicitamente, a inicialização de uma variável de estrutura ou classe usando a seqüência de
inicialização é impossível.

© 2000-2018, MetaQuotes Software Corp.


101 Elementos Básicos da Linguagem

Exemplo:
struct trade_settings
{
double take; // valor do preço de fixação do lucro
double stop; // valor do preço stop de proteção
uchar slippage; // valor do slippage admissível
//--- Construtor
trade_settings() { take=0.0; stop=0.0; slippage=5; }
//--- Destrutor
~trade_settings() { Print("Este é o final"); }
};
//--- Compilador gerará uma mensagem de erro de que a inicialização é impossível
trade_settings my_set={0.0,0.0,5};

Construtores e Destrutores
Um construtor é uma função especial, que é chamada automaticamente ao se criar um objeto de uma
estrutura ou classe e normalmente é usado para inicializar membros da classe. Mais adiante,
falaremos sobre classes, tudo que for dito se aplica também a estruturas, a menos que seja indicado o
contrário. O nome de um construtor deve corresponder ao nome da classe. O construtor não tem tipo
de retorno (você pode especificar o tipo void).

Membros de classe definidos – strings, arrays dinâmicos e objetos que exigem inicialização – serão
inicializados em qualquer caso,independentemente de haver ou não um construtor.

Cada classe pode ter múltiplos construtores, diferindo pelo número de parâmetros e a lista de
inicialização. Um construtor que exige especificação de parâmetros é chamado um construtor
paramétrico.

Um construtor sem parâmetros é chamado um construtor default. Se nenhum construtor for


declarado em uma classe, o compilador cria um construtor default durante a compilação.

//+------------------------------------------------------------------+
//| Uma classe para trabalhar com uma data  |
//+------------------------------------------------------------------+
class MyDateClass
{
private:
int m_year; // Ano
int m_month; // Mês
int m_day; // Dia do mês
int m_hour; // Hora no dia
int m_minute; // Minutos
int m_second; // Segundos
public:
//--- Construtor default
MyDateClass(void);
//--- Construtor paramétrico
MyDateClass(int h,int m,int s);
};

© 2000-2018, MetaQuotes Software Corp.


102 Elementos Básicos da Linguagem

Um construtor pode ser declarado na descrição da classe e então seu corpo pode ser definido. Por
exemplo, dois construtores de M yDateClasse podem ser definidos da seguinte maneira:

//+------------------------------------------------------------------+
//| Construtor default  |
//+------------------------------------------------------------------+
MyDateClass::MyDateClass(void)
{
//---
MqlDateTime mdt;
datetime t=TimeCurrent(mdt);
m_year=mdt.year;
m_month=mdt.mon;
m_day=mdt.day;
m_hour=mdt.hour;
m_minute=mdt.min;
m_second=mdt.sec;
Print(__FUNCTION__);
}
//+------------------------------------------------------------------+
//| Construtor paramétrico  |
//+------------------------------------------------------------------+
MyDateClass::MyDateClass(int h,int m,int s)
{
MqlDateTime mdt;
datetime t=TimeCurrent(mdt);
m_year=mdt.year;
m_month=mdt.mon;
m_day=mdt.day;
m_hour=h;
m_minute=m;
m_second=s;
Print(__FUNCTION__);
}

No construtor default, todos os membros da classes são preenchidos usando a função T imeCurrent(),
no construtor paramétrico somente os valores de hora são preenchidos. Outros membros da classe
(m_year, m_month and m_day) serão inicializados automaticamente com a data corrente.

O construtor default tem um propósito especial ao inicializar um array de objetos de sua classe. Um
construtor, o qual todos o parâmetros têm valores default, não é um construtor default. Aqui está um
exemplo:

//+------------------------------------------------------------------+
//| Uma classe com um construtor default  |
//+------------------------------------------------------------------+
class CFoo
{

© 2000-2018, MetaQuotes Software Corp.


103 Elementos Básicos da Linguagem

datetime m_call_time; // Hora da última chamada ao objeto


public:
//--- Um construtor com um parâmetro que tem um valor default não é um construtor default
CFoo(const datetime t=0){m_call_time=t;};
//--- Um construtor copiador
CFoo(const CFoo &foo){m_call_time=foo.m_call_time;};

string ToString(){return(TimeToString(m_call_time,TIME_DATE|TIME_SECONDS));};
};
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)  |
//+------------------------------------------------------------------+
void OnStart()
{
// CFoo foo; // Esta variação não pode ser utilizada - um construtor default não foi definido
//--- Possíveis opções para criar o objeto CFoo
CFoo foo1(TimeCurrent()); // Uma explicita chamada de um construtor paramétrico
CFoo foo2(); // Uma explícita chamada de um construtor paramétrico com parâmetr
CFoo foo3=D'2009.09.09'; // Uma implícita chamada de um construtor paramétrico
CFoo foo40(foo1); // Uma explicita chamada de um construtor copiador
CFoo foo41=foo1; // Uma implícita chamada de um construtor copiador
CFoo foo5; // Uma explícita chamada de um construtor default (se não existir
// então um construtor paramétrico com um valor default é chamado)
//--- Possíveis opções para criar o objeto CFoo
CFoo *pfoo6=new CFoo(); // Criação dinâmica de um objeto e recepção de um ponteiro para el
CFoo *pfoo7=new CFoo(TimeCurrent());// Outra opções de criação dinâmica de objeto
CFoo *pfoo8=GetPointer(foo1); // Agora pfoo8 aponta para o objeto foo1
CFoo *pfoo9=pfoo7; // pfoo9 e pfoo7 apontam para o mesmo objeto
// CFoo foo_array[3]; // Esta opção não pode ser usado - um construtor default não foi e
//--- Mostra os valores de m_call_time
Print("foo1.m_call_time=",foo1.ToString());
Print("foo2.m_call_time=",foo2.ToString());
Print("foo3.m_call_time=",foo3.ToString());
Print("foo4.m_call_time=",foo4.ToString());
Print("foo5.m_call_time=",foo5.ToString());
Print("pfoo6.m_call_time=",pfoo6.ToString());
Print("pfoo7.m_call_time=",pfoo7.ToString());
Print("pfoo8.m_call_time=",pfoo8.ToString());
Print("pfoo9.m_call_time=",pfoo9.ToString());
//--- Exclui dinamicamente arrays criados
delete pfoo6;
delete pfoo7;
//delete pfoo8; // Você não precisa excluir pfoo8 explicitamente, já que ele aponta para o obje
//delete pfoo9; // Você não precisa excluir pfoo9 explicitamente, já que ele aponta para o mesm
}

Se você descomentar estas strings

  //CFoo foo_array[3]; // Esta variante não pode ser usada - um construtor default não está def

© 2000-2018, MetaQuotes Software Corp.


104 Elementos Básicos da Linguagem

ou

  //CFoo foo_dyn_array[]; // Esta variante não pode ser usada - um construtor default não está def

então o compilar retorná um erro para eles " default constructor is not defined" (construtor default não
definido).

Se uma classe tiver um construtor definido pelo usuário, o construtor padrão não é gerado pelo
compilador. Isso significa que se um construtor paramétrico é declarado em uma classe, mas um
construtor default não é declarado, você não pode declarar arrays de objetos desta classe. O
compilador retorná um erro para este script:

//+------------------------------------------------------------------+
//| Uma classe sem um construtor default  |
//+------------------------------------------------------------------+
class CFoo
{
string m_name;
public:
CFoo(string name) { m_name=name;}
};
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)  |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Obtém o erro "default constructor is not defined" durante compilação
CFoo badFoo[5];
}

Neste exemplo, a classe CFoo tem um construtor paramétrico declarado - em tais casos, o compilador
não cria um construtor default automaticamente durante compilação. Ao mesmo tempo quando você
declara um array de objetos, presume-se que todos os objetos devam se criados e inicializados
automaticamente. Durante a auto-inicialização de um objeto, é necessário chamar um construtor
default, mas já que o construtor default não foi explicitamente declarado e nem automaticamente
gerado pelo compilador, é impossível criar tal objeto. Por esta razão, o compilador gerou um error na
etapa de compilação.

Existe uma sintaxe especial para inicializar um objeto usando um construtor. Inicializadores de
membros de uma estrutura ou classe (construções especiais para inicialização) podem ser
especificados na lista de inicialização.

Uma lista de inicialização é uma lista de inicializadores separados por vírgulas, que seguem depois do
dois pontos (:), depois da lista de parâmetros de um construtor e precede o corpo (antes da abertura
de chave). H á vários requisitos :

· Listas de inicialização podem ser usados somente em construtores ;

· Membros paternos não podem ser inicializados na lista de inicialização;

· A lista de inicialização deve ser seguida por uma definição (implementação) de uma função.

Aqui está um exemplo de vários construtores para inicializações de membros de uma classe.

© 2000-2018, MetaQuotes Software Corp.


105 Elementos Básicos da Linguagem

//+------------------------------------------------------------------+
//| Uma classe para armazenar o nome de um caractere  |
//+------------------------------------------------------------------+
class CPerson
{
string m_first_name; // Primeiro nome
string m_second_name; // Segundo nome
public:
//--- Um construtor default vazio
CPerson() {Print(__FUNCTION__);};
//--- Um construtor paramétrico
CPerson(string full_name);
//--- Um construtor com uma lista de inicialização
CPerson(string surname,string name): m_second_name(surname), m_first_name(name
void PrintName(){PrintFormat("Name=%s Surname=%s",m_first_name,m_second_name);};
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
CPerson::CPerson(string full_name)
{
int pos=StringFind(full_name," ");
if(pos>=0)
{
m_first_name=StringSubstr(full_name,0,pos);
m_second_name=StringSubstr(full_name,pos+1);
}
}
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)  |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Obtém o erro "default constructor is not defined"
CPerson people[5];
CPerson Tom="Tom Sawyer"; // Tom Sawyer
CPerson Huck("Huckleberry","Finn"); // Huckleberry Finn
CPerson *Pooh = new CPerson("Winnie","Pooh"); // Winnie the Pooh
//--- Valores de sáida
Tom.PrintName();
Huck.PrintName();
Pooh.PrintName();

//--- Apaga um objeto criado dinamicamente


delete Pooh;
}

Neste caso, a classe CPerson tem três construtores :

1. Um construtor default explícito, que permite a criação de um array de objetos desta classe;

© 2000-2018, MetaQuotes Software Corp.


106 Elementos Básicos da Linguagem

2. Um construtor com um parâmetro, que recebe um nome completo como um parâmetro e divide
com o nome e segundo nome de acordo com o espaço encontrado;
3. Um construtor com dois parâmetros que contem uma lista de inicialização. I nicializadores -
m_second_name(surname) e m_first_name(name).

Note que a inicialização usando uma lista substitui uma atribuição. Membros individuais devem ser
inicializados como:

 class_member (uma lista de expressões)

Na lista de inicialização, membros podem aparecer em qualquer ordem, mas todos os membros da
classe serão inicializados de acordo com a ordem de sua aparição. Isso significa que no terceiro
construtor, primeiro o membro m_first_name será inicializado, já que ele aparece primeiro, e
somente depois m_second_name será inicializado. Isto será tomado em conta nos casos onde a
inicialização de alguns membros da classe depende dos valores em outros membros da classe.

Se um construtor default não for declarado na base base, e ao mesmo tempo um ou mais construtores
com parâmetros forem declarados, você deve sempre chamar um dos construtores da classe base na
lista de inicialização. Ele é passado com vírgula da mesma forma que membros comuns da lista e será
chamado primeiro durante a inicialização do objeto, não importando onde ele é colocado na lista de
inicialização.

//+------------------------------------------------------------------+
//| A classe base  |
//+------------------------------------------------------------------+
class CFoo
{
string m_name;
public:
//--- Um construtor com uma lista de inicialização
CFoo(string name) : m_name(name) { Print(m_name);}
};
//+------------------------------------------------------------------+
//| Uma classe derivada a partir de CFoo  |
//+------------------------------------------------------------------+
class CBar : CFoo
{
CFoo m_member; // Um membro de classe é um objeto do pai
public:
//--- O construtor default na lista de inicialização chama o construtor do pai
CBar(): m_member(_Symbol), CFoo("CBAR") {Print(__FUNCTION__);}
};
//+------------------------------------------------------------------+
//| Programa Script da função start (iniciar)  |
//+------------------------------------------------------------------+
void OnStart()
{
CBar bar;
}

© 2000-2018, MetaQuotes Software Corp.


107 Elementos Básicos da Linguagem

Neste exemplo, ao criar o objeto bar, um construtor default CBar() será chamado, no qual primeiro um
construtor do pai de CFoo é chamado, e então vem um construtor para o membro de classe
m_member.

Um destrutor é uma função especial que é chamado automaticamente quando um objeto de classe é
destruído. O nome do destrutor é escrito como nome de classe precedido de (~). Strings, arrays
dinâmicos e objetos, exigindo desinicialização, serão desinicializados de qualquer forma, não
importando se o destrutor estiver presente ou ausente. Se existir um destrutor, essas ações serão
executadas após chamar o destrutor.

Destrutores são sempre virtuais, não importando se eles são declarados com a palavra-chave virtual
ou não.

Definindo Métodos de Classe


Métodos de funções de classe podem ser definidos tanto dentro quanto fora da declaração de classe.
Se o método é definido dentro de uma classe, então seu corpo vem logo após a declaração do método.

Exemplo:
class CTetrisShape
{
protected:
int m_type;
int m_xpos;
int m_ypos;
int m_xsize;
int m_ysize;
int m_prev_turn;
int m_turn;
int m_right_border;
public:
void CTetrisShape();
void SetRightBorder(int border) { m_right_border=border; }
void SetYPos(int ypos) { m_ypos=ypos; }
void SetXPos(int xpos) { m_xpos=xpos; }
int GetYPos() { return(m_ypos); }
int GetXPos() { return(m_xpos); }
int GetYSize() { return(m_ysize); }
int GetXSize() { return(m_xsize); }
int GetType() { return(m_type); }
void Left() { m_xpos-=SHAPE_SIZE; }
void Right() { m_xpos+=SHAPE_SIZE; }
void Rotate() { m_prev_turn=m_turn; if(++m_turn>3) m_turn=0; }
virtual void Draw() { return; }
virtual bool CheckDown(int& pad_array[]);
virtual bool CheckLeft(int& side_row[]);
virtual bool CheckRight(int& side_row[]);
};

© 2000-2018, MetaQuotes Software Corp.


108 Elementos Básicos da Linguagem

Funções a partir de SetR ightBorder(int border) até Draw() são declarados e definidos diretamente
dentro da classe CT etrisShape.

O construtor CT etrisShape() e os métodos CheckDown(int& pad_array[]), Check Left(int& side_row[]) e


CheckR ight(int& side_row[]) são declarados somente dentro da classe, mas ainda não definidos. As
definições destas funções serão feitas mais adiante no código. A fim de definir o método do lado de
fora da classe, o operador de resolução de scope é usado, o nome da classe é usado como o escopo.

Exemplo:
//+------------------------------------------------------------------+
//| Construtor da classe básica  |
//+------------------------------------------------------------------+
void CTetrisShape::CTetrisShape()
{
m_type=0;
m_ypos=0;
m_xpos=0;
m_xsize=SHAPE_SIZE;
m_ysize=SHAPE_SIZE;
m_prev_turn=0;
m_turn=0;
m_right_border=0;
}
//+--------------------------------------------------------------------+
//| Verificação da capacidade de move para baixo (para a varra e cubo) |
//+--------------------------------------------------------------------+
bool CTetrisShape::CheckDown(int& pad_array[])
{
int i,xsize=m_xsize/SHAPE_SIZE;
//---
for(i=0; i<xsize; i++)
{
if(m_ypos+m_ysize>=pad_array[i]) return(false);
}
//---
return(true);
}

Modificadores de Acesso Public, Protected e Private


Quando desenvolver um nova classe, é recomendável restringir o acesso do lado de fora aos membros
da classe. São usadas palavras -chave privateouprotected para esta finalidade. Neste caso, dados
escondidos podem ser acessados somente a partir de métodos -funções da mesma classe. Se a palavra-
chave protected é usada, dados escondidos podem ser acessados também a partir de métodos de
classes herdeiras desta classe. O mesmo método pode ser usado para restringir o acesso de métodos -
funções de uma classe.

Se você precisar de acesso com abertura completa aos membros e/ou métodos de uma classe, use a
palavra-chave public.

© 2000-2018, MetaQuotes Software Corp.


109 Elementos Básicos da Linguagem

Exemplo:
class CTetrisField
{
private:
int m_score; // Contagem
int m_ypos; // Posição corrente das figuras
int m_field[FIELD_HEIGHT][FIELD_WIDTH]; // Boa matriz
int m_rows[FIELD_HEIGHT]; // Numeração das linhas boas
int m_last_row; // Última linha livre
CTetrisShape *m_shape; // Figura Tetris
bool m_bover; // Fim de jogo
public:
void CTetrisField() { m_shape=NULL; m_bover=false; }
void Init();
void Deinit();
void Down();
void Left();
void Right();
void Rotate();
void Drop();
private:
void NewShape();
void CheckAndDeleteRows();
void LabelOver();
};

Quaisquer membros de classe e métodos declarados após o especificador public: (e antes do próximo
especificador de acesso) ficam disponíveis para qualquer referência ao objeto da classe pelo
programa. Neste exemplo, existem os seguintes membros : funções CT etris Field(), Init(), Deinit(),
Down(), Left(), R ight(), R otate() e Drop().

Quaisquer membros de classe e métodos declarados após o especificador private: (e antes do próximo
especificador de acesso) ficam disponíveis somente para as funções -membros desta classe.
Especificadores de acesso a elementos sempre terminam com um dois pontos (:) e podem aparecer na
definição da classe várias vezes.

O acesso aos membros de uma classe base pode ser redefinido durante a herança nas classes
derivadas.

Modificador final
A presença do modificador final, ao declarar a classe, proíbe a herança a partir dela. Se a interface da
classe não precisar de alterações futuras ou se essas alterações não se puderem levar a cabo por causa
de questões de segurança, declare-a usando o modificador final. Além disso, todos os métodos da
classe também serão implicitamente considerados como final.

© 2000-2018, MetaQuotes Software Corp.


110 Elementos Básicos da Linguagem

class CFoo final


{
//--- corpo da classe
};

class CBar : public CFoo


{
//--- corpo da classe
};

Como no exemplo acima, ao tentar herdar a partir da classe, usando o modificador final, o compilador
irá emitir um erro:

cannot inherit from 'CFoo' as it has been declared as 'final'


see declaration of 'CFoo'

U niães (union)
A união é um tipo de dados especial que compreende uma série de variáveis que compartilham o
mesmo espaço de memória. Assim, a união permite interpretar a mesma sequência de bit de dois (ou
mais) formas diferentes. A declaração de união é semelhante a declarar estruturas e começa com a
palavra-chave union.

union LongDouble
{
long long_value;
double double_value;
};

Mas ao contrário das estruturas, diferentes membros de união pertencem ao mesmo local de memória.
Neste exemplo, é declarada a união Long Double, nela o tipo long e o valor do tipo double compartilham
a mesma região memória. É importante entender que é impossível fazer com que esta associação
armazene ao mesmo tempo um valor inteiro long e um verdadeiro double (como acontecia na
estrutura), porque as variáveis long _value e double_value são sobrepostas (na memória). Mas o
programa MQL5 a qualquer momento pode processar a informação contida nesta união, como um valor
inteiro (long) ou real (double). Assim, a união faz com que seja possível obter duas (ou mais)
variantes de representação da mesma série de dados.

Ao declarar a união, o compilador automaticamente aloca uma área de memória suficiente para
armazenar na união as maiores variáveis de acordo com o volume do tipo. Para acessar o elemento de
união, usa-se a mesma sintaxe como para as estruturas, isto é, operador ponto.

union LongDouble
{
long long_value;
double double_value;
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//---

© 2000-2018, MetaQuotes Software Corp.


111 Elementos Básicos da Linguagem

LongDouble lb;
//--- obtemos o número inválido -nan(ind) e exibimo-lo
lb.double_value=MathArcsin(2.0);
printf("1. double=%f integer=%I64X",lb.double_value,lb.long_value);
//--- maior número normalizado (DBL_MAX)
lb.long_value=0x7FEFFFFFFFFFFFFF;
printf("2. double=%.16e integer=%I64X",lb.double_value,lb.long_value);
//--- menor número positivo normalizado (DBL_MIN)
lb.long_value=0x0010000000000000;
printf("3. double=%.16e integer=%.16I64X",lb.double_value,lb.long_value);
}
/* Resultado da execução
1. double=-nan(ind) integer=FFF8000000000000
2. double=1.7976931348623157e+308 integer=7FEFFFFFFFFFFFFF
3. double=2.2250738585072014e-308 integer=0010000000000000
*/

Como as uniões permitem que o programa interprete os mesmos dados na memória de diferentes
maneiras, elas são frequentemente utilizadas em aplicações que requerem uma conversão de tipos
pouco comum.

As uniões não podem participar na herança, além disso, não podem ter membros estáticos por
definição. De resto union comporta-se como uma estrutura, em que todos os membros têm
deslocamento zero. Ao mesmo tempo, os membros de união não podem ser dos seguintes tipos :

· arrays dinâmicas

· strings

· ponteiros de objetos e funções

· classes de objetos

· estruturas de objeto que têm construtores ou destruidores

· estruturas de objeto com um membro a partir dos pontos 1-5

Como as classes, a união pode ter construtores e destruidores, bem como métodos. Por padrão, os
membros da união têm o tipo de acesso public<t2, para criar um elementos fechados necessárias para
usar a palavra-chave private. T odos esses recursos são mostrados no exemplo que mostra como
converter a cor do tipo color, no formato ARGB, como o faz a função ColorT oARGB().

//+------------------------------------------------------------------+
//| União para conversão de color(BGR) no formato ARGB |
//+------------------------------------------------------------------+
union ARGB
{
uchar argb[4];
color clr;
//--- construtores
ARGB(color col,uchar a=0){Color(col,a);};
~ARGB(){};
//--- métodos públicos
public:
uchar Alpha(){return(argb[3]);};

© 2000-2018, MetaQuotes Software Corp.


112 Elementos Básicos da Linguagem

void Alpha(const uchar alpha){argb[3]=alpha;};


color Color(){ return(color(clr));};
//--- métodos fechados
private:
//+------------------------------------------------------------------+
//| definição de cor e valor do canal-alfa |
//+------------------------------------------------------------------+
void Color(color col,uchar alpha)
{
//--- definimos a cor no membro clr
clr=col;
//--- definimos o valor do componente Alpha, isto é, o nível de opacidade
argb[3]=alpha;
//--- mudamos de lugar os bytes do componente R e B (Red e Blue)
uchar t=argb[0];argb[0]=argb[2];argb[2]=t;
};
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- o valor 0x55 significa 55/255=21.6 % (0% - totalmente transparente)
uchar alpha=0x55;
//--- o tipo color têm o formato 0x00BBGGRR
color test_color=clrDarkOrange;
//--- aqui entrarão os valores de bytes a partir da união ARGB
uchar argb[];
PrintFormat("0x%.8X - assim se vê o tipo color para %s, BGR=(%s)",
test_color,ColorToString(test_color,true),ColorToString(test_color));
//--- o tipo ARGB é apresentado como 0x00RRGGBB, mudados de lugar os componentes RR e BB
ARGB argb_color(test_color);
//--- copiamos o array de bytes
ArrayCopy(argb,argb_color.argb);
//--- vemos como fica no formato ARGB
PrintFormat("0x%.8X - presentação ARGB com alfa-canal=0x%.2x, ARGB=(%d,%d,%d,%d)",
argb_color.clr,argb_color.Alpha(),argb[3],argb[2],argb[1],argb[0]);
//--- adicionamos o valor de opacidade
argb_color.Alpha(alpha);
//--- tentamos imprimir ARGB como tipo color
Print("ARGB como color=(",argb_color.clr,") alfa-canal=",argb_color.Alpha());
//--- copiamos o array de bytes
ArrayCopy(argb,argb_color.argb);
//--- assim fica no formato ARGB
PrintFormat("0x%.8X - presentação ARGB com alfa-canal=0x%.2x, ARGB=(%d,%d,%d,%d)",
argb_color.clr,argb_color.Alpha(),argb[3],argb[2],argb[1],argb[0]);
//--- verificamos se é gerada a função ColorToARGB()
PrintFormat("0x%.8X - resultado ColorToARGB(%s,0x%.2x)",ColorToARGB(test_color,alpha),
ColorToString(test_color,true),alpha);

© 2000-2018, MetaQuotes Software Corp.


113 Elementos Básicos da Linguagem

}
/* Resultado da execução
0x00008CFF - assim se vê o tipocolor para clrDarkOrange, BGR=(255,140,0)
  0x00FF8C00 - presentação ARGB com alfa-canal=0x00, ARGB=(0,255,140,0)
ARGB como color=(0,140,255) alfa-canal=85
  0x55FF8C00 - presentação ARGB com alfa-canal=0x55, ARGB=(85,255,140,0)
0x55FF8C00 - resultado ColorToARGB(clrDarkOrange,0x55)
*/

Interfaces
A interface é projetada para determinar a funcionalidade específica que a classe pode implementar.
Na verdade, essa é uma classe que não pode conter nenhum membro e não pode ter um construtor
e/ou destrutor. T odos os métodos declarados na interface são normalmente virtuais, mesmo sem uma
definição explícita.

A interface é definida usando a palavra-chave interface, como é mostrado no exemplo a seguir:

//--- interface básica para descrever animais


interface IAnimal
{
//--- métodos da interface padrão têm acesso público
void Sound(); // som que produz o animal
};
//+------------------------------------------------------------------+
//| a classe CCat é herdada da interface IAnimal |
//+------------------------------------------------------------------+
class CCat : public IAnimal
{
public:
CCat() { Print("Cat was born"); }
~CCat() { Print("Cat is dead"); }
//--- implementamos o método Sound da interface IAnimal
void Sound(){ Print("meou"); }
};
//+------------------------------------------------------------------+
//| a classe CDog é herdada da interface IAnimal |
//+------------------------------------------------------------------+
class CDog : public IAnimal
{
public:
CDog() { Print("Dog was born"); }
~CDog() { Print("Dog is dead"); }
//--- implementamos o método Sound da interface IAnimal
void Sound(){ Print("guaf"); }
};
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+

© 2000-2018, MetaQuotes Software Corp.


114 Elementos Básicos da Linguagem

void OnStart()
{
//--- matriz do ponteiro para o objeto do tipo IAnimal
IAnimal *animals[2];
//--- geramos descendente IAnimal e salvamos os ponteiros para eles nas suas matrizes
animals[0]=new CCat;
animals[1]=new CDog;
//--- chamamos o método Sound() da interface base IAnimal para cada descendente
for(int i=0;i<ArraySize(animals);++i)
animals[i].Sound();
//--- removemos objetos
for(int i=0;i<ArraySize(animals);++i)
delete animals[i];
//--- resultado da execução
/*
Cat was born
Dog was born
meou
guaf
Cat is dead
Dog is dead
*/
}

Como as classes abstratas, não se deve criar o objeto da interface sem descendente. A interface pode
ser herdada apenas a partir de outras interfaces e pode se tornar descendente para a classe. Além
disso, a interface sempre tem visibilidade pública.

É impossível declarar a interface dentro da declaração da classe ou estrutura, porém é possível


armazenar o ponteiro para a interface na variável do tipo void *. De um modo geral, é possível
armazenar os ponteiros para objetos de qualquer classe na variável do tipo void *. Para converter um
ponteiro void * para outro ponteiro para um objeto de uma classe específica, é indispensável utilizar o
operador dynamic_cast. Quando a conversão é impossível, o resultado da operação dynamic_cast será
NULL.

Veja Também
Programação Orientada a Objetos

© 2000-2018, MetaQuotes Software Corp.


115 Elementos Básicos da Linguagem

Objeto Array Dinâmico


Arrays Dinâmicos
No máximo pode-se declarar arrays de 4 dimens ões. Quando declarar um array dinâmico (um array
sem valor especificado no primeiro par de colchetes), o compilador automaticamente cria uma
variável da estrutura acima (um objeto array dinâmico) e fornece um código para a correta
inicialização.

Arrays dinâmicos são automaticamente liberados quando ficam além da área de visibilidade do bloco
em que eles foram declarados.

Exemplo:
double matrix[][10][20]; // array dinâmico de 3 dimensões
ArrayResize(matrix,5); // define o tamanha da primeira dimensão

Arrays Estáticos
Quando todas as dimens ões significantes do array são explicitamente especificadas, o compilador pré-
aloca o tamanho de memória necessário. T al array é chamado estático. Contudo, o compilador aloca
memória adicional para o array dinâmico, que é associado ao buffer estático pré-alocado (parte da
memória para armazenar o array).

A criação de um objeto array dinâmico é devido a possível necessidade de passar este array estático
como parâmetro para alguma função.

Exemplos:
double stat_array[5]; // array estático de uma dimensão
some_function(stat_array);
...
bool some_function(double& array[])
{
if(ArrayResize(array,100)<0) return(false);
...
return(true);
}

Arrays em Estruturas
Quando um array estático é declarado como membro de uma estrutura, um objeto array dinâmico não
é criado. Isso é assim para assegurar compatibilidade com estruturas de dados usados em API's do
W indows.

Contudo, arrays estáticos que são declarados como membros de estruturas, podem também serem
passados para funções em MQL5. Neste caso, quando passar o parâmetro um objeto temporário de um
array dinâmico, conectado com o array estático - membro da estrutura, será criado.

Também Veja
Funções com Arrays, I nicialização de Variáveis, Visibilidade Escopo e T empo de Vida de Variáveis,
Criando e Excluindo Objetos

© 2000-2018, MetaQuotes Software Corp.


116 Elementos Básicos da Linguagem

Conversão de Tipo (Typecasting)


Conversão de Tipos Numéricos
Frequentemente surge a necessidade de converter um tipo numérico em outro. Nem todos os tipos
numéricos podem ser convertidos em outro. Aqui está o esquema de conversão permitida:

Linhas sólidas com setas indicam mudanças que são realizadas quase sem nenhuma perda de
informação. Ao invés do tipo char, o tipo bool pode ser usado (ambos ocupam 1 byte de memória), ao
invés do tipo int, o tipo color pode ser usado (4 bytes), ao invés do tipo long, datetime pode ser usado
(ocupa 8 bytes). As quatro linhas cinzentas tracejadas, também com setas, denotam conversão em
que a perda de precisão pode ocorrer. Por exemplo, o número de algarismos em um inteiro igual a
123456789 (int) é maior que o número de algarismos que podem ser representados por um float.

int n=123456789;
float f=n; // o conteúdo de f é igual a 1.234567892E8
Print("n = ",n," f = ",f);
// resultado n= 123456789 f= 123456792.00000

O número convertido em float tem a mesma ordem de grandeza, mas é menos preciso. Convers ões,
no sentido contrário das setas pretas, podem ser realizadas com possível perda de dados. Convers ões
entre char e uchar, short e ushort, int e uint, long e ulong (convers ões para ambos os lados), podem
levar a perda de dados.

Como resultado da conversão de valores de ponto flutuante para o tipo inteiro, a parte fracionária é
sempre excluída. Se você quiser arredondar um float para o inteiro mais próximo (que em muitos
casos é mais útil), você deve usar MathR ound().

Exemplo:
//--- Aceleração gravitacional
double g=9.8;
double round_g=(int)g;
double math_round_g=MathRound(g);
Print("round_g = ",round_g);
Print("math_round_g = ",math_round_g);
/*
  Resultado:
round_g = 9
math_round_g = 10
*/

© 2000-2018, MetaQuotes Software Corp.


117 Elementos Básicos da Linguagem

Se dois valores são combinados por um operador binário, antes da execução da operação, o operando
do tipo mais baixo é convertido para o do tipo mais alto, em concordância com a prioridade dada no
esquema abaixo:

Os tipos de dados char, uchar, short, e ushort incondicionalmente são convertido para o tipo int.

Exemplos:
char c1=3;
//--- Primeiro exemplo
double d2=c1/2+0.3;
Print("c1/2 + 0.3 = ",d2);
// Resultado: c1/2+0.3 = 1.3

//--- Segundo exemplo


d2=c1/2.0+0.3;
Print("c1/2.0 + 0.3 = ",d2);
// Resultado: c1/2.0+0.3 = 1.8

A expressão calculada consiste de duas operações. No primeiro exemplo, a variável c1 do tipo char é
convertida para uma variável temporária do tipo int, porque o segundo operando da operação de
divisão, a constante 2, é do tipo mais alto, int. Como resultado da divisão de inteiros, 3/2, nós
obtemos o valor 1, que é do tipo inteiro.

Na segunda operação do primeiro exemplo, o segundo operando é a constante 0.3, que é do tipo
double, então o resultado da primeira operação é convertido em uma variável temporária para o tipo
double com o valor 1.0.

No segundo exemplo, a variável c1 do tipo char é convertida para uma variável temporária do tipo
double, porque o segundo operando da operação de divisão, a constante 2.0, é do tipo double;
nenhuma conversão adicional é feita.

Conversão de Tipos Numéricos


Nas express ões da linguagem MQL5 tanto conversão explicita quanto implícita podem ser usadas. A
conversão explícita é escrita da seguinte forma:

var_1 = (type)var_2;

Uma expressão ou resultado de execução de uma função podem ficar no lugar da variável var_2. A
notação funcional de uma conversão explícita é também possível:

var_1 = type(var_2);

Vamos considerar uma conversão explícita com base no primeiro exemplo.

//--- Terceiro exemplo

© 2000-2018, MetaQuotes Software Corp.


118 Elementos Básicos da Linguagem

double d2=(double)c1/2+0.3;
Print("(double)c1/2 + 0.3 = ",d2);
// Resultado: (double)c1/2+0.3 = 1.80000000

Antes da operação de divisão ser realizada, a variável c1 é explicitamente convertida para o tipo
double. Agora a constante inteira 2 é convertida no valor 2.0 do tipo double, pois o resultado da
conversão do primeiro operando assumiu o tipo double. De fato, a conversão explícita é uma operação
unária.

Além disso, quanto tentar converter tipos, o resultado pode ir além da faixa permitida. Neste caso, o
truncamento ocorre. Por exemplo:

char c;
uchar u;
c=400;
u=400;
Print("c = ",c); // Resultado c=-112
Print("u = ",u); // Resultado u=144

Antes de operações (exceto operações de atribuição) serem realizadas, os dados são convertidos para
o tipo de máxima prioridade. Antes de operações de atribuição serem realizadas, os dados são
convertidos para o tipo destino.

Exemplos:
int i=1/2; // nenhuma conversão, o resultado é 0
Print("i = 1/2 ",i);

int k=1/2.0; // a expressão é convertida para o tipo double,


Print("k = 1/2 ",k); // então é convertido para o tipo destino, o resultado é 0

double d=1.0/2.0; // nenhuma conversão de tipos, o resultado é 0.5


Print("d = 1/2.0; ",d);

double e=1/2.0; // a expressão é convertida para o tipo double,


Print("e = 1/2.0; ",e);// que é o mesmo do tipo destino, o resultado é 0.5

double x=1/2; // a expressão do tipo inteiro é convertido para o tipo destino double,
Print("x = 1/2; ",x); // o resultado é 0.0

Ao converter o tipo long /ulong em double, a precisão pode ser perdida caso o valor inteiro seja maior
do que 223372036854774784 ou menor do que -9223372036854774784.

void OnStart()
{
long l_max=LONG_MAX;
long l_min=LONG_MIN+1;
//--- definir o valor inteiro maior, que não perde a precisão ao ser lançado para double
while(l_max!=long((double)l_max))
l_max--;
//--- definir o valor inteiro menor, que não perde a precisão ao ser lançado para double
while(l_min!=long((double)l_min))

© 2000-2018, MetaQuotes Software Corp.


119 Elementos Básicos da Linguagem

l_min++;
//--- resulta no intervalo encontrado para valores inteiro
PrintFormat("Ao converter um valor inteiro para double, ele deve ser "
"dentro [%I64d, %I64d] do intervalo",l_min,l_max);
//--- agora, vamos ver o que acontece se o valor fica fora deste intervalo
PrintFormat("l_max+1=%I64d, double(l_max+1)=%.f, ulong(double(l_max+1))=%I64d",
l_max+1,double(l_max+1),long(double(l_max+1)));
PrintFormat("l_min-1=%I64d, double(l_min-1)=%.f, ulong(double(l_min-1))=%I64d",
l_min-1,double(l_min-1),long(double(l_min-1)));
//--- receber o seguinte resultado
// Ao converter um valor integer para double, ele deve estar dentro do intervalo [-9223372036854774
// l_max+1=9223372036854774785, double(l_max+1)=9223372036854774800, ulong(double(l_max+1))=9223372
// l_min-1=-9223372036854774785, double(l_min-1)=-9223372036854774800, ulong(double(l_min-1))=-9223
}

Conversão para o tipo String


O tipo string tem a mais alta prioridade entre os tipos simples. Portanto, se um dos operandos de uma
operação é do tipo string, o segundo operando será convertido para uma string automaticamente.
Observe que para uma string, uma única operação de dois -lugares diádicos de adição é possível. A
conversão explicita de string para qualquer tipo numérico é permitida.

Exemplos:
string s1=1.0/8; // a expressão é convertida para o tipo double,
Print("s1 = 1.0/8; ",s1); // daí é convertida para o tipo string,
// resultado é "0.12500000" (uma string contém 10 caracteres)

string s2=NULL; // string desinicialização


Print("s2 = NULL; ",s2); // o resultado é uma string vazia
string s3="Ticket N"+12345; // a expressão é convertida para o tipo string
Print("s3 = \"Ticket N\"+12345",s3);

string str1="true";
string str2="0,255,0";
string str3="2009.06.01";
string str4="1.2345e2";
Print(bool(str1));
Print(color(str2));
Print(datetime(str3));
Print(double(str4));

Conversão de Ponteiros de Classe Base para Ponteiros de Classes Derivadas


Objetos de classe derivada podem ser vistos como objetos da correspondente classe base. Isso leva a
algumas conseqüências interessantes. Por exemplo, apesar do fato que objetos de diferentes classes,

© 2000-2018, MetaQuotes Software Corp.


120 Elementos Básicos da Linguagem

gerados a partir de uma única classe base, poderem diferir significativamente um do outro, podemos
criar uma lista ligada (List) com eles, já que vemos eles como objetos do tipo base. Mas o inverso não
é verdade: objetos da classe base não são automaticamente objetos da classe derivada.

Você pode usar a conversão explicita para converter ponteiros da classe base para ponteiros da classe
derivada. Mas você deve estar totalmente confiante na admissibilidade de tal transformação, porque
senão um erro crítico de execução ocorrerá e o programa MQL5 será interrompido.

Conversão dinâmica de tipos usando o operador dynamic _cast


Existe a possibilidade de realizar uma conversão dinâmica de tipos usando o operador dynamic_cast,
ele pode ser aplicado apenas para ponteiros de classes. Além disso, a revisão dos tipos é realizada
quando o programa está em execução. Isto significa que, ao usar operador compilador dynamic_cast
não se verifica o tipo de dados usado para a conversão. Se for levada a cabo conversão do apontador
para o tipo de dados que não é um tipo real de objeto, o resultado será o valor NULL.

dynamic_cast <type-id> ( expression )

O parâmetro type-id em colchetes angulares deve ser o ponteiro um tipo de classe definido
anteriormente. O tipo de operando expression (ao contrário de C++) pode ser qualquer um, exceto
void.

Exemplo:
class CBar { };
class CFoo : public CBar { };

void OnStart()
{
CBar bar;
//--- permitida a conversão dinâmica do tipo de ponteiro *bar para o ponteiro *foo
CFoo *foo = dynamic_cast<CFoo *>(&bar); // não acontecerão erros críticos de execução
Print(foo); // foo=NULL
//--- restringida a tentativa de clara conversão dos enlaces do objeto do tipo Bar para o objeto de
foo=(CFoo *)&bar; // acontecerá um erro crítico de execução
Print(foo); // esta linha não será executada
}

Também Veja
T ipos de Dados

© 2000-2018, MetaQuotes Software Corp.


121 Elementos Básicos da Linguagem

Tipo void e constante NULL


Sintaticamente o tipo void é um tipo fundamental, juntamente com os tipos char, uchar, bool, short,
ushort, int, uint, color, long, ulong, datetime, float, double e string. Este tipo é usado tanto para
indicar que a função não retorna nenhum valor ou, como um parâmetro de função, para indicar
aus ência de parâmetros.

A predefinida variável constante NULL é do tipo void. Ele pode ser atribuído a variáveis de qualquer
outro tipo fundamental sem conversão. A comparação de variáveis de tipo fundamental com o valor
NULL é permitida..

Exemplo:
//--- Se a string não é inicializada, então atribua nosso valor predefinido a ela
if(some_string==NULL) some_string="empty";

T ambém NULL pode ser comparado com ponteiros de objetos criados com o operador new.

Também Veja
Variáveis, Funções

© 2000-2018, MetaQuotes Software Corp.


122 Elementos Básicos da Linguagem

Tipos personalizados
A palavra-chave typedef em linguagem C++ permite criar tipos personalizados de dados, basta definir
o nome do tipo de dados para um tipo de dados existente. Ao fazer isto, não é criado um novo tipo de
dados, mas sim é definido um novo nome para o tipo existente. Graças ao uso de tipos
personalizados, você pode tornar o programa mais flexível, basta suficiente alterar as instruções
typedef usando os macros de substituição (#define). Usar os tipos personalizados também pode
melhorar a legibilidade do código, uma vez que, para os tipos de dados padrão, você pode usar seus
próprios nomes descritivos com ajuda de typedef. Formato geral para escrever instruções a fim de
criar um tipo personalizado:

typedef tipo novo_nome;

Aqui o elemento tipo representa qualquer tipo de dados válido, enquanto o elemento novo_nome é o
nome novo para este tipo. É importante notar que o novo nome é definido apenas como um
complemento para o nome existente do tipo e não para substituí-lo. Na linguagem MQL5, você pode
criar um ponteiro para a função, usando typedef.

Ponteiro para a função


Ponteiro para a função geralmente é determinado pelo formato de registro

typedef tipo_de_resultado_de_função (*Nome_de_tipo_de_função)(lista_de_tipos_de_parâmetros_de_en

onde, após a palavra typedef, é definida a assinatura da função, isto é, o número e tipo de
parâmetros de entrada, bem como o tipo de resultado a ser retornado pela função. Aqui está uma
explicação de como criar e usar um ponteiro para uma função:

// --- declaramos o ponteiro para uma função que aceita dois parâmetros do tipo int
typedef int (*TFunc)(int,int);
//--- TFunc é o tipo, e nós podemos declarar o ponteiro-variável para a função
TFunc func_ptr; // ponteiro para a função
//--- declaramos as funções que correspondem à descrição TFunc
int sub(int x,int y) { return(x-y); } // / subtração de um número a partir de outro
int add(int x,int y) { return(x+y); } // adição de dois números
int neg(int x) { return(~x); } // inversão de bits na variável
//--- você pode armazenas o endereço da função na variável func_ptr, para chamá-la no futuro
func_ptr=sub;
Print(func_ptr(10,5));
func_ptr=add;
Print(func_ptr(10,5));
func_ptr=neg; // erro: neg não tem o tipo int (int,int)
Print(func_ptr(10)); // erro: deve haver dois parâmetros

Neste exemplo, à variável func_ptr podem ser atribuídas as funções sub e add, uma vez que cada uma
delas tem dois parâmetros de entrada do tipo int, conforme especificado na definição do ponteiro para
a função TFunc. Aqui à função neg não pode ser atribuído o ponteiro func_ptr, uma vez que sua
assinatura é diferente.

Organização dos modelos de eventos na interface personalizada

© 2000-2018, MetaQuotes Software Corp.


123 Elementos Básicos da Linguagem

Usando os ponteiros para a função você pode facilmente construir a manipulação de eventos ao criar a
interface personalizada. Mostraremos um exemplo a partir da seção CButton sobre como criar botões e
adicionar neles uma função para processamento do carregamento do botão. Em primeiro lugar,
definimos o ponteiro para a função TAction, ela será chamada pressionando um botão, e criaremos
três funções em conformidade com a descrição TAction.

//--- criamos o tipo personalizado de função


typedef int(*TAction)(string,int);
//+------------------------------------------------------------------+
//| Abre o arquivo |
//+------------------------------------------------------------------+
int Open(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(1);
}
//+------------------------------------------------------------------+
//| Salva o arquivo |
//+------------------------------------------------------------------+
int Save(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(2);
}
//+------------------------------------------------------------------+
//| Fecha o arquivo |
//+------------------------------------------------------------------+
int Close(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(3);
}

Logo realizamos a classe M yButton a partir do CButton, em que adicionamos o membro TAction que,
por sua vez, é o ponteiro para a função.

//+------------------------------------------------------------------+
//| Criamos nossa classe de botão com a função de manipulador de eventos |
//+------------------------------------------------------------------+
class MyButton: public CButton
{
private:
TAction m_action; // manipulador de eventos para o gráfico
public:
MyButton(void){}
~MyButton(void){}
//--- construtor com indicação do texto do botão e ponteiro para a função a fim de manipular eve
MyButton(string text, TAction act)
{

© 2000-2018, MetaQuotes Software Corp.


124 Elementos Básicos da Linguagem

Text(text);
m_action=act;
}
//--- definição de função que será chamada a partir do manipulador de eventos OnEvent()
void SetAction(TAction act){m_action=act;}
//--- manipulador padrão de eventos de gráfico
virtual bool OnEvent(const int id,const long &lparam,const double &dparam,const string &spa
{
if(m_action!=NULL & lparam==Id())
{
//--- chamamos o manipulador próprio m_action()
m_action(sparam,(int)lparam);
return(true);
}
else
//--- retornamos o resultado da chamada do manipulador a partir da classe mão CButton
return(CButton::OnEvent(id,lparam,dparam,sparam));
}
};

Em seguida, criamos a classe derivada CControls Dialog a partir da CAppDialog, à qual adicionamos a
matriz m_buttons para armazenas os botões do tipo MyButton, bem como os métodos
AddButton(MyButton &button) e CreateButtons().

//+------------------------------------------------------------------+
//| Classe CControlsDialog |
//| Designação: painel gráfico para controle do aplicativo |
//+------------------------------------------------------------------+
class CControlsDialog : public CAppDialog
{
private:
CArrayObj m_buttons; // matriz de botões
public:
CControlsDialog(void){};
~CControlsDialog(void){};
//--- create
virtual bool Create(const long chart,const string name,const int subwin,const int x1,const
//--- adição de botão
bool AddButton(MyButton &button){return(m_buttons.Add(GetPointer(button)));m_button
protected:
//--- criação de botões
bool CreateButtons(void);
};
//+------------------------------------------------------------------+
//| Criação do objeto CControlsDialog no gráfico |
//+------------------------------------------------------------------+
bool CControlsDialog::Create(const long chart,const string name,const int subwin,const int x1,const
{
if(!CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2))

© 2000-2018, MetaQuotes Software Corp.


125 Elementos Básicos da Linguagem

return(false);
return(CreateButtons());
//---
}
//+------------------------------------------------------------------+
//| defines |
//+------------------------------------------------------------------+
//--- indents and gaps
#define INDENT_LEFT (11) // indent from left (with allowance for borde
#define INDENT_TOP (11) // indent from top (with allowance for border
#define CONTROLS_GAP_X (5) // gap by X coordinate
#define CONTROLS_GAP_Y (5) // gap by Y coordinate
//--- for buttons
#define BUTTON_WIDTH (100) // size by X coordinate
#define BUTTON_HEIGHT (20) // size by Y coordinate
//--- for the indication area
#define EDIT_HEIGHT (20) // size by Y coordinate
//+------------------------------------------------------------------+
//| Criação e adição de botões para o painel CControlsDialog |
//+------------------------------------------------------------------+
bool CControlsDialog::CreateButtons(void)
{
//--- cálculo de coordenadas de botões
int x1=INDENT_LEFT;
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2;
int y2=y1+BUTTON_HEIGHT;
//--- adicionamos os objetos dos botões juntamente com os ponteiros para as funções
AddButton(new MyButton("Open",Open));
AddButton(new MyButton("Save",Save));
AddButton(new MyButton("Close",Close));
//--- criamos os botões graficamente
for(int i=0;i<m_buttons.Total();i++)
{
MyButton *b=(MyButton*)m_buttons.At(i);
x1=INDENT_LEFT+i*(BUTTON_WIDTH+CONTROLS_GAP_X);
x2=x1+BUTTON_WIDTH;
if(!b.Create(m_chart_id,m_name+"bt"+b.Text(),m_subwin,x1,y1,x2,y2))
{
PrintFormat("Failed to create button %s %d",b.Text(),i);
return(false);
}
//--- adicionamos cada botão no recipiente CControlsDialog
if(!Add(b))
return(false);
}
//--- succeed
return(true);
}

© 2000-2018, MetaQuotes Software Corp.


126 Elementos Básicos da Linguagem

Agora podemos escrever o programa usando o painel de controle CControls Dialog, no qual são criados
3 botões " Open" , " Save" e " Close" . Ao pressionar o botão, é chamada a função correspondente que
está escrita como um ponteiro para a função TAction.

//--- declaramos o objeto no nível global para criá-lo automaticamente ao inciar o programa
CControlsDialog MyDialog;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- agora criamos o objeto no gráfico
if(!MyDialog.Create(0,"Controls",0,40,40,380,344))
return(INIT_FAILED);
//--- executamos o aplicativo
MyDialog.Run();
//--- inicialização bem-sucedida do aplicativo
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy dialog
MyDialog.Destroy(reason);
}
//+------------------------------------------------------------------+
//| Expert chart event function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // event ID
const long& lparam, // event parameter of the long type
const double& dparam, // event parameter of the double type
const string& sparam) // event parameter of the string type
{
//--- para os eventos do gráfico, chamamos o manipulador a partir da classe mãe (neste caso, CAppDi
MyDialog.ChartEvent(id,lparam,dparam,sparam);
}

A aparência do aplicativo em execução e os resultados dos botões pressionados são mostrados na


imagem.

© 2000-2018, MetaQuotes Software Corp.


127 Elementos Básicos da Linguagem

Código-fonte completo do programa

//+------------------------------------------------------------------+
//| Panel_Buttons.mq5 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+

#property copyright "Copyright 2017, MetaQuotes Software Corp."


#property link "https://www.mql5.com"
#property version "1.00"
#property description "Painel com vários botões CButton"
#include <Controls\Dialog.mqh>
#include <Controls\Button.mqh>
//+------------------------------------------------------------------+
//| defines |
//+------------------------------------------------------------------+
//--- indents and gaps
#define INDENT_LEFT (11) // indent from left (with allowance for borde
#define INDENT_TOP (11) // indent from top (with allowance for border
#define CONTROLS_GAP_X (5) // gap by X coordinate
#define CONTROLS_GAP_Y (5) // gap by Y coordinate

© 2000-2018, MetaQuotes Software Corp.


128 Elementos Básicos da Linguagem

//--- for buttons


#define BUTTON_WIDTH (100) // size by X coordinate
#define BUTTON_HEIGHT (20) // size by Y coordinate
//--- for the indication area
#define EDIT_HEIGHT (20) // size by Y coordinate

//--- criamos o tipo personalizado de função


typedef int(*TAction)(string,int);
//+------------------------------------------------------------------+
//| Abre o arquivo |
//+------------------------------------------------------------------+
int Open(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(1);
}
//+------------------------------------------------------------------+
//| Salva o arquivo |
//+------------------------------------------------------------------+
int Save(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(2);
}
//+------------------------------------------------------------------+
//| Fecha o arquivo |
//+------------------------------------------------------------------+
int Close(string name,int id)
{
PrintFormat("Função chamada %s (name=%s id=%d)",__FUNCTION__,name,id);
return(3);
}
//+------------------------------------------------------------------+
//| Criamos nossa classe de botão com a função de manipulador de eventos |
//+------------------------------------------------------------------+
class MyButton: public CButton
{
private:
TAction m_action; // manipulador de eventos para o gráfico
public:
MyButton(void){}
~MyButton(void){}
//--- construtor com indicação do texto do botão e ponteiro para a função a fim de manipular eve
MyButton(string text,TAction act)
{
Text(text);
m_action=act;
}
//--- definição de função que será chamada a partir do manipulador de eventos OnEvent()

© 2000-2018, MetaQuotes Software Corp.


129 Elementos Básicos da Linguagem

void SetAction(TAction act){m_action=act;}


//--- manipulador padrão de eventos de gráfico
virtual bool OnEvent(const int id,const long &lparam,const double &dparam,const string &spa
{
if(m_action!=NULL & lparam==Id())
{
//--- chamamos o manipulador próprio
m_action(sparam,(int)lparam);
return(true);
}
else
//--- retornamos o resultado da chamada do manipulador a partir da classe mão CButton
return(CButton::OnEvent(id,lparam,dparam,sparam));
}
};
//+------------------------------------------------------------------+
//| Classe CControlsDialog |
//| Designação: painel gráfico para controle do aplicativo |
//+------------------------------------------------------------------+
class CControlsDialog : public CAppDialog
{
private:
CArrayObj m_buttons; // matriz de botões
public:
CControlsDialog(void){};
~CControlsDialog(void){};
//--- create
virtual bool Create(const long chart,const string name,const int subwin,const int x1,const
//--- adição de botão
bool AddButton(MyButton &button){return(m_buttons.Add(GetPointer(button)));m_button
protected:
//--- criação de botões
bool CreateButtons(void);
};
//+------------------------------------------------------------------+
//| Criação do objeto CControlsDialog no gráfico |
//+------------------------------------------------------------------+
bool CControlsDialog::Create(const long chart,const string name,const int subwin,const int x1,const
{
if(!CAppDialog::Create(chart,name,subwin,x1,y1,x2,y2))
return(false);
return(CreateButtons());
//---
}
//+------------------------------------------------------------------+
//| Criação e adição de botões para o painel CControlsDialog |
//+------------------------------------------------------------------+
bool CControlsDialog::CreateButtons(void)
{

© 2000-2018, MetaQuotes Software Corp.


130 Elementos Básicos da Linguagem

//--- cálculo de coordenadas de botões


int x1=INDENT_LEFT;
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2;
int y2=y1+BUTTON_HEIGHT;
//--- adicionamos os objetos dos botões juntamente com os ponteiros para as funções
AddButton(new MyButton("Open",Open));
AddButton(new MyButton("Save",Save));
AddButton(new MyButton("Close",Close));
//--- criamos os botões graficamente
for(int i=0;i<m_buttons.Total();i++)
{
MyButton *b=(MyButton*)m_buttons.At(i);
x1=INDENT_LEFT+i*(BUTTON_WIDTH+CONTROLS_GAP_X);
x2=x1+BUTTON_WIDTH;
if(!b.Create(m_chart_id,m_name+"bt"+b.Text(),m_subwin,x1,y1,x2,y2))
{
PrintFormat("Failed to create button %s %d",b.Text(),i);
return(false);
}
//--- adicionamos cada botão no recipiente CControlsDialog
if(!Add(b))
return(false);
}
//--- succeed
return(true);
}
//--- declaramos o objeto no nível global para criá-lo automaticamente ao inciar o programa
CControlsDialog MyDialog;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- agora criamos o objeto no gráfico
if(!MyDialog.Create(0,"Controls",0,40,40,380,344))
return(INIT_FAILED);
//--- executamos o aplicativo
MyDialog.Run();
//--- inicialização bem-sucedida do aplicativo
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy dialog
MyDialog.Destroy(reason);

© 2000-2018, MetaQuotes Software Corp.


131 Elementos Básicos da Linguagem

}
//+------------------------------------------------------------------+
//| Expert chart event function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // event ID
const long& lparam, // event parameter of the long type
const double& dparam, // event parameter of the double type
const string& sparam) // event parameter of the string type
{
//--- para os eventos do gráfico, chamamos o manipulador a partir da classe mãe (neste caso, CAppDi
MyDialog.ChartEvent(id,lparam,dparam,sparam);
}

Veja também
Variáveis, Funções

© 2000-2018, MetaQuotes Software Corp.


132 Elementos Básicos da Linguagem

Ponteiros de Objeto
Em MQL5, existe a possibilidade de dinamicamente criar objetos de tipo complexo. Isso é feito por
meio do operador new, que retorno um descritor do objeto criado. Descritores têm 8 bytes de
tamanho. Sintaticamente, descritores de objeto em MQL5 são similares aos ponteiros em C++.

Exemplos:
MyObject* hobject= new MyObject();

Em contraste com o C++, a variável hobject do exemplo acima não é um ponteiro para memória, mas
sim um descritor de objeto. Além disso, no MQL5 todos os objetos em parâmetros de função devem
ser passados por referência. Abaixo estão exemplos de passar objetos como parâmetros da função:

class Foo
{
public:
string m_name;
int m_id;
static int s_counter;
//--- construtores e desconstrutores
Foo(void){Setup("noname");};
Foo(string name){Setup(name);};
~Foo(void){};
//--- inicializar objetos do tipo Foo
void Setup(string name)
{
m_name=name;
s_counter++;
m_id=s_counter;
}
};
int Foo::s_counter=0;
//+------------------------------------------------------------------+
//| Função de início do programa script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Declarar um objeto como variável com sua criação automática
Foo foo1;
//--- Variante para passar um objeto por referência
PrintObject(foo1);

//--- Declarar um ponteiro para um objeto e criá-lo usando o operador 'novo'


Foo *foo2=new Foo("foo2");
//--- Variante para passar um ponteiro para um objeto por referência
PrintObject(foo2); // ponteiro para um objeto é convertido automaticamente pelo compilador

//--- Declarar um array de objetos do tipo Foo


Foo foo_objects[5];

© 2000-2018, MetaQuotes Software Corp.


133 Elementos Básicos da Linguagem

//--- Variante de passagem de um array de objetos


PrintObjectsArray(foo_objects); // Função separada para passar um array de objetos

//--- Declarar um array de ponteiros para objetos do tipo Foo


Foo *foo_pointers[5];
for(int i=0;i<5;i++)
{
foo_pointers[i]=new Foo("foo_pointer");
}
//--- Variante para passar um array de ponteiros
PrintPointersArray(foo_pointers); // Função separada para passar um array de ponteiros

//--- É obrigatório excluir objetos criados como ponteiros antes da terminação


delete(foo2);
//--- deletar array de ponteiros
int size=ArraySize(foo_pointers);
for(int i=0;i<5;i++)
delete(foo_pointers[i]);
//---
}
//+------------------------------------------------------------------+
//| Os objetos são sempre passados por referência  |
//+------------------------------------------------------------------+
void PrintObject(Foo &object)
{
Print(__FUNCTION__,": ",object.m_id," Object name=",object.m_name);
}
//+------------------------------------------------------------------+
//| Passando um array de objetos  |
//+------------------------------------------------------------------+
void PrintObjectsArray(Foo &objects[])
{
int size=ArraySize(objects);
for(int i=0;i<size;i++)
{
PrintObject(objects[i]);
}
}
//+------------------------------------------------------------------+
//| Passando um array de ponteiros para objeto |
//+------------------------------------------------------------------+
void PrintPointersArray(Foo* &objects[])
{
int size=ArraySize(objects);
for(int i=0;i<size;i++)
{
PrintObject(objects[i]);
}
}

© 2000-2018, MetaQuotes Software Corp.


134 Elementos Básicos da Linguagem

//+------------------------------------------------------------------+

Também Veja
Variáveis, I nicialização de Variáveis, Visibilidade Escopo e T empo de Vida de Variáveis, Criando e
Excluindo Objetos

© 2000-2018, MetaQuotes Software Corp.


135 Elementos Básicos da Linguagem

Referência, Modificador & e Palavra-chave this


Passando Parâmetros por Referência
Em