Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
MQL5
per il terminale client MetaTrader 5
Content
MQL5 Riferimento 68
1 Le basi del linguaggio
................................................................................................. 70
Sintassi ............................................................................................................................71
Commenti......................................................................................................................... 72
Identificatori
......................................................................................................................... 73
Parole riservate
......................................................................................................................... 74
Tipi di Dati ............................................................................................................................76
Tipi Integer......................................................................................................................... 77
Tipi Char, Short,................................................................................................................
Int e Long 78
Costanti Carattere
................................................................................................................ 82
Tipo Datetime................................................................................................................ 86
Tipo Colore ................................................................................................................ 87
Tipo Bool ................................................................................................................ 88
Enumerazioni................................................................................................................ 89
Tipi Reali (double,
.........................................................................................................................
float) 91
Tipo Stringa......................................................................................................................... 96
Strutture,.........................................................................................................................
Classi e Interfacce 97
Oggetto .........................................................................................................................
Array Dinamico 124
Typecasting
......................................................................................................................... 125
Tipo Void.........................................................................................................................
e Costante NULL 130
Tipi definiti
.........................................................................................................................
dall'utente 131
Puntatori.........................................................................................................................
agli Oggetti 141
Riferimento.
.........................................................................................................................
Il Modifier & e la parola chiave this 144
Operazioni............................................................................................................................146
ed Espressioni
Espressioni
......................................................................................................................... 147
Operazioni
.........................................................................................................................
Aritmetiche 148
Operazioni
.........................................................................................................................
di Assegnazione 149
Operazioni
.........................................................................................................................
di Assegnazione 150
Operazioni
.........................................................................................................................
Booleani 151
Operazioni
.........................................................................................................................
bit per bit 153
Altre Operazioni
......................................................................................................................... 156
Regole di.........................................................................................................................
Precedenza 160
Operatori ............................................................................................................................162
Operatore
.........................................................................................................................
Composto 164
Operatore
.........................................................................................................................
Espressione 165
Operatore
.........................................................................................................................
Return 166
Operatore
.........................................................................................................................
Condizionale if-else 167
Operatore
.........................................................................................................................
Ternario ?: 168
Operatore
.........................................................................................................................
Switch 170
Operatore
.........................................................................................................................
Ciclico While 172
Operatore
.........................................................................................................................
Ciclico for 173
Operatore
.........................................................................................................................
Ciclico do while 175
Operatore
.........................................................................................................................
Break 176
Operatore
.........................................................................................................................
Continue 177
Operatore
.........................................................................................................................
new di Creazione Oggetto 178
Operatore
.........................................................................................................................
Cancellatore Oggetto delete 180
Funzioni ............................................................................................................................181
Chiamate.........................................................................................................................
di funzione 183
Passaggio.........................................................................................................................
di Parametri 184
L'overloading
.........................................................................................................................
di funzioni 187
Operazione
.........................................................................................................................
Overloading 190
Descrizione
.........................................................................................................................
delle Funzioni Esterne 204
Esportazione
.........................................................................................................................
di funzioni 206
Funzioni .........................................................................................................................
di Gestione degli Eventi 207
Variabili ............................................................................................................................219
Variabili .........................................................................................................................
locali 222
Parametri .........................................................................................................................
Formali 224
Variabili .........................................................................................................................
Statiche 226
Variabili .........................................................................................................................
Globali 228
Variabili .........................................................................................................................
di Input 229
Variabili .........................................................................................................................
Esterne 236
Inizializzazione
.........................................................................................................................
delle Variabili 237
Visibilità.........................................................................................................................
Ambito(_*scope) e Durata delle Variabili(_*lifetime) 239
Creazione .........................................................................................................................
ed Eliminazione di oggetti 241
............................................................................................................................244
Preproc essore
Sostituzione
.........................................................................................................................
Macro (#define) 246
Proprietà.........................................................................................................................
del programma (#property) 249
Includere.........................................................................................................................
Files (# include) 257
Funzioni .........................................................................................................................
di Importazione (#import) 258
Conditional
.........................................................................................................................
Compilation (#ifdef, #ifndef, #else, #endif) 261
............................................................................................................................263
Programmazione Ad Oggetti
Incapsulamento
.........................................................................................................................
ed estensibilità dei Tipi 265
Ereditarietà
......................................................................................................................... 268
Polimorfismo
......................................................................................................................... 273
L' Overload
......................................................................................................................... 277
Funzioni .........................................................................................................................
Virtuali 278
I Membri.........................................................................................................................
Statici di una classe 282
Templates.........................................................................................................................
di Funzioni 286
Templates.........................................................................................................................
delle Classi 290
Classi Astratte
......................................................................................................................... 295
............................................................................................................................297
Namespac es
2 Costanti, Enumerazioni
.................................................................................................
e Strutture 300
Costanti del............................................................................................................................301
Grafic o
Tipi di Eventi
.........................................................................................................................
del Grafico 302
Timeframes.........................................................................................................................
del Grafico 310
Proprietà.........................................................................................................................
Grafico 312
Posizionamento
.........................................................................................................................
Costanti 320
Rappresentazione
.........................................................................................................................
Grafico 321
Esempi di.........................................................................................................................
Lavoro con il grafico Chart 323
............................................................................................................................381
Costanti Oggetti
Tipi di oggetti
......................................................................................................................... 382
OBJ_VLINE ................................................................................................................ 384
OBJ_HLINE ................................................................................................................ 389
OBJ_TREND ................................................................................................................ 394
OBJ_TRENDB................................................................................................................
Y ANGLE 401
OBJ_C Y CLES................................................................................................................ 407
OBJ_ARROWED ................................................................................................................
_LINE 413
OBJ_C HANNEL ................................................................................................................ 419
OBJ_STDDEVC ................................................................................................................
HANNEL 426
OBJ_REGRESSION ................................................................................................................ 433
OBJ_PITC HFOR ................................................................................................................
K 439
OBJ_GANNLINE ................................................................................................................ 447
OBJ_GANNFAN ................................................................................................................ 454
OBJ_GANNGRID ................................................................................................................ 461
OBJ_FIBO ................................................................................................................ 468
OBJ_FIBOTIMES ................................................................................................................ 475
OBJ_FIBOFAN ................................................................................................................ 482
OBJ_FIBOARC ................................................................................................................ 489
OBJ_FIBOC H................................................................................................................
ANNEL 496
OBJ_EX PANSION ................................................................................................................ 504
OBJ_ELLIOTWAVE5................................................................................................................ 512
Costanti.........................................................................................................................
di tipo numerico 799
Codici del
.........................................................................................................................
Motivo di DeInizializzazione 802
Controllo.........................................................................................................................
del Puntatore Oggetti 804
Altre costanti
......................................................................................................................... 805
............................................................................................................................809
Strutture Dati
Struttura.........................................................................................................................
del Tipo Data 810
Struttura.........................................................................................................................
dei parametri di Input 811
Struttura.........................................................................................................................
Dati dello Storico 812
Struttura.........................................................................................................................
del Depth of Market 813
Struttura.........................................................................................................................
Richiesta di Trade 814
Struttura.........................................................................................................................
di Risultati di Richiesta Controllo 828
Struttura.........................................................................................................................
di un Risultato di Richiesta di Trade 829
Struttura.........................................................................................................................
di una Transazione di Trade 833
Struttura.........................................................................................................................
per i Prezzi Correnti 841
Economic.........................................................................................................................
Сalendar structures 843
............................................................................................................................848
I c odic i di Errore e di Avvertenza
Codici di.........................................................................................................................
Ritorno del Trade Server 849
Avvisi del.........................................................................................................................
compilatore 853
Errori di .........................................................................................................................
compilazione 857
Errori di .........................................................................................................................
Runtime 871
............................................................................................................................886
Costanti Input/Output
Flags di Apertura
.........................................................................................................................
File 887
Proprietà.........................................................................................................................
File 890
Posizione.........................................................................................................................
In-File 892
L'uso di una
.........................................................................................................................
tabella Codici 893
MessageBo .........................................................................................................................
x 894
3 Programmi MQL5
................................................................................................. 896
Esec uzione............................................................................................................................897
dei Programmi
............................................................................................................................905
Trade Permission
............................................................................................................................909
Eventi Terminale Client
Risorse ............................................................................................................................913
............................................................................................................................925
Chiamata delle funzioni importate
............................................................................................................................927
Errori di Runtime
............................................................................................................................928
Testare Strategie di Trading
4 Variabili predefinite
................................................................................................. 954
_AppliedTo............................................................................................................................955
_Digits ............................................................................................................................957
_Point ............................................................................................................................958
_LastError ............................................................................................................................959
_Period ............................................................................................................................960
_RandomSeed............................................................................................................................961
_StopFlag ............................................................................................................................962
_Symbol ............................................................................................................................963
............................................................................................................................964
_UninitReason
_IsX 64 ............................................................................................................................965
5 Funzioni Comuni
................................................................................................. 966
Alert ............................................................................................................................968
............................................................................................................................969
Chec kPointer
Comment ............................................................................................................................971
............................................................................................................................973
CryptEnc ode
............................................................................................................................975
CryptDec ode
DebugBreak............................................................................................................................976
............................................................................................................................977
ExpertRemove
GetPointer ............................................................................................................................979
............................................................................................................................983
GetTic kCount
............................................................................................................................984
GetTic kCount64
GetMic rosec............................................................................................................................985
ondCount
MessageBox............................................................................................................................987
............................................................................................................................988
PeriodSec onds
PlaySound ............................................................................................................................989
Print ............................................................................................................................990
PrintFormat............................................................................................................................992
............................................................................................................................998
ResetLastError
............................................................................................................................999
Resourc eCreate
............................................................................................................................1001
Resourc eFree
............................................................................................................................1002
Resourc eReadImage
............................................................................................................................1003
Resourc eSave
............................................................................................................................1004
SetReturnError
............................................................................................................................1005
SetUserError
Sleep ............................................................................................................................1006
............................................................................................................................1007
TerminalClose
............................................................................................................................1009
TesterStatistic s
TesterStop............................................................................................................................1010
............................................................................................................................1011
TesterDeposit
............................................................................................................................1012
TesterHideIndic ators
............................................................................................................................1014
TesterWithdraw al
............................................................................................................................1015
TranslateKey
ZeroMemory............................................................................................................................1016
6 Funzioni di Array
................................................................................................. 1017
............................................................................................................................1019
ArrayBsearc h
ArrayCopy............................................................................................................................1023
............................................................................................................................1028
ArrayCompare
ArrayFree............................................................................................................................1029
............................................................................................................................1038
ArrayGetAsSeries
............................................................................................................................1041
ArrayInitialize
ArrayFill ............................................................................................................................1043
............................................................................................................................1045
ArrayIsDynamic
............................................................................................................................1047
ArrayIsSeries
............................................................................................................................1049
ArrayMaximum
............................................................................................................................1060
ArrayMinimum
ArrayPrint............................................................................................................................1071
ArrayRange............................................................................................................................1074
............................................................................................................................1075
ArrayResize
............................................................................................................................1078
ArrayInsert
............................................................................................................................1081
ArrayRemove
............................................................................................................................1083
ArrayReverse
............................................................................................................................1085
ArraySetAsSeries
ArraySize ............................................................................................................................1088
ArraySort............................................................................................................................1090
ArraySw ap............................................................................................................................1095
7 Funzioni di Conversione
................................................................................................. 1097
............................................................................................................................1099
CharToString
............................................................................................................................1100
CharArrayToString
............................................................................................................................1101
CharArrayToStruc t
............................................................................................................................1102
Struc tToCharArray
............................................................................................................................1103
ColorToARGB
............................................................................................................................1105
ColorToString
............................................................................................................................1106
DoubleToString
............................................................................................................................1107
EnumToString
............................................................................................................................1109
IntegerToString
............................................................................................................................1110
ShortToString
............................................................................................................................1111
ShortArrayToString
............................................................................................................................1112
TimeToString
............................................................................................................................1113
NormalizeDouble
............................................................................................................................1115
StringToCharArray
© 2000-2021, MetaQuotes Ltd
7 Content
............................................................................................................................1116
StringToColor
............................................................................................................................1117
StringToDouble
............................................................................................................................1118
StringToInteger
............................................................................................................................1119
StringToShortArray
............................................................................................................................1120
StringToTime
............................................................................................................................1121
StringFormat
8 Funzioni Matematiche
................................................................................................. 1125
MathAbs ............................................................................................................................1127
............................................................................................................................1128
MathArc c os
MathArc sin............................................................................................................................1129
MathArc tan............................................................................................................................1130
............................................................................................................................1131
MathArc tan2
............................................................................................................................1132
MathClassify
MathCeil ............................................................................................................................1134
MathCos ............................................................................................................................1135
MathExp ............................................................................................................................1136
MathFloor............................................................................................................................1137
MathLog ............................................................................................................................1138
MathLog10............................................................................................................................1139
MathMax ............................................................................................................................1140
MathMin ............................................................................................................................1141
MathMod ............................................................................................................................1142
MathPow ............................................................................................................................1143
MathRand ............................................................................................................................1144
MathRound............................................................................................................................1145
MathSin ............................................................................................................................1146
MathSq rt ............................................................................................................................1147
MathSrand............................................................................................................................1148
MathTan ............................................................................................................................1151
............................................................................................................................1152
MathIsValidNumber
MathExpm1 ............................................................................................................................1153
MathLog1p............................................................................................................................1154
............................................................................................................................1155
MathArc c osh
............................................................................................................................1156
MathArc sinh
............................................................................................................................1157
MathArc tanh
MathCosh ............................................................................................................................1158
MathSinh ............................................................................................................................1159
MathTanh ............................................................................................................................1160
MathSw ap............................................................................................................................1161
9 Funzioni Stringa
................................................................................................. 1162
StringAdd ............................................................................................................................1164
............................................................................................................................1166
StringBufferLen
............................................................................................................................1167
StringCompare
StringConc............................................................................................................................1169
atenate
StringFill ............................................................................................................................1170
StringFind............................................................................................................................1171
............................................................................................................................1172
StringGetCharac ter
StringInit ............................................................................................................................1173
StringLen ............................................................................................................................1174
............................................................................................................................1175
StringSetLength
............................................................................................................................1176
StringReplac e
............................................................................................................................1177
StringReserve
............................................................................................................................1179
StringSetCharac ter
StringSplit............................................................................................................................1181
............................................................................................................................1183
StringSubstr
StringToLow............................................................................................................................1184
er
............................................................................................................................1185
StringToUpper
............................................................................................................................1186
StringTrimLeft
© 2000-2021, MetaQuotes Ltd
8 Content
............................................................................................................................1187
StringTrimRight
10 Data ed Ora ................................................................................................. 1188
............................................................................................................................1189
TimeCurrent
............................................................................................................................1190
TimeTradeServer
TimeLoc al............................................................................................................................1191
TimeGMT ............................................................................................................................1192
............................................................................................................................1193
TimeDaylightSavings
............................................................................................................................1194
TimeGMTOffset
............................................................................................................................1195
TimeToStruc t
............................................................................................................................1196
Struc tToTime
11 Informazioni.................................................................................................
account 1197
............................................................................................................................1198
Ac c ountInfoDouble
............................................................................................................................1199
Ac c ountInfoInteger
............................................................................................................................1201
Ac c ountInfoString
12 Verifica Stato................................................................................................. 1202
............................................................................................................................1203
GetLastError
IsStopped ............................................................................................................................1204
............................................................................................................................1205
UninitializeReason
............................................................................................................................1206
TerminalInfoInteger
............................................................................................................................1207
TerminalInfoDouble
............................................................................................................................1208
TerminalInfoString
............................................................................................................................1209
MQLInfoInteger
............................................................................................................................1210
MQLInfoString
Symbol ............................................................................................................................1211
Period ............................................................................................................................1212
Digits ............................................................................................................................1213
Point ............................................................................................................................1214
13 Gestione degli
.................................................................................................
Eventi 1215
OnStart ............................................................................................................................1217
OnInit ............................................................................................................................1220
OnDeinit ............................................................................................................................1223
OnTic k ............................................................................................................................1226
............................................................................................................................1232
OnCalc ulate
OnTimer ............................................................................................................................1236
OnTrade ............................................................................................................................1239
............................................................................................................................1244
OnTradeTransac tion
............................................................................................................................1250
OnBookEvent
............................................................................................................................1253
OnChartEvent
OnTester ............................................................................................................................1260
............................................................................................................................1267
OnTesterInit
............................................................................................................................1274
OnTesterDeinit
............................................................................................................................1275
OnTesterPass
14 Market Info ................................................................................................. 1276
............................................................................................................................1278
SymbolsTotal
............................................................................................................................1279
SymbolExist
............................................................................................................................1280
SymbolName
............................................................................................................................1281
SymbolSelec t
............................................................................................................................1282
SymbolIsSync hronized
............................................................................................................................1283
SymbolInfoDouble
............................................................................................................................1285
SymbolInfoInteger
............................................................................................................................1287
SymbolInfoString
............................................................................................................................1289
SymbolInfoMarginRate
............................................................................................................................1290
SymbolInfoTic k
............................................................................................................................1291
SymbolInfoSessionQuote
............................................................................................................................1292
SymbolInfoSessionTrade
............................................................................................................................1293
MarketBookAdd
............................................................................................................................1294
MarketBookRelease
............................................................................................................................1295
MarketBookGet
15 Calendario Economico
................................................................................................. 1296
............................................................................................................................1297
CalendarCountryById
............................................................................................................................1299
CalendarEventById
............................................................................................................................1302
CalendarValueById
............................................................................................................................1305
CalendarCountries
............................................................................................................................1307
CalendarEventByCountry
............................................................................................................................1309
CalendarEventByCurrenc y
............................................................................................................................1311
CalendarValueHistoryByEvent
............................................................................................................................1314
CalendarValueHistory
............................................................................................................................1317
CalendarValueLastByEvent
............................................................................................................................1322
CalendarValueLast
16 Accesso alle Timeseries
.................................................................................................
ed Indicatori 1327
Direzione ............................................................................................................................1332
di Indic izzazione negli Array, Buffers e TimeSeries
............................................................................................................................1336
Organizzazione di Ac c esso ai Dati
............................................................................................................................1346
SeriesInfoInteger
Bars ............................................................................................................................1348
............................................................................................................................1351
BarsCalc ulated
............................................................................................................................1353
Indic atorCreate
............................................................................................................................1356
Indic atorParameters
............................................................................................................................1358
Indic atorRelease
CopyBuffer ............................................................................................................................1360
CopyRates............................................................................................................................1365
CopyTime............................................................................................................................1369
CopyOpen............................................................................................................................1372
CopyHigh ............................................................................................................................1375
CopyLow ............................................................................................................................1379
CopyClose............................................................................................................................1382
............................................................................................................................1385
CopyTic kVolume
............................................................................................................................1389
CopyRealVolume
CopySpread ............................................................................................................................1392
CopyTic ks............................................................................................................................1396
............................................................................................................................1402
CopyTic ksRange
iBars ............................................................................................................................1404
iBarShift ............................................................................................................................1405
iClose ............................................................................................................................1408
iHigh ............................................................................................................................1410
iHighest ............................................................................................................................1412
iLow ............................................................................................................................1413
iLow est ............................................................................................................................1415
iOpen ............................................................................................................................1416
iTime ............................................................................................................................1418
............................................................................................................................1420
iTic kVolume
iRealVolume............................................................................................................................1422
iVolume ............................................................................................................................1424
iSpread ............................................................................................................................1426
17 Simboli Personalizzati
................................................................................................. 1428
............................................................................................................................1430
CustomSymbolCreate
............................................................................................................................1432
CustomSymbolDelete
............................................................................................................................1433
CustomSymbolSetInteger
............................................................................................................................1434
CustomSymbolSetDouble
............................................................................................................................1435
CustomSymbolSetString
............................................................................................................................1436
CustomSymbolSetMarginRate
............................................................................................................................1437
CustomSymbolSetSessionQuote
............................................................................................................................1438
CustomSymbolSetSessionTrade
............................................................................................................................1439
CustomRatesDelete
............................................................................................................................1440
CustomRatesReplac e
............................................................................................................................1441
CustomRatesUpdate
CustomTic............................................................................................................................1442
ksAdd
CustomTic............................................................................................................................1444
ksDelete
CustomTic............................................................................................................................1445
ksReplac e
............................................................................................................................1447
CustomBookAdd
18 Operazioni col
.................................................................................................
Grafico 1450
............................................................................................................................1453
ChartApplyTemplate
............................................................................................................................1456
ChartSaveTemplate
ChartWindow............................................................................................................................1461
Find
............................................................................................................................1463
ChartTimePric eToX Y
............................................................................................................................1464
ChartX Y ToTimePric e
ChartOpen............................................................................................................................1466
ChartFirst ............................................................................................................................1467
ChartNext............................................................................................................................1468
ChartClose............................................................................................................................1469
ChartSymbol............................................................................................................................1470
ChartPeriod............................................................................................................................1471
ChartRedraw............................................................................................................................1472
............................................................................................................................1473
ChartSetDouble
............................................................................................................................1474
ChartSetInteger
............................................................................................................................1476
ChartSetString
............................................................................................................................1478
ChartGetDouble
............................................................................................................................1480
ChartGetInteger
............................................................................................................................1482
ChartGetString
............................................................................................................................1484
ChartNavigate
ChartID ............................................................................................................................1487
ChartIndic............................................................................................................................1488
atorAdd
ChartIndic............................................................................................................................1492
atorDelete
ChartIndic............................................................................................................................1495
atorGet
ChartIndic............................................................................................................................1497
atorName
ChartIndic............................................................................................................................1498
atorsTotal
ChartWindow............................................................................................................................1499
OnDropped
............................................................................................................................1500
ChartPric eOnDropped
............................................................................................................................1501
ChartTimeOnDropped
............................................................................................................................1502
ChartX OnDropped
............................................................................................................................1503
ChartY OnDropped
............................................................................................................................1504
ChartSetSymbolPeriod
............................................................................................................................1505
ChartSc reenShot
19 Funzioni di Trade
................................................................................................. 1508
OrderCalc............................................................................................................................1511
Margin
OrderCalc............................................................................................................................1512
Profit
OrderChec............................................................................................................................1513
k
OrderSend............................................................................................................................1514
............................................................................................................................1519
OrderSendAsync
............................................................................................................................1530
PositionsTotal
............................................................................................................................1531
PositionGetSymbol
............................................................................................................................1532
PositionSelec t
............................................................................................................................1533
PositionSelec tByTic ket
............................................................................................................................1534
PositionGetDouble
............................................................................................................................1535
PositionGetInteger
............................................................................................................................1537
PositionGetString
............................................................................................................................1538
PositionGetTic ket
............................................................................................................................1539
OrdersTotal
............................................................................................................................1540
OrderGetTic ket
OrderSelec............................................................................................................................1542
t
............................................................................................................................1543
OrderGetDouble
............................................................................................................................1544
OrderGetInteger
© 2000-2021, MetaQuotes Ltd
11 Content
............................................................................................................................1545
OrderGetString
............................................................................................................................1546
HistorySelec t
............................................................................................................................1548
HistorySelec tByPosition
............................................................................................................................1549
HistoryOrderSelec t
............................................................................................................................1550
HistoryOrdersTotal
............................................................................................................................1551
HistoryOrderGetTic ket
............................................................................................................................1553
HistoryOrderGetDouble
............................................................................................................................1554
HistoryOrderGetInteger
............................................................................................................................1557
HistoryOrderGetString
............................................................................................................................1558
HistoryDealSelec t
............................................................................................................................1559
HistoryDealsTotal
............................................................................................................................1560
HistoryDealGetTic ket
............................................................................................................................1563
HistoryDealGetDouble
............................................................................................................................1564
HistoryDealGetInteger
............................................................................................................................1567
HistoryDealGetString
20 Segnali di Trade
................................................................................................. 1568
............................................................................................................................1569
SignalBaseGetDouble
............................................................................................................................1570
SignalBaseGetInteger
............................................................................................................................1571
SignalBaseGetString
............................................................................................................................1572
SignalBaseSelec t
............................................................................................................................1573
SignalBaseTotal
............................................................................................................................1574
SignalInfoGetDouble
............................................................................................................................1575
SignalInfoGetInteger
............................................................................................................................1576
SignalInfoGetString
............................................................................................................................1577
SignalInfoSetDouble
............................................................................................................................1578
SignalInfoSetInteger
............................................................................................................................1579
SignalSubsc ribe
............................................................................................................................1580
SignalUnsubsc ribe
21 Funzioni di Rete
................................................................................................. 1581
............................................................................................................................1583
Soc ketCreate
............................................................................................................................1586
Soc ketClose
............................................................................................................................1589
Soc ketConnec t
............................................................................................................................1593
Soc ketIsConnec ted
............................................................................................................................1594
Soc ketIsReadable
............................................................................................................................1597
Soc ketIsWritable
............................................................................................................................1598
Soc ketTimeouts
............................................................................................................................1599
Soc ketRead
............................................................................................................................1603
Soc ketSend
............................................................................................................................1607
Soc ketTlsHandshake
............................................................................................................................1608
Soc ketTlsCertific ate
............................................................................................................................1612
Soc ketTlsRead
............................................................................................................................1616
Soc ketTlsReadAvailable
............................................................................................................................1617
Soc ketTlsSend
............................................................................................................................1618
WebRe q uest
SendFTP ............................................................................................................................1621
SendMail ............................................................................................................................1622
............................................................................................................................1623
SendNotific ation
22 Variabili Globali
.................................................................................................
del Terminale 1624
............................................................................................................................1625
GlobalVariableChec k
............................................................................................................................1626
GlobalVariableTime
............................................................................................................................1627
GlobalVariableDel
............................................................................................................................1628
GlobalVariableGet
............................................................................................................................1629
GlobalVariableName
............................................................................................................................1630
GlobalVariableSet
............................................................................................................................1631
GlobalVariablesFlush
............................................................................................................................1632
GlobalVariableTemp
............................................................................................................................1633
GlobalVariableSetOnCondition
............................................................................................................................1634
GlobalVariablesDeleteAll
............................................................................................................................1635
GlobalVariablesTotal
23 Funzioni con.................................................................................................
i File 1636
............................................................................................................................1639
FileSelec tDialog
............................................................................................................................1642
FileFindFirst
FileFindNext............................................................................................................................1644
............................................................................................................................1646
FileFindClose
FileIsExist ............................................................................................................................1648
FileOpen ............................................................................................................................1651
FileClose ............................................................................................................................1654
FileCopy ............................................................................................................................1655
FileDelete............................................................................................................................1658
FileMove ............................................................................................................................1660
FileFlush ............................................................................................................................1662
............................................................................................................................1664
FileGetInteger
FileIsEnding............................................................................................................................1667
............................................................................................................................1669
FileIsLineEnding
............................................................................................................................1674
FileReadArray
FileReadBool............................................................................................................................1676
............................................................................................................................1679
FileReadDatetime
............................................................................................................................1682
FileReadDouble
............................................................................................................................1685
FileReadFloat
............................................................................................................................1688
FileReadInteger
FileReadLong............................................................................................................................1692
............................................................................................................................1695
FileReadNumber
............................................................................................................................1700
FileReadString
............................................................................................................................1702
FileReadStruc t
FileSeek ............................................................................................................................1706
FileSize ............................................................................................................................1709
FileTell ............................................................................................................................1711
FileWrite ............................................................................................................................1714
............................................................................................................................1717
FileWriteArray
............................................................................................................................1720
FileWriteDouble
............................................................................................................................1723
FileWriteFloat
............................................................................................................................1725
FileWriteInteger
............................................................................................................................1728
FileWriteLong
............................................................................................................................1730
FileWriteString
............................................................................................................................1733
FileWriteStruc t
FileLoad ............................................................................................................................1736
FileSave ............................................................................................................................1738
FolderCreate............................................................................................................................1740
FolderDelete............................................................................................................................1743
FolderClean ............................................................................................................................1746
24 Indicatori Personalizzati
................................................................................................. 1749
............................................................................................................................1753
Stili Indic atore negli Esempi
DRAW _NONE
......................................................................................................................... 1761
DRAW _LINE
......................................................................................................................... 1764
DRAW _SECTION
......................................................................................................................... 1768
DRAW _H.........................................................................................................................
ISTOGRAM 1772
DRAW _H.........................................................................................................................
ISTOGRAM2 1776
DRAW _ARROW
......................................................................................................................... 1780
DRAW _Z.........................................................................................................................
IGZAG 1785
DRAW _FILLING
......................................................................................................................... 1790
DRAW _BARS
......................................................................................................................... 1795
DRAW _CANDLES
......................................................................................................................... 1801
DRAW _COLOR
.........................................................................................................................
_LINE 1808
DRAW _COLOR
.........................................................................................................................
_SECTION 1813
DRAW _COLOR
.........................................................................................................................
_HISTOGRAM 1819
© 2000-2021, MetaQuotes Ltd
13 Content
DRAW _COLOR
.........................................................................................................................
_HISTOGRAM2 1824
DRAW _COLOR
.........................................................................................................................
_ARROW 1829
DRAW _COLOR
.........................................................................................................................
_ZIGZAG 1835
DRAW _COLOR
.........................................................................................................................
_BARS 1840
DRAW _COLOR
.........................................................................................................................
_CANDLES 1847
Connec tion............................................................................................................................1854
betw een Indic ator Properties and Func tions
............................................................................................................................1857
SetIndexBuffer
............................................................................................................................1860
Indic atorSetDouble
............................................................................................................................1864
Indic atorSetInteger
............................................................................................................................1868
Indic atorSetString
............................................................................................................................1871
PlotIndexSetDouble
............................................................................................................................1872
PlotIndexSetInteger
............................................................................................................................1876
PlotIndexSetString
............................................................................................................................1877
PlotIndexGetInteger
25 Oggetti Grafici
................................................................................................. 1880
............................................................................................................................1882
Ob jec tCreate
Ob jec tName............................................................................................................................1886
............................................................................................................................1887
Ob jec tDelete
............................................................................................................................1888
Ob jec tsDeleteAll
Ob jec tFind............................................................................................................................1889
............................................................................................................................1890
Ob jec tGetTimeByValue
............................................................................................................................1891
Ob jec tGetValueByTime
Ob jec tMove............................................................................................................................1892
............................................................................................................................1893
Ob jec tsTotal
............................................................................................................................1894
Ob jec tSetDouble
............................................................................................................................1898
Ob jec tSetInteger
............................................................................................................................1901
Ob jec tSetString
............................................................................................................................1903
Ob jec tGetDouble
............................................................................................................................1905
Ob jec tGetInteger
............................................................................................................................1907
Ob jec tGetString
TextSetFont ............................................................................................................................1909
TextOut ............................................................................................................................1912
TextGetSize ............................................................................................................................1916
26 Indicatori Tecnici
................................................................................................. 1917
iAC ............................................................................................................................1920
iAD ............................................................................................................................1925
iADX ............................................................................................................................1930
iADX Wilder............................................................................................................................1935
iAlligator ............................................................................................................................1940
iAMA ............................................................................................................................1947
iAO ............................................................................................................................1952
iATR ............................................................................................................................1957
iBearsPow............................................................................................................................1962
er
iBands ............................................................................................................................1967
............................................................................................................................1973
iBullsPow er
iCCI ............................................................................................................................1978
iChaikin ............................................................................................................................1983
iCustom ............................................................................................................................1988
iDEMA ............................................................................................................................1992
iDeMarker............................................................................................................................1997
iEnvelopes............................................................................................................................2002
iForc e ............................................................................................................................2008
iFrac tals ............................................................................................................................2013
iFrAMA ............................................................................................................................2018
iGator ............................................................................................................................2023
iIc himoku ............................................................................................................................2030
iBWMFI ............................................................................................................................2037
iMomentum ............................................................................................................................2042
© 2000-2021, MetaQuotes Ltd
14 Content
iMFI ............................................................................................................................2047
iMA ............................................................................................................................2052
iOsMA ............................................................................................................................2057
iMACD ............................................................................................................................2062
iOBV ............................................................................................................................2068
iSAR ............................................................................................................................2073
iRSI ............................................................................................................................2078
iRVI ............................................................................................................................2083
iStdDev ............................................................................................................................2088
iStoc hastic............................................................................................................................2093
iTEMA ............................................................................................................................2099
iTriX ............................................................................................................................2104
iWPR ............................................................................................................................2109
iVIDyA ............................................................................................................................2114
iVolumes ............................................................................................................................2119
27 Lavorare con.................................................................................................
i risultati di ottimizzazione 2124
FrameFirst............................................................................................................................2125
............................................................................................................................2126
FrameFilter
FrameNext............................................................................................................................2127
............................................................................................................................2128
FrameInputs
FrameAdd............................................................................................................................2129
............................................................................................................................2130
ParameterGetRange
............................................................................................................................2133
ParameterSetRange
28 Funzioni Eventi
................................................................................................. 2135
............................................................................................................................2136
EventSetMillisec ondTimer
............................................................................................................................2137
EventSetTimer
............................................................................................................................2138
EventKillTimer
............................................................................................................................2139
EventChartCustom
29 Lavorare con.................................................................................................
OpenCL 2145
............................................................................................................................2147
CLHandleType
............................................................................................................................2148
CLGetInfoInteger
............................................................................................................................2151
CLGetInfoString
............................................................................................................................2154
CLContextCreate
............................................................................................................................2155
CLContextFree
CLGetDevic............................................................................................................................2156
eInfo
............................................................................................................................2161
CLProgramCreate
............................................................................................................................2165
CLProgramFree
............................................................................................................................2166
CLKernelCreate
............................................................................................................................2167
CLKernelFree
............................................................................................................................2168
CLSetKernelArg
............................................................................................................................2169
CLSetKernelArgMem
............................................................................................................................2170
CLSetKernelArgMemLoc al
............................................................................................................................2171
CLBufferCreate
............................................................................................................................2172
CLBufferFree
............................................................................................................................2173
CLBufferWrite
............................................................................................................................2174
CLBufferRead
CLExec ute............................................................................................................................2175
............................................................................................................................2177
CLExec utionStatus
30 Lavorare con.................................................................................................
i database 2178
............................................................................................................................2182
DatabaseOpen
............................................................................................................................2184
DatabaseClose
............................................................................................................................2185
DatabaseImport
............................................................................................................................2187
DatabaseExport
............................................................................................................................2189
DatabasePrint
............................................................................................................................2194
DatabaseTableExists
............................................................................................................................2195
DatabaseExec ute
............................................................................................................................2207
DatabasePrepare
............................................................................................................................2216
DatabaseReset
............................................................................................................................2222
DatabaseBind
............................................................................................................................2227
DatabaseBindArray
............................................................................................................................2232
DatabaseRead
............................................................................................................................2233
DatabaseReadBind
............................................................................................................................2237
DatabaseFinalize
............................................................................................................................2238
DatabaseTransac tionBegin
............................................................................................................................2243
DatabaseTransac tionCommit
............................................................................................................................2244
DatabaseTransac tionRollbac k
............................................................................................................................2245
DatabaseColumnsCount
............................................................................................................................2246
DatabaseColumnName
............................................................................................................................2247
DatabaseColumnType
............................................................................................................................2248
DatabaseColumnSize
............................................................................................................................2249
DatabaseColumnText
............................................................................................................................2250
DatabaseColumnInteger
............................................................................................................................2251
DatabaseColumnLong
............................................................................................................................2252
DatabaseColumnDouble
............................................................................................................................2253
DatabaseColumnBlob
31 Lavorare con.................................................................................................
DirectX 2254
............................................................................................................................2256
DX ContextCreate
............................................................................................................................2257
DX ContextSetSize
............................................................................................................................2258
DX ContextGetSize
............................................................................................................................2259
DX ContextClearColors
............................................................................................................................2260
DX ContextClearDepth
............................................................................................................................2261
DX ContextGetColors
............................................................................................................................2262
DX ContextGetDepth
............................................................................................................................2263
DX BufferCreate
............................................................................................................................2264
DX TextureCreate
............................................................................................................................2271
DX InputCreate
............................................................................................................................2272
DX InputSet
............................................................................................................................2273
DX ShaderCreate
............................................................................................................................2274
DX ShaderSetLayout
............................................................................................................................2275
DX ShaderInputsSet
............................................................................................................................2276
DX ShaderTexturesSet
DX Draw ............................................................................................................................2277
............................................................................................................................2278
DX Draw Indexed
............................................................................................................................2279
DX PrimiveTopologySet
............................................................................................................................2280
DX BufferSet
............................................................................................................................2281
DX ShaderSet
............................................................................................................................2282
DX HandleType
DX Release............................................................................................................................2283
32 Integrazione ................................................................................................. 2284
............................................................................................................................2285
MetaTrader per Python
initialize......................................................................................................................... 2291
login ......................................................................................................................... 2293
shutdown ......................................................................................................................... 2296
version......................................................................................................................... 2297
last _error
......................................................................................................................... 2299
account.........................................................................................................................
_info 2301
terminal.........................................................................................................................
_info 2304
symbols.........................................................................................................................
_total 2307
symbols.........................................................................................................................
_get 2308
symbol_.........................................................................................................................
info 2311
symbol_.........................................................................................................................
info_tick 2315
symbol_.........................................................................................................................
select 2317
market _.........................................................................................................................
book _add 2321
market _.........................................................................................................................
book _get 2322
market _.........................................................................................................................
book _release 2325
© 2000-2021, MetaQuotes Ltd
16 Content
copy _rates
.........................................................................................................................
_from 2326
copy _rates
.........................................................................................................................
_from_pos 2330
copy _rates
.........................................................................................................................
_range 2333
copy _ticks
.........................................................................................................................
_from 2336
copy _ticks
.........................................................................................................................
_range 2339
orders _.........................................................................................................................
total 2342
orders _.........................................................................................................................
get 2343
order _calc
.........................................................................................................................
_margin 2346
order _calc
.........................................................................................................................
_profit 2349
order _check
......................................................................................................................... 2352
order _send
......................................................................................................................... 2356
positions.........................................................................................................................
_total 2361
positions.........................................................................................................................
_get 2362
history _.........................................................................................................................
orders _total 2365
history _.........................................................................................................................
orders _get 2367
history _.........................................................................................................................
deals _total 2370
history _.........................................................................................................................
deals _get 2372
33 Libreria Standard
................................................................................................. 2376
Matematic............................................................................................................................2377
he
Statistiche
......................................................................................................................... 2378
Caratteristiche
................................................................................................................
statistiche 2381
MathMean ........................................................................................................... 2382
MathVariance ........................................................................................................... 2383
MathSkewness ........................................................................................................... 2384
MathKurtosis ........................................................................................................... 2385
MathMoments ........................................................................................................... 2386
MathMedian ........................................................................................................... 2387
MathStandardDeviation
........................................................................................................... 2388
MathAverageDeviation
........................................................................................................... 2389
Distribuzione ................................................................................................................
Normale 2390
MathProbabilityDensityNormal
........................................................................................................... 2394
MathCumulativeDistributionNormal
........................................................................................................... 2396
MathQuantileNormal
........................................................................................................... 2398
MathRandomNormal
........................................................................................................... 2400
MathMomentsNormal
........................................................................................................... 2401
Distribuzione ................................................................................................................
Log-normale 2402
MathProbabilityDensityLognormal
........................................................................................................... 2406
MathCumulativeDistributionLognormal
........................................................................................................... 2408
MathQuantileLognormal
........................................................................................................... 2410
MathRandomLognormal
........................................................................................................... 2412
MathMomentsLognormal
........................................................................................................... 2413
La distribuzione
................................................................................................................
beta 2414
MathProbabilityDensityBeta
........................................................................................................... 2418
MathCumulativeDistributionBeta
........................................................................................................... 2420
MathQuantileBeta
........................................................................................................... 2422
MathRandomBeta
........................................................................................................... 2424
MathMomentsBeta
........................................................................................................... 2425
Distribuzione ................................................................................................................
beta non centrale 2426
MathProbabilityDensityNoncentralBeta
........................................................................................................... 2430
MathCumulativeDistributionNoncentralBeta
........................................................................................................... 2432
MathQuantileNoncentralBeta
........................................................................................................... 2434
MathRandomNoncentralBeta
........................................................................................................... 2436
MathMomentsNoncentralBeta
........................................................................................................... 2437
Distribuzione ................................................................................................................
gamma 2438
MathProbabilityDensityGamma
........................................................................................................... 2442
MathCumulativeDistributionGamma
........................................................................................................... 2444
MathQuantileGamma
........................................................................................................... 2446
MathRandomGamma
........................................................................................................... 2448
MathMomentsGamma
........................................................................................................... 2449
Distribuzione
................................................................................................................
del Chi-quadrato 2450
MathProbabilityDensityChiSquare
........................................................................................................... 2454
MathCumulativeDistributionChiSquare
........................................................................................................... 2456
MathQuantileChiSquare
........................................................................................................... 2458
MathRandomChiSquare
........................................................................................................... 2460
MathMomentsChiSquare
........................................................................................................... 2461
Distribuzione
................................................................................................................
chi-quadrato non centrale 2462
MathProbabilityDensityNoncentralChiSquare
........................................................................................................... 2466
MathCumulativeDistributionNoncentralChiSquare
........................................................................................................... 2468
MathQuantileNoncentralChiSquare
........................................................................................................... 2470
MathRandomNoncentralChiSquare
........................................................................................................... 2472
MathMomentsNoncentralChiSquare
........................................................................................................... 2473
Distribuzione
................................................................................................................
Esponenziale 2474
MathProbabilityDensityE
...........................................................................................................
x ponential 2478
MathCumulativeDistributionE
...........................................................................................................
x ponential 2480
MathQuantileE
...........................................................................................................
x ponential 2482
MathRandomE ...........................................................................................................
x ponential 2484
MathMomentsE...........................................................................................................
x ponential 2485
Distribuzione-F
................................................................................................................ 2486
MathProbabilityDensityF
........................................................................................................... 2490
MathCumulativeDistributionF
........................................................................................................... 2492
MathQuantileF
........................................................................................................... 2494
MathRandomF ........................................................................................................... 2496
MathMomentsF........................................................................................................... 2497
Distribuzione-F
................................................................................................................
noncentrale 2498
MathProbabilityDensityNoncentralF
........................................................................................................... 2502
MathCumulativeDistributionNoncentralF
........................................................................................................... 2504
MathQuantileNoncentralF
........................................................................................................... 2506
MathRandomNoncentralF
........................................................................................................... 2508
MathMomentsNoncentralF
........................................................................................................... 2509
Distribuzione-T
................................................................................................................ 2510
MathProbabilityDensityT
........................................................................................................... 2514
MathCumulativeDistributionT
........................................................................................................... 2516
MathQuantileT
........................................................................................................... 2518
MathRandomT ........................................................................................................... 2520
MathMomentsT........................................................................................................... 2521
Distribuzione-T
................................................................................................................
non centrale 2522
MathProbabilityDensityNoncentralT
........................................................................................................... 2526
MathCumulativeDistributionNoncentralT
........................................................................................................... 2528
MathQuantileNoncentralT
........................................................................................................... 2530
MathRandomNoncentralT
........................................................................................................... 2532
MathMomentsNoncentralT
........................................................................................................... 2533
Distribuzione
................................................................................................................
Logistica 2534
MathProbabilityDensityLogistic
........................................................................................................... 2538
MathCumulativeDistributionLogistic
........................................................................................................... 2540
MathQuantileLogistic
........................................................................................................... 2542
MathRandomLogistic
........................................................................................................... 2544
MathMomentsLogistic
........................................................................................................... 2545
Distribuzione
................................................................................................................
di Cauchy 2546
MathProbabilityDensityCauchy
........................................................................................................... 2550
MathCumulativeDistributionCauchy
........................................................................................................... 2552
MathQuantileCauchy
........................................................................................................... 2554
MathRandomCauchy
........................................................................................................... 2556
MathMomentsCauchy
........................................................................................................... 2557
Distribuzione
................................................................................................................
uniforme 2558
MathProbabilityDensityUniform
........................................................................................................... 2562
MathCumulativeDistributionUniform
........................................................................................................... 2564
MathQuantileUniform
........................................................................................................... 2566
MathRandomUniform
........................................................................................................... 2568
MathMomentsUniform
........................................................................................................... 2569
Distribuzione
................................................................................................................
di Weibull 2570
MathProbabilityDensityWeibull
........................................................................................................... 2574
MathCumulativeDistributionWeibull
........................................................................................................... 2576
MathQuantileWeibull
........................................................................................................... 2578
MathRandomWeibull
........................................................................................................... 2580
MathMomentsWeibull
........................................................................................................... 2581
Distribuzione
................................................................................................................
binomiale 2582
MathProbabilityDensityBinomial
........................................................................................................... 2585
MathCumulativeDistributionBinomial
........................................................................................................... 2587
MathQuantileBinomial
........................................................................................................... 2589
MathRandomBinomial
........................................................................................................... 2591
MathMomentsBinomial
........................................................................................................... 2592
Distribuzione
................................................................................................................
binomiale negativa 2593
MathProbabilityDensityNegativeBinomial
........................................................................................................... 2596
MathCumulativeDistributionNegativeBinomial
........................................................................................................... 2598
MathQuantileNegativeBinomial
........................................................................................................... 2600
MathRandomNegativeBinomial
........................................................................................................... 2602
MathMomentsNegativeBinomial
........................................................................................................... 2603
Distribuzione
................................................................................................................
geometrica 2604
MathProbabilityDensityGeometric
........................................................................................................... 2608
MathCumulativeDistributionGeometric
........................................................................................................... 2610
MathQuantileGeometric
........................................................................................................... 2612
MathRandomGeometric
........................................................................................................... 2614
MathMomentsGeometric
........................................................................................................... 2615
Distribuzione
................................................................................................................
ipergeometrica 2616
MathProbabilityDensity
...........................................................................................................
Hypergeometric 2620
MathCumulativeDistribution
...........................................................................................................
Hypergeometric 2622
MathQuantile...........................................................................................................
Hypergeometric 2624
MathRandom ...........................................................................................................
Hypergeometric 2626
MathMoments ...........................................................................................................
Hypergeometric 2627
Distribuzione
................................................................................................................
di Poisson 2628
MathProbabilityDensityPoisson
........................................................................................................... 2632
MathCumulativeDistributionPoisson
........................................................................................................... 2634
MathQuantilePoisson
........................................................................................................... 2636
MathRandomPoisson
........................................................................................................... 2638
MathMomentsPoisson
........................................................................................................... 2639
Subfunzioni................................................................................................................ 2640
MathRandomNon
...........................................................................................................
Zero 2645
MathMoments ........................................................................................................... 2646
MathPowInt ........................................................................................................... 2647
MathFactorial
........................................................................................................... 2648
MathTrunc........................................................................................................... 2649
MathRound........................................................................................................... 2650
MathArctan2 ........................................................................................................... 2652
MathGamma ........................................................................................................... 2654
MathGammaLog........................................................................................................... 2655
MathBeta ........................................................................................................... 2656
MathBetaLog ........................................................................................................... 2657
MathBetaIncomplete
........................................................................................................... 2658
MathGammaIncomplete
........................................................................................................... 2659
MathBinomialCoefficient
........................................................................................................... 2660
MathBinomialCoefficientLog
........................................................................................................... 2661
MathHypergeometric2F2
........................................................................................................... 2662
MathSequence........................................................................................................... 2663
MathSequenceByCount
........................................................................................................... 2664
MathReplicate
........................................................................................................... 2665
MathReverse
........................................................................................................... 2666
MathIdentical
........................................................................................................... 2667
MathUnique........................................................................................................... 2668
MathQuickSortAscending
........................................................................................................... 2669
MathQuickSortDescending
........................................................................................................... 2670
MathQuickSort
........................................................................................................... 2671
MathOrder........................................................................................................... 2672
MathBitwiseNot
........................................................................................................... 2673
MathBitwiseAnd
........................................................................................................... 2674
MathBitwiseOr
........................................................................................................... 2675
MathBitwise
...........................................................................................................
X or 2676
MathBitwiseShiftL
........................................................................................................... 2677
MathBitwiseShiftR
........................................................................................................... 2678
MathCumulativeSum
........................................................................................................... 2679
MathCumulativeProduct
........................................................................................................... 2680
MathCumulativeMin
........................................................................................................... 2681
MathCumulativeMa
...........................................................................................................
x 2682
MathSin ........................................................................................................... 2683
MathCos ........................................................................................................... 2684
MathTan ........................................................................................................... 2685
MathArcsin........................................................................................................... 2686
MathArccos........................................................................................................... 2687
MathArctan........................................................................................................... 2688
MathSinPi ........................................................................................................... 2689
MathCosPi ........................................................................................................... 2690
MathTanPi ........................................................................................................... 2691
MathAbs ........................................................................................................... 2692
MathCeil ........................................................................................................... 2693
MathFloor ........................................................................................................... 2694
MathSqrt ........................................................................................................... 2695
MathEx p ........................................................................................................... 2696
MathPow ........................................................................................................... 2697
MathLog ........................................................................................................... 2698
MathLog2 ........................................................................................................... 2699
MathLog10........................................................................................................... 2700
MathLog1p........................................................................................................... 2701
MathDifference
........................................................................................................... 2702
MathSample........................................................................................................... 2704
MathTukeySummary
........................................................................................................... 2707
MathRange........................................................................................................... 2708
MathMin ........................................................................................................... 2709
MathMax ........................................................................................................... 2710
MathSum ........................................................................................................... 2711
MathProduct
........................................................................................................... 2712
MathStandardDeviation
........................................................................................................... 2713
MathAverageDeviation
........................................................................................................... 2714
MathMedian........................................................................................................... 2715
MathMean ........................................................................................................... 2716
MathVariance
........................................................................................................... 2717
MathSkewness
........................................................................................................... 2718
MathKurtosis
........................................................................................................... 2719
MathEx pm1........................................................................................................... 2720
MathSinh ........................................................................................................... 2721
MathCosh ........................................................................................................... 2722
MathTanh ........................................................................................................... 2723
MathArcsinh
........................................................................................................... 2724
MathArccosh
........................................................................................................... 2725
CTrapezoidMembershipFunction
........................................................................................................... 2782
X1 ........................................................................................................... 2784
X2 ........................................................................................................... 2784
X3 ........................................................................................................... 2785
X4 ........................................................................................................... 2785
GetValue ........................................................................................................... 2786
CTriangularMembershipFunction
........................................................................................................... 2787
X1 ........................................................................................................... 2789
X2 ........................................................................................................... 2789
X3 ........................................................................................................... 2790
ToNormalMF ........................................................................................................... 2790
GetValue ........................................................................................................... 2790
C Z_ShapedMembershipFunction
........................................................................................................... 2792
A ........................................................................................................... 2794
B ........................................................................................................... 2794
GetValue ........................................................................................................... 2795
IMembershipFunction
........................................................................................................... 2796
GetValue ........................................................................................................... 2796
Fuzzy systems
................................................................................................................
rules 2797
CMamdaniFuzzyRule
........................................................................................................... 2798
Conclusion........................................................................................................... 2799
Weight ........................................................................................................... 2799
CSugenoFuzzyRule
........................................................................................................... 2800
Conclusion........................................................................................................... 2801
CSingleCondition
........................................................................................................... 2802
Not ........................................................................................................... 2802
Term ........................................................................................................... 2803
Var ........................................................................................................... 2803
CConditions ........................................................................................................... 2805
ConditionsList
........................................................................................................... 2805
Not ........................................................................................................... 2806
Op ........................................................................................................... 2806
CGenericFuzzyRule
........................................................................................................... 2808
Conclusion........................................................................................................... 2808
Condition ........................................................................................................... 2809
CreateCondition
........................................................................................................... 2809
Fuzzy systems
................................................................................................................
variables 2811
CFuzzyVariable
........................................................................................................... 2812
AddTerm ........................................................................................................... 2813
GetTermByName
........................................................................................................... 2813
Max ........................................................................................................... 2813
Min ........................................................................................................... 2814
Terms ........................................................................................................... 2814
Values ........................................................................................................... 2815
CSugenoVariable
........................................................................................................... 2816
Functions ........................................................................................................... 2816
GetFuncByName
........................................................................................................... 2817
Values ........................................................................................................... 2817
Fuzzy terms................................................................................................................ 2818
MembershipFunction
........................................................................................................... 2819
Fuzzy systems
................................................................................................................ 2820
Mamdani system
........................................................................................................... 2821
AggregationMethod
........................................................................................................... 2821
Calculate ........................................................................................................... 2822
DefuzzificationMethod
........................................................................................................... 2822
EmptyRule ........................................................................................................... 2822
ImplicationMethod
........................................................................................................... 2822
Output ........................................................................................................... 2823
OutputByName
........................................................................................................... 2823
ParseRule ........................................................................................................... 2823
Rules ........................................................................................................... 2824
Sugeno system
........................................................................................................... 2825
Calculate ........................................................................................................... 2825
CreateSugenoFunction
........................................................................................................... 2826
EmptyRule ........................................................................................................... 2827
Output ........................................................................................................... 2827
OutputByName
........................................................................................................... 2827
ParseRule ........................................................................................................... 2827
Rules ........................................................................................................... 2828
OpenCL ............................................................................................................................2829
BufferCreate
......................................................................................................................... 2831
BufferFree
......................................................................................................................... 2832
BufferFromArray
......................................................................................................................... 2833
BufferRead
......................................................................................................................... 2834
BufferWrite
......................................................................................................................... 2835
Ex ecute......................................................................................................................... 2836
GetConte .........................................................................................................................
xt 2837
Get Kernel
......................................................................................................................... 2838
Get KernelName
......................................................................................................................... 2839
GetProgram
......................................................................................................................... 2840
Initialize
......................................................................................................................... 2841
KernelCreate
......................................................................................................................... 2842
KernelFree
......................................................................................................................... 2843
SetArgument
......................................................................................................................... 2844
SetArgumentBuffer
......................................................................................................................... 2845
SetArgumentLocalMemory
......................................................................................................................... 2846
SetBuffersCount
......................................................................................................................... 2847
Set KernelsCount
......................................................................................................................... 2848
Shutdown ......................................................................................................................... 2849
SupportDouble
......................................................................................................................... 2850
Basic Class............................................................................................................................2851
COb jec t
Prev ......................................................................................................................... 2852
Prev ......................................................................................................................... 2853
Nex t ......................................................................................................................... 2854
Nex t ......................................................................................................................... 2855
Compare ......................................................................................................................... 2856
Save ......................................................................................................................... 2858
Load ......................................................................................................................... 2860
Type ......................................................................................................................... 2862
Collezione............................................................................................................................2863
Dati
CArray ......................................................................................................................... 2864
Step ................................................................................................................ 2866
Step ................................................................................................................ 2867
Total ................................................................................................................ 2868
Available ................................................................................................................ 2869
Max ................................................................................................................ 2870
IsSorted ................................................................................................................ 2871
SortMode ................................................................................................................ 2872
Clear ................................................................................................................ 2873
Sort ................................................................................................................ 2874
Save ................................................................................................................ 2875
Load ................................................................................................................ 2876
CArrayChar
......................................................................................................................... 2877
Reserve ................................................................................................................ 2880
Resize ................................................................................................................ 2881
Shutdown ................................................................................................................ 2882
CArrayInt
......................................................................................................................... 2954
Reserve ................................................................................................................ 2957
Resize ................................................................................................................ 2958
Shutdown ................................................................................................................ 2959
Add ................................................................................................................ 2960
AddArray ................................................................................................................ 2961
AddArray ................................................................................................................ 2962
Insert ................................................................................................................ 2964
InsertArray................................................................................................................ 2965
InsertArray................................................................................................................ 2966
AssignArray................................................................................................................ 2968
AssignArray................................................................................................................ 2969
Update ................................................................................................................ 2971
Shift ................................................................................................................ 2972
Delete ................................................................................................................ 2973
DeleteRange ................................................................................................................ 2974
At ................................................................................................................ 2975
CompareArray ................................................................................................................ 2977
CompareArray ................................................................................................................ 2978
InsertSort ................................................................................................................ 2979
Search ................................................................................................................ 2980
SearchGreat ................................................................................................................ 2981
SearchLess................................................................................................................ 2982
SearchGreatOrEqual
................................................................................................................ 2983
SearchLessOrEqual
................................................................................................................ 2984
SearchFirst................................................................................................................ 2985
SearchLast................................................................................................................ 2986
SearchLinear ................................................................................................................ 2987
Save ................................................................................................................ 2988
Load ................................................................................................................ 2990
Type ................................................................................................................ 2992
CArrayLong
......................................................................................................................... 2993
Reserve ................................................................................................................ 2996
Resize ................................................................................................................ 2997
Shutdown ................................................................................................................ 2998
Add ................................................................................................................ 2999
AddArray ................................................................................................................ 3000
AddArray ................................................................................................................ 3001
Insert ................................................................................................................ 3003
InsertArray................................................................................................................ 3004
InsertArray................................................................................................................ 3005
AssignArray................................................................................................................ 3007
AssignArray................................................................................................................ 3008
Update ................................................................................................................ 3010
Shift ................................................................................................................ 3011
Delete ................................................................................................................ 3012
DeleteRange ................................................................................................................ 3013
At ................................................................................................................ 3014
CompareArray ................................................................................................................ 3016
CompareArray ................................................................................................................ 3017
InsertSort ................................................................................................................ 3018
Search ................................................................................................................ 3019
SearchGreat ................................................................................................................ 3020
SearchLess................................................................................................................ 3021
SearchGreatOrEqual
................................................................................................................ 3022
SearchLessOrEqual
................................................................................................................ 3023
SearchFirst................................................................................................................ 3024
SearchLast................................................................................................................ 3025
CRedBlackTreeNode
.........................................................................................................................
<T> 3316
Value ................................................................................................................ 3317
Parent ................................................................................................................ 3318
Left ................................................................................................................ 3319
Right ................................................................................................................ 3320
Color ................................................................................................................ 3321
IsLeaf ................................................................................................................ 3322
CreateEmptyNode
................................................................................................................ 3323
CLinkedListNode
.........................................................................................................................
<T> 3324
List ................................................................................................................ 3325
Nex t ................................................................................................................ 3326
Previous ................................................................................................................ 3327
Value ................................................................................................................ 3328
C KeyValuePair
.........................................................................................................................
<TKey,TValue> 3329
Key ................................................................................................................ 3330
Value ................................................................................................................ 3331
Clone ................................................................................................................ 3332
Compare ................................................................................................................ 3333
Equals ................................................................................................................ 3334
HashCode ................................................................................................................ 3335
CArrayList
.........................................................................................................................
<T> 3336
Capacity ................................................................................................................ 3338
Count ................................................................................................................ 3339
Contains ................................................................................................................ 3340
TrimEx cess................................................................................................................ 3341
TryGetValue ................................................................................................................ 3342
TrySetValue................................................................................................................ 3343
Add ................................................................................................................ 3344
AddRange ................................................................................................................ 3345
Insert ................................................................................................................ 3346
InsertRange ................................................................................................................ 3347
CopyTo ................................................................................................................ 3348
BinarySearch ................................................................................................................ 3349
Index Of ................................................................................................................ 3350
LastIndex Of ................................................................................................................ 3351
Clear ................................................................................................................ 3352
Remove ................................................................................................................ 3353
RemoveAt ................................................................................................................ 3354
RemoveRange ................................................................................................................ 3355
Reverse ................................................................................................................ 3356
Sort ................................................................................................................ 3357
C HashMap.........................................................................................................................
<TKey,TValue> 3358
Add ................................................................................................................ 3360
Count ................................................................................................................ 3361
Comparer ................................................................................................................ 3362
Contains ................................................................................................................ 3363
Contains Key ................................................................................................................ 3364
ContainsValue ................................................................................................................ 3365
CopyTo ................................................................................................................ 3366
Clear ................................................................................................................ 3367
Remove ................................................................................................................ 3368
TryGetValue ................................................................................................................ 3369
TrySetValue................................................................................................................ 3370
C HashSet.........................................................................................................................
<T> 3371
Add ................................................................................................................ 3373
Count ................................................................................................................ 3374
Contains ................................................................................................................ 3375
Comparer ................................................................................................................ 3376
SetUnicode................................................................................................................ 3502
SetCommon................................................................................................................ 3503
Open ................................................................................................................ 3504
Close ................................................................................................................ 3505
Delete ................................................................................................................ 3506
IsEx ist ................................................................................................................ 3507
Copy ................................................................................................................ 3508
Move ................................................................................................................ 3509
Size ................................................................................................................ 3510
Tell ................................................................................................................ 3511
Seek ................................................................................................................ 3512
Flush ................................................................................................................ 3513
IsEnding ................................................................................................................ 3514
IsLineEnding ................................................................................................................ 3515
FolderCreate ................................................................................................................ 3516
FolderDelete ................................................................................................................ 3517
FolderClean................................................................................................................ 3518
FileFindFirst ................................................................................................................ 3519
FileFindNex................................................................................................................
t 3520
FileFindClose ................................................................................................................ 3521
CFileBin......................................................................................................................... 3522
Open ................................................................................................................ 3524
WriteChar ................................................................................................................ 3525
WriteShort................................................................................................................ 3526
WriteInteger ................................................................................................................ 3527
WriteLong ................................................................................................................ 3528
WriteFloat ................................................................................................................ 3529
WriteDouble ................................................................................................................ 3530
WriteString................................................................................................................ 3531
WriteCharArray................................................................................................................ 3532
WriteShortArray
................................................................................................................ 3533
WriteIntegerArray
................................................................................................................ 3534
WriteLongArray................................................................................................................ 3535
WriteFloatArray
................................................................................................................ 3536
WriteDoubleArray
................................................................................................................ 3537
WriteObject ................................................................................................................ 3538
ReadChar ................................................................................................................ 3539
ReadShort ................................................................................................................ 3540
ReadInteger ................................................................................................................ 3541
ReadLong ................................................................................................................ 3542
ReadFloat ................................................................................................................ 3543
ReadDouble................................................................................................................ 3544
ReadString ................................................................................................................ 3545
ReadCharArray ................................................................................................................ 3546
ReadShortArray................................................................................................................ 3547
ReadIntegerArray
................................................................................................................ 3548
ReadLongArray ................................................................................................................ 3549
ReadFloatArray................................................................................................................ 3550
ReadDoubleArray
................................................................................................................ 3551
ReadObject................................................................................................................ 3552
CFileTx t......................................................................................................................... 3553
Open ................................................................................................................ 3554
WriteString................................................................................................................ 3555
ReadString ................................................................................................................ 3556
Stringhe ............................................................................................................................3557
CString ......................................................................................................................... 3558
Str ................................................................................................................ 3560
Len ................................................................................................................ 3561
IsShowScaleTop................................................................................................................ 3968
IsShowScaleBottom
................................................................................................................ 3969
IsShowGrid................................................................................................................ 3970
IsShowDescriptors
................................................................................................................ 3971
IsShowPercent ................................................................................................................ 3972
VScaleMin ................................................................................................................ 3973
VScaleMax ................................................................................................................ 3974
NumGrid ................................................................................................................ 3975
DataOffset................................................................................................................ 3976
DataTotal ................................................................................................................ 3977
DrawDescriptors
................................................................................................................ 3978
DrawData ................................................................................................................ 3979
Create ................................................................................................................ 3980
AllowedShowFlags
................................................................................................................ 3981
ShowLegend ................................................................................................................ 3982
ShowScaleLeft ................................................................................................................ 3983
ShowScaleRight................................................................................................................ 3984
ShowScaleTop ................................................................................................................ 3985
ShowScaleBottom
................................................................................................................ 3986
ShowGrid ................................................................................................................ 3987
ShowDescriptors
................................................................................................................ 3988
ShowValue ................................................................................................................ 3989
ShowPercent ................................................................................................................ 3990
LegendAlignment
................................................................................................................ 3991
Accumulative ................................................................................................................ 3992
VScaleParams ................................................................................................................ 3993
DescriptorUpdate
................................................................................................................ 3994
ColorUpdate ................................................................................................................ 3995
ValuesCheck ................................................................................................................ 3996
Redraw ................................................................................................................ 3997
DrawBackground................................................................................................................ 3998
DrawLegend ................................................................................................................ 3999
DrawLegendVertical
................................................................................................................ 4000
DrawLegend ................................................................................................................
Horizontal 4001
CalcScales ................................................................................................................ 4002
DrawScales................................................................................................................ 4003
DrawScaleLeft ................................................................................................................ 4004
DrawScaleRight................................................................................................................ 4005
DrawScaleTop ................................................................................................................ 4006
DrawScaleBottom
................................................................................................................ 4007
DrawGrid ................................................................................................................ 4008
DrawChart................................................................................................................ 4009
C HistogramChart
......................................................................................................................... 4010
Gradient ................................................................................................................ 4015
BarGap ................................................................................................................ 4016
BarMinSize................................................................................................................ 4017
BarBorder ................................................................................................................ 4018
Create ................................................................................................................ 4019
SeriesAdd ................................................................................................................ 4020
SeriesInsert ................................................................................................................ 4021
SeriesUpdate ................................................................................................................ 4022
SeriesDelete ................................................................................................................ 4023
ValueUpdate ................................................................................................................ 4024
DrawData ................................................................................................................ 4025
DrawBar ................................................................................................................ 4026
GradientBrush ................................................................................................................ 4027
CLineChart
......................................................................................................................... 4028
Filled ................................................................................................................ 4033
ScalePPB......................................................................................................................... 4102
ShowO H.........................................................................................................................
LC 4103
ShowLineBid
......................................................................................................................... 4104
ShowLineAsk
......................................................................................................................... 4105
ShowLastLine
......................................................................................................................... 4106
ShowPeriodSep
......................................................................................................................... 4107
ShowGrid......................................................................................................................... 4108
ShowVolumes
......................................................................................................................... 4109
ShowOb.........................................................................................................................
jectDescr 4110
ShowDateScale
......................................................................................................................... 4111
ShowPriceScale
......................................................................................................................... 4112
ColorBackground
......................................................................................................................... 4113
ColorForeground
......................................................................................................................... 4114
ColorGrid
......................................................................................................................... 4115
ColorBarUp
......................................................................................................................... 4116
ColorBarDown
......................................................................................................................... 4117
ColorCandleBull
......................................................................................................................... 4118
ColorCandleBear
......................................................................................................................... 4119
ColorChartLine
......................................................................................................................... 4120
ColorVolumes
......................................................................................................................... 4121
ColorLineBid
......................................................................................................................... 4122
ColorLineAsk
......................................................................................................................... 4123
ColorLineLast
......................................................................................................................... 4124
ColorStopLevels
......................................................................................................................... 4125
VisibleBars
......................................................................................................................... 4126
WindowsTotal
......................................................................................................................... 4127
WindowIsVisible
......................................................................................................................... 4128
Window.........................................................................................................................
Handle 4129
FirstVisibleBar
......................................................................................................................... 4130
WidthInBars
......................................................................................................................... 4131
WidthInPi
.........................................................................................................................
x els 4132
HeightInPi
.........................................................................................................................
x els 4133
PriceMin......................................................................................................................... 4134
PriceMa.........................................................................................................................
x 4135
Attach ......................................................................................................................... 4136
FirstChart
......................................................................................................................... 4137
Nex tChart
......................................................................................................................... 4138
Open ......................................................................................................................... 4139
Detach ......................................................................................................................... 4140
Close ......................................................................................................................... 4141
BringToTop
......................................................................................................................... 4142
EventOb.........................................................................................................................
jectCreate 4143
EventOb.........................................................................................................................
jectDelete 4144
IndicatorAdd
......................................................................................................................... 4145
IndicatorDelete
......................................................................................................................... 4146
IndicatorsTotal
......................................................................................................................... 4147
IndicatorName
......................................................................................................................... 4148
Navigate......................................................................................................................... 4149
Symbol ......................................................................................................................... 4150
Period ......................................................................................................................... 4151
Redraw......................................................................................................................... 4152
GetInteger
......................................................................................................................... 4153
SetInteger
......................................................................................................................... 4154
GetDouble
......................................................................................................................... 4155
SetDouble
......................................................................................................................... 4156
GetString
......................................................................................................................... 4157
SetString
......................................................................................................................... 4158
SetSymbolPeriod
......................................................................................................................... 4159
ApplyTemplate
......................................................................................................................... 4160
ScreenShot
......................................................................................................................... 4161
WindowOnDropped
......................................................................................................................... 4162
PriceOnDropped
......................................................................................................................... 4163
TimeOnDropped
......................................................................................................................... 4164
X OnDropped
......................................................................................................................... 4165
Y OnDropped
......................................................................................................................... 4166
Save ......................................................................................................................... 4167
Load ......................................................................................................................... 4168
Type ......................................................................................................................... 4169
............................................................................................................................4170
Grafic i Sc ientific i
GraphPlot
......................................................................................................................... 4171
CAx is ......................................................................................................................... 4175
AutoScale ................................................................................................................ 4177
Min ................................................................................................................ 4178
Max ................................................................................................................ 4179
Step ................................................................................................................ 4180
Name ................................................................................................................ 4181
Color ................................................................................................................ 4182
ValuesSize ................................................................................................................ 4183
ValuesWidth ................................................................................................................ 4184
ValuesFormat ................................................................................................................ 4185
ValuesDateTimeMode
................................................................................................................ 4186
ValuesFunctionFormat
................................................................................................................ 4187
ValuesFunctionFormatCBData
................................................................................................................ 4189
NameSize ................................................................................................................ 4190
ZeroLever ................................................................................................................ 4191
DefaultStep................................................................................................................ 4192
Max Labels ................................................................................................................ 4193
MinGrace ................................................................................................................ 4194
Max Grace ................................................................................................................ 4195
SelectAx isScale
................................................................................................................ 4196
CColorGenerator
......................................................................................................................... 4197
Nex t ................................................................................................................ 4198
Reset ................................................................................................................ 4199
CCurve......................................................................................................................... 4200
Type ................................................................................................................ 4203
Name ................................................................................................................ 4204
Color ................................................................................................................ 4205
X Max ................................................................................................................ 4206
X Min ................................................................................................................ 4207
Y Max ................................................................................................................ 4208
Y Min ................................................................................................................ 4209
Size ................................................................................................................ 4210
PointsSize ................................................................................................................ 4211
PointsFill ................................................................................................................ 4212
PointsColor................................................................................................................ 4213
Get X ................................................................................................................ 4214
Get Y ................................................................................................................ 4215
LinesStyle ................................................................................................................ 4216
LinesIsSmooth................................................................................................................ 4217
LinesSmoothTension
................................................................................................................ 4218
LinesSmoothStep
................................................................................................................ 4219
LinesEndStyle................................................................................................................ 4220
LinesWidth................................................................................................................ 4221
HistogramWidth
................................................................................................................ 4223
CustomPlotCBData
................................................................................................................ 4224
CustomPlotFunction
................................................................................................................ 4225
PointsType................................................................................................................ 4229
StepsDimension................................................................................................................ 4230
TrendLineCoefficients
................................................................................................................ 4231
TrendLineColor................................................................................................................ 4232
TrendLineVisible
................................................................................................................ 4233
Update ................................................................................................................ 4235
Visible ................................................................................................................ 4237
CGraphic......................................................................................................................... 4238
Create ................................................................................................................ 4241
Destroy ................................................................................................................ 4242
Update ................................................................................................................ 4243
ChartObjectName
................................................................................................................ 4244
ResourceName ................................................................................................................ 4245
X Ax is ................................................................................................................ 4246
Y Ax is ................................................................................................................ 4247
GapSize ................................................................................................................ 4248
BackgroundColor
................................................................................................................ 4249
BackgroundMain................................................................................................................ 4250
BackgroundMainSize
................................................................................................................ 4251
BackgroundMainColor
................................................................................................................ 4252
BackgroundSub ................................................................................................................ 4253
BackgroundSubSize
................................................................................................................ 4254
BackgroundSubColor
................................................................................................................ 4255
GridLineColor ................................................................................................................ 4256
GridBackgroundColor
................................................................................................................ 4257
GridCircleRadius
................................................................................................................ 4258
GridCircleColor
................................................................................................................ 4259
GridHasCircle ................................................................................................................ 4260
GridAx isLineColor
................................................................................................................ 4261
HistoryNameWidth
................................................................................................................ 4262
HistoryNameSize
................................................................................................................ 4263
HistorySymbolSize
................................................................................................................ 4264
Tex tAdd ................................................................................................................ 4265
LineAdd ................................................................................................................ 4266
CurveAdd ................................................................................................................ 4267
CurvePlot ................................................................................................................ 4270
CurvePlotAll ................................................................................................................ 4271
CurveGetByInde................................................................................................................
x 4272
CurveGetByName................................................................................................................ 4273
CurveRemoveByInde
................................................................................................................
x 4274
CurveRemoveByName
................................................................................................................ 4275
CurvesTotal ................................................................................................................ 4276
MarksToAx isAdd
................................................................................................................ 4277
MajorMarkSize ................................................................................................................ 4278
FontSet ................................................................................................................ 4279
FontGet ................................................................................................................ 4280
Attach ................................................................................................................ 4281
CalculateMa................................................................................................................
x MinValues 4282
Height ................................................................................................................ 4283
IndentDown................................................................................................................ 4284
IndentLeft ................................................................................................................ 4285
IndentRight................................................................................................................ 4286
IndentUp ................................................................................................................ 4287
Redraw ................................................................................................................ 4288
ResetParameters
................................................................................................................ 4289
ScaleX ................................................................................................................ 4290
ScaleY ................................................................................................................ 4291
SetDefaultParameters
................................................................................................................ 4292
SignalPeriod........................................................................................................... 4633
Applied ........................................................................................................... 4634
Create ........................................................................................................... 4635
Main ........................................................................................................... 4636
Type ........................................................................................................... 4637
CiRSI ................................................................................................................ 4638
MaPeriod ........................................................................................................... 4640
Applied ........................................................................................................... 4641
Create ........................................................................................................... 4642
Main ........................................................................................................... 4643
Type ........................................................................................................... 4644
CiRVI ................................................................................................................ 4645
MaPeriod ........................................................................................................... 4647
Create ........................................................................................................... 4648
Main ........................................................................................................... 4649
Signal ........................................................................................................... 4650
Type ........................................................................................................... 4651
CiStochastic................................................................................................................ 4652
Kperiod ........................................................................................................... 4654
Dperiod ........................................................................................................... 4655
Slowing ........................................................................................................... 4656
MaMethod ........................................................................................................... 4657
PriceField ........................................................................................................... 4658
Create ........................................................................................................... 4659
Main ........................................................................................................... 4660
Signal ........................................................................................................... 4661
Type ........................................................................................................... 4662
CiTriX ................................................................................................................ 4663
MaPeriod ........................................................................................................... 4665
Applied ........................................................................................................... 4666
Create ........................................................................................................... 4667
Main ........................................................................................................... 4668
Type ........................................................................................................... 4669
CiWPR ................................................................................................................ 4670
CalcPeriod........................................................................................................... 4672
Create ........................................................................................................... 4673
Main ........................................................................................................... 4674
Type ........................................................................................................... 4675
Volume .........................................................................................................................
Indicators 4676
CiAD ................................................................................................................ 4677
Applied ........................................................................................................... 4679
Create ........................................................................................................... 4680
Main ........................................................................................................... 4681
Type ........................................................................................................... 4682
CiMFI ................................................................................................................ 4683
MaPeriod ........................................................................................................... 4685
Applied ........................................................................................................... 4686
Create ........................................................................................................... 4687
Main ........................................................................................................... 4688
Type ........................................................................................................... 4689
CiOBV ................................................................................................................ 4690
Applied ........................................................................................................... 4692
Create ........................................................................................................... 4693
Main ........................................................................................................... 4694
Type ........................................................................................................... 4695
CiVolumes ................................................................................................................ 4696
Applied ........................................................................................................... 4698
Create ........................................................................................................... 4699
TradeModeDescription
................................................................................................................ 4827
TradeEx ecution
................................................................................................................ 4828
TradeEx ecutionDescription
................................................................................................................ 4829
SwapMode ................................................................................................................ 4830
SwapModeDescription
................................................................................................................ 4831
SwapRollover3days
................................................................................................................ 4832
SwapRollover3daysDescription
................................................................................................................ 4833
MarginInitial................................................................................................................ 4834
MarginMaintenance
................................................................................................................ 4835
MarginLong................................................................................................................ 4836
MarginShort ................................................................................................................ 4837
MarginLimit................................................................................................................ 4838
MarginStop................................................................................................................ 4839
MarginStopLimit
................................................................................................................ 4840
TradeTimeFlags
................................................................................................................ 4841
TradeFillFlags
................................................................................................................ 4842
Digits ................................................................................................................ 4843
Point ................................................................................................................ 4844
TickValue ................................................................................................................ 4845
TickValueProfit
................................................................................................................ 4846
TickValueLoss................................................................................................................ 4847
TickSize ................................................................................................................ 4848
ContractSize ................................................................................................................ 4849
LotsMin ................................................................................................................ 4850
LotsMax ................................................................................................................ 4851
LotsStep ................................................................................................................ 4852
LotsLimit ................................................................................................................ 4853
SwapLong ................................................................................................................ 4854
SwapShort ................................................................................................................ 4855
CurrencyBase ................................................................................................................ 4856
CurrencyProfit
................................................................................................................ 4857
CurrencyMargin
................................................................................................................ 4858
Bank ................................................................................................................ 4859
Description................................................................................................................ 4860
Path ................................................................................................................ 4861
SessionDeals ................................................................................................................ 4862
SessionBuyOrders
................................................................................................................ 4863
SessionSellOrders
................................................................................................................ 4864
SessionTurnover
................................................................................................................ 4865
SessionInterest
................................................................................................................ 4866
SessionBuyOrdersVolume
................................................................................................................ 4867
SessionSellOrdersVolume
................................................................................................................ 4868
SessionOpen ................................................................................................................ 4869
SessionClose ................................................................................................................ 4870
SessionAW ................................................................................................................ 4871
SessionPriceSettlement
................................................................................................................ 4872
SessionPriceLimitMin
................................................................................................................ 4873
SessionPriceLimitMa
................................................................................................................
x 4874
InfoInteger................................................................................................................ 4875
InfoDouble ................................................................................................................ 4876
InfoString ................................................................................................................ 4877
NormalizePrice
................................................................................................................ 4878
COrderInfo
......................................................................................................................... 4879
Ticket ................................................................................................................ 4882
TimeSetup ................................................................................................................ 4883
TimeSetupMsc ................................................................................................................ 4884
OrderType................................................................................................................ 4885
TypeDescription
................................................................................................................ 4886
OrderModify................................................................................................................ 5011
OrderDelete................................................................................................................ 5012
PositionOpen
................................................................................................................ 5013
PositionModify
................................................................................................................ 5014
PositionClose
................................................................................................................ 5015
PositionCloseBy
................................................................................................................ 5016
Buy ................................................................................................................ 5017
Sell ................................................................................................................ 5018
BuyLimit ................................................................................................................ 5019
BuyStop ................................................................................................................ 5021
SellLimit ................................................................................................................ 5022
SellStop ................................................................................................................ 5023
Request ................................................................................................................ 5024
RequestAction
................................................................................................................ 5025
RequestActionDescription
................................................................................................................ 5026
RequestMagic
................................................................................................................ 5027
RequestOrder
................................................................................................................ 5028
RequestSymbol
................................................................................................................ 5029
RequestVolume
................................................................................................................ 5030
RequestPrice
................................................................................................................ 5031
RequestStopLimit
................................................................................................................ 5032
RequestSL ................................................................................................................ 5033
RequestTP ................................................................................................................ 5034
RequestDeviation
................................................................................................................ 5035
RequestType................................................................................................................ 5036
RequestTypeDescription
................................................................................................................ 5037
RequestTypeFilling
................................................................................................................ 5038
RequestTypeFillingDescription
................................................................................................................ 5039
RequestTypeTime
................................................................................................................ 5040
RequestTypeTimeDescription
................................................................................................................ 5041
RequestEx piration
................................................................................................................ 5042
RequestComment
................................................................................................................ 5043
RequestPosition
................................................................................................................ 5044
RequestPositionBy
................................................................................................................ 5045
Result ................................................................................................................ 5046
ResultRetcode
................................................................................................................ 5047
ResultRetcodeDescription
................................................................................................................ 5048
ResultDeal ................................................................................................................ 5049
ResultOrder................................................................................................................ 5050
ResultVolume
................................................................................................................ 5051
ResultPrice................................................................................................................ 5052
ResultBid ................................................................................................................ 5053
ResultAsk ................................................................................................................ 5054
ResultComment
................................................................................................................ 5055
CheckResult................................................................................................................ 5056
CheckResultRetcode
................................................................................................................ 5057
CheckResultRetcodeDescription
................................................................................................................ 5058
CheckResultBalance
................................................................................................................ 5059
CheckResultEquity
................................................................................................................ 5060
CheckResultProfit
................................................................................................................ 5061
CheckResultMargin
................................................................................................................ 5062
CheckResultMarginFree
................................................................................................................ 5063
CheckResultMarginLevel
................................................................................................................ 5064
CheckResultComment
................................................................................................................ 5065
PrintRequest
................................................................................................................ 5066
PrintResult................................................................................................................ 5067
FormatRequest
................................................................................................................ 5068
FormatRequestResult
................................................................................................................ 5069
CTerminalInfo
......................................................................................................................... 5070
Build ................................................................................................................ 5072
IsConnected ................................................................................................................ 5073
IsDLLsAllowed ................................................................................................................ 5074
IsTradeAllowed ................................................................................................................ 5075
IsEmailEnabled ................................................................................................................ 5076
IsFtpEnabled ................................................................................................................ 5077
Max Bars ................................................................................................................ 5078
CodePage ................................................................................................................ 5079
CPUCores ................................................................................................................ 5080
MemoryPhysical ................................................................................................................ 5081
MemoryTotal ................................................................................................................ 5082
MemoryAvailable................................................................................................................ 5083
MemoryUsed ................................................................................................................ 5084
Is X 64 ................................................................................................................ 5085
OpenCLSupport ................................................................................................................ 5086
DiskSpace ................................................................................................................ 5087
Language ................................................................................................................ 5088
Name ................................................................................................................ 5089
Company ................................................................................................................ 5090
Path ................................................................................................................ 5091
DataPath ................................................................................................................ 5092
CommonDataPath ................................................................................................................ 5093
InfoInteger................................................................................................................ 5094
InfoString ................................................................................................................ 5095
............................................................................................................................5096
Moduli Strategia
Classi base
.........................................................................................................................
per Ex pert Advisors 5099
CEx pertBase ................................................................................................................ 5100
InitPhase ........................................................................................................... 5103
TrendType........................................................................................................... 5104
UsedSeries........................................................................................................... 5105
EveryTick ........................................................................................................... 5106
Open ........................................................................................................... 5107
High ........................................................................................................... 5108
Low ........................................................................................................... 5109
Close ........................................................................................................... 5110
Spread ........................................................................................................... 5111
Time ........................................................................................................... 5112
TickVolume........................................................................................................... 5113
RealVolume........................................................................................................... 5114
Init ........................................................................................................... 5115
Symbol ........................................................................................................... 5116
Period ........................................................................................................... 5117
Magic ........................................................................................................... 5118
ValidationSettings
........................................................................................................... 5119
SetPriceSeries
........................................................................................................... 5120
SetOtherSeries
........................................................................................................... 5121
InitIndicators
........................................................................................................... 5122
InitOpen ........................................................................................................... 5123
Init High ........................................................................................................... 5124
InitLow ........................................................................................................... 5125
InitClose ........................................................................................................... 5126
InitSpread ........................................................................................................... 5127
InitTime ........................................................................................................... 5128
InitTickVolume
........................................................................................................... 5129
InitRealVolume
........................................................................................................... 5130
PriceLevelUnit
........................................................................................................... 5131
StartIndex........................................................................................................... 5132
CompareMagic........................................................................................................... 5133
CEx pert ................................................................................................................ 5134
Init ........................................................................................................... 5139
Magic ........................................................................................................... 5140
InitSignal ........................................................................................................... 5141
InitTrailing........................................................................................................... 5142
InitMoney ........................................................................................................... 5143
InitTrade ........................................................................................................... 5144
Deinit ........................................................................................................... 5145
OnTickProcess
........................................................................................................... 5146
OnTradeProcess
........................................................................................................... 5147
OnTimerProcess
........................................................................................................... 5148
OnChartEventProcess
........................................................................................................... 5149
OnBookEventProcess
........................................................................................................... 5150
Max Orders........................................................................................................... 5151
Signal ........................................................................................................... 5152
ValidationSettings
........................................................................................................... 5153
InitIndicators
........................................................................................................... 5154
OnTick ........................................................................................................... 5155
OnTrade ........................................................................................................... 5156
OnTimer ........................................................................................................... 5157
OnChartEvent........................................................................................................... 5158
OnBookEvent ........................................................................................................... 5159
InitParameters
........................................................................................................... 5160
DeinitTrade........................................................................................................... 5161
DeinitSignal........................................................................................................... 5162
DeinitTrailing
........................................................................................................... 5163
DeinitMoney ........................................................................................................... 5164
DeinitIndicators
........................................................................................................... 5165
Refresh ........................................................................................................... 5166
Processing........................................................................................................... 5167
SelectPosition
........................................................................................................... 5169
CheckOpen........................................................................................................... 5170
CheckOpenLong
........................................................................................................... 5171
CheckOpenShort
........................................................................................................... 5172
OpenLong ........................................................................................................... 5173
OpenShort ........................................................................................................... 5174
CheckReverse........................................................................................................... 5175
CheckReverseLong
........................................................................................................... 5176
CheckReverseShort
........................................................................................................... 5177
ReverseLong ........................................................................................................... 5178
ReverseShort........................................................................................................... 5180
CheckClose........................................................................................................... 5182
CheckCloseLong
........................................................................................................... 5183
CheckCloseShort
........................................................................................................... 5184
CloseAll ........................................................................................................... 5185
Close ........................................................................................................... 5186
CloseLong ........................................................................................................... 5187
CloseShort ........................................................................................................... 5188
CheckTrailingStop
........................................................................................................... 5189
CheckTrailingStopLong
........................................................................................................... 5190
CheckTrailingStopShort
........................................................................................................... 5191
TrailingStopLong
........................................................................................................... 5192
TrailingStopShort
........................................................................................................... 5193
CheckTrailingOrderLong
........................................................................................................... 5194
CheckTrailingOrderShort
........................................................................................................... 5195
TrailingOrderLong
........................................................................................................... 5196
TrailingOrderShort
........................................................................................................... 5197
CheckDeleteOrderLong
........................................................................................................... 5198
CheckDeleteOrderShort
........................................................................................................... 5199
DeleteOrders........................................................................................................... 5200
DeleteOrder ........................................................................................................... 5201
DeleteOrderLong
........................................................................................................... 5202
DeleteOrderShort
........................................................................................................... 5203
LotOpenLong ........................................................................................................... 5204
LotOpenShort........................................................................................................... 5205
LotReverse........................................................................................................... 5206
PrepareHistoryDate
........................................................................................................... 5207
HistoryPoint........................................................................................................... 5208
CheckTradeState
........................................................................................................... 5209
WaitEvent ........................................................................................................... 5210
NoWaitEvent ........................................................................................................... 5211
TradeEventPositionStopTake
........................................................................................................... 5212
TradeEventOrderTriggered
........................................................................................................... 5213
TradeEventPositionOpened
........................................................................................................... 5214
TradeEventPositionVolumeChanged
........................................................................................................... 5215
TradeEventPositionModified
........................................................................................................... 5216
TradeEventPositionClosed
........................................................................................................... 5217
TradeEventOrderPlaced
........................................................................................................... 5218
TradeEventOrderModified
........................................................................................................... 5219
TradeEventOrderDeleted
........................................................................................................... 5220
TradeEventNotIdentified
........................................................................................................... 5221
TimeframeAdd........................................................................................................... 5222
TimeframesFlags
........................................................................................................... 5223
CEx pertSignal
................................................................................................................ 5224
BasePrice ........................................................................................................... 5227
UsedSeries........................................................................................................... 5228
Weight ........................................................................................................... 5229
PatternsUsage
........................................................................................................... 5230
General ........................................................................................................... 5231
Ignore ........................................................................................................... 5232
Invert ........................................................................................................... 5233
ThresholdOpen
........................................................................................................... 5234
ThresholdClose
........................................................................................................... 5235
PriceLevel........................................................................................................... 5236
StopLevel ........................................................................................................... 5237
TakeLevel ........................................................................................................... 5238
Ex piration ........................................................................................................... 5239
Magic ........................................................................................................... 5240
ValidationSettings
........................................................................................................... 5241
InitIndicators
........................................................................................................... 5242
AddFilter ........................................................................................................... 5243
CheckOpenLong
........................................................................................................... 5244
CheckOpenShort
........................................................................................................... 5245
OpenLongParams
........................................................................................................... 5246
OpenShortParams
........................................................................................................... 5247
CheckCloseLong
........................................................................................................... 5248
CheckCloseShort
........................................................................................................... 5249
CloseLongParams
........................................................................................................... 5250
CloseShortParams
........................................................................................................... 5251
CheckReverseLong
........................................................................................................... 5252
CheckReverseShort
........................................................................................................... 5253
CheckTrailingOrderLong
........................................................................................................... 5254
CheckTrailingOrderShort
........................................................................................................... 5255
LongCondition
........................................................................................................... 5256
ShortCondition
........................................................................................................... 5257
CMoneyFix edLot
................................................................................................................ 5375
Lots ........................................................................................................... 5377
ValidationSettings
........................................................................................................... 5378
CheckOpenLong
........................................................................................................... 5379
CheckOpenShort
........................................................................................................... 5380
CMoneyFix edMargin
................................................................................................................ 5381
CheckOpenLong
........................................................................................................... 5382
CheckOpenShort
........................................................................................................... 5383
CMoneyFix edRisk
................................................................................................................ 5384
CheckOpenLong
........................................................................................................... 5385
CheckOpenShort
........................................................................................................... 5386
CMoneyNone................................................................................................................ 5387
ValidationSettings
........................................................................................................... 5388
CheckOpenLong
........................................................................................................... 5389
CheckOpenShort
........................................................................................................... 5390
CMoneySizeOptimized
................................................................................................................ 5391
DecreaseFactor
........................................................................................................... 5393
ValidationSettings
........................................................................................................... 5394
CheckOpenLong
........................................................................................................... 5395
CheckOpenShort
........................................................................................................... 5396
Pannelli e ............................................................................................................................5397
Dialoghi
CRect ......................................................................................................................... 5399
Left ................................................................................................................ 5400
Top ................................................................................................................ 5401
Right ................................................................................................................ 5402
Bottom ................................................................................................................ 5403
Width ................................................................................................................ 5404
Height ................................................................................................................ 5405
SetBound ................................................................................................................ 5406
Move ................................................................................................................ 5407
Shift ................................................................................................................ 5408
Contains ................................................................................................................ 5409
Format ................................................................................................................ 5410
CDateTime
......................................................................................................................... 5411
MonthName................................................................................................................ 5413
ShortMonthName
................................................................................................................ 5414
DayName ................................................................................................................ 5415
ShortDayName ................................................................................................................ 5416
DaysInMonth ................................................................................................................ 5417
DateTime ................................................................................................................ 5418
Date ................................................................................................................ 5419
Time ................................................................................................................ 5420
Sec ................................................................................................................ 5421
Min ................................................................................................................ 5422
Hour ................................................................................................................ 5423
Day ................................................................................................................ 5424
Mon ................................................................................................................ 5425
Y ear ................................................................................................................ 5426
SecDec ................................................................................................................ 5427
SecInc ................................................................................................................ 5428
MinDec ................................................................................................................ 5429
MinInc ................................................................................................................ 5430
HourDec ................................................................................................................ 5431
HourInc ................................................................................................................ 5432
DayDec ................................................................................................................ 5433
DayInc ................................................................................................................ 5434
MonDec ................................................................................................................ 5435
MonInc ................................................................................................................ 5436
OnMouseUp................................................................................................................ 5498
OnDragStart ................................................................................................................ 5499
OnDragProcess................................................................................................................ 5500
OnDragEnd................................................................................................................ 5501
DragObjectCreate
................................................................................................................ 5502
DragObjectDestroy
................................................................................................................ 5503
CWndOb.........................................................................................................................
j 5504
OnEvent ................................................................................................................ 5506
Tex t ................................................................................................................ 5507
Color ................................................................................................................ 5508
ColorBackground
................................................................................................................ 5509
ColorBorder................................................................................................................ 5510
Font ................................................................................................................ 5511
FontSize ................................................................................................................ 5512
ZOrder ................................................................................................................ 5513
OnObjectCreate
................................................................................................................ 5514
OnObjectChange
................................................................................................................ 5515
OnObjectDelete
................................................................................................................ 5516
OnObjectDrag ................................................................................................................ 5517
OnSetTex t ................................................................................................................ 5518
OnSetColor................................................................................................................ 5519
OnSetColorBackground
................................................................................................................ 5520
OnSetFont ................................................................................................................ 5521
OnSetFontSize................................................................................................................ 5522
OnSet ZOrder ................................................................................................................ 5523
OnDestroy ................................................................................................................ 5524
OnChange ................................................................................................................ 5525
CWndContainer
......................................................................................................................... 5526
Destroy ................................................................................................................ 5528
OnEvent ................................................................................................................ 5529
OnMouseEvent ................................................................................................................ 5530
ControlsTotal................................................................................................................ 5531
Control ................................................................................................................ 5532
ControlFind................................................................................................................ 5533
Add ................................................................................................................ 5534
Delete ................................................................................................................ 5535
Move ................................................................................................................ 5536
Shift ................................................................................................................ 5537
Id ................................................................................................................ 5538
Enable ................................................................................................................ 5539
Disable ................................................................................................................ 5540
Show ................................................................................................................ 5541
Hide ................................................................................................................ 5542
MouseFocus................................................................................................................
Kill 5543
Save ................................................................................................................ 5544
Load ................................................................................................................ 5545
OnResize ................................................................................................................ 5546
OnActivate................................................................................................................ 5547
OnDeactivate ................................................................................................................ 5548
CLabel ......................................................................................................................... 5549
Create ................................................................................................................ 5554
OnSetTex t ................................................................................................................ 5555
OnSetColor................................................................................................................ 5556
OnSetFont ................................................................................................................ 5557
OnSetFontSize................................................................................................................ 5558
OnCreate ................................................................................................................ 5559
OnShow ................................................................................................................ 5560
OnHide ................................................................................................................ 5561
CCheckBo
.........................................................................................................................
x 5783
Create ................................................................................................................ 5789
OnEvent ................................................................................................................ 5790
Tex t ................................................................................................................ 5791
Color ................................................................................................................ 5792
Checked ................................................................................................................ 5793
Value ................................................................................................................ 5794
CreateButton ................................................................................................................ 5795
CreateLabel ................................................................................................................ 5796
OnClickButton................................................................................................................ 5797
OnClickLabel ................................................................................................................ 5798
CCheckGroup
......................................................................................................................... 5799
Create ................................................................................................................ 5805
OnEvent ................................................................................................................ 5806
AddItem ................................................................................................................ 5807
Value ................................................................................................................ 5808
CreateButton ................................................................................................................ 5809
OnVScrollShow................................................................................................................ 5810
OnVScrollHide................................................................................................................ 5811
OnScrollLineDown
................................................................................................................ 5812
OnScrollLineUp
................................................................................................................ 5813
OnChangeItem ................................................................................................................ 5814
Redraw ................................................................................................................ 5815
RowState ................................................................................................................ 5816
CRadioButton
......................................................................................................................... 5817
Create ................................................................................................................ 5819
OnEvent ................................................................................................................ 5820
Tex t ................................................................................................................ 5821
Color ................................................................................................................ 5822
State ................................................................................................................ 5823
CreateButton ................................................................................................................ 5824
CreateLabel ................................................................................................................ 5825
OnClickButton................................................................................................................ 5826
OnClickLabel ................................................................................................................ 5827
CRadioGroup
......................................................................................................................... 5828
Create ................................................................................................................ 5834
OnEvent ................................................................................................................ 5835
AddItem ................................................................................................................ 5836
Value ................................................................................................................ 5837
CreateButton ................................................................................................................ 5838
OnVScrollShow................................................................................................................ 5839
OnVScrollHide................................................................................................................ 5840
OnScrollLineDown
................................................................................................................ 5841
OnScrollLineUp
................................................................................................................ 5842
OnChangeItem ................................................................................................................ 5843
Redraw ................................................................................................................ 5844
RowState ................................................................................................................ 5845
Select ................................................................................................................ 5846
CSpinEdit
......................................................................................................................... 5847
Create ................................................................................................................ 5853
OnEvent ................................................................................................................ 5854
MinValue ................................................................................................................ 5855
Max Value ................................................................................................................ 5856
Value ................................................................................................................ 5857
CreateEdit................................................................................................................ 5858
CreateInc ................................................................................................................ 5859
CreateDec ................................................................................................................ 5860
OnClickInc ................................................................................................................ 5861
OnClickDec................................................................................................................ 5862
OnChangeValue ................................................................................................................ 5863
CDialog ......................................................................................................................... 5864
Create ................................................................................................................ 5866
OnEvent ................................................................................................................ 5867
Caption ................................................................................................................ 5868
Add ................................................................................................................ 5869
CreateWhiteBorder
................................................................................................................ 5870
CreateBackground
................................................................................................................ 5871
CreateCaption ................................................................................................................ 5872
CreateButtonClose
................................................................................................................ 5873
CreateClientArea
................................................................................................................ 5874
OnClickCaption................................................................................................................ 5875
OnClickButtonClose
................................................................................................................ 5876
ClientAreaVisible
................................................................................................................ 5877
ClientAreaLeft................................................................................................................ 5878
ClientAreaTop ................................................................................................................ 5879
ClientAreaRight
................................................................................................................ 5880
ClientAreaBottom
................................................................................................................ 5881
ClientAreaWidth
................................................................................................................ 5882
ClientAreaH................................................................................................................
eight 5883
OnDialogDragStart
................................................................................................................ 5884
OnDialogDragProcess
................................................................................................................ 5885
OnDialogDragEnd
................................................................................................................ 5886
CAppDialog
......................................................................................................................... 5887
Create ................................................................................................................ 5890
Destroy ................................................................................................................ 5891
OnEvent ................................................................................................................ 5892
Run ................................................................................................................ 5893
ChartEvent................................................................................................................ 5894
Minimized ................................................................................................................ 5895
IniFileSave ................................................................................................................ 5896
IniFileLoad................................................................................................................ 5897
IniFileName................................................................................................................ 5898
IniFileEx t ................................................................................................................ 5899
CreateCommon ................................................................................................................ 5900
CreateEx pert ................................................................................................................ 5901
CreateIndicator
................................................................................................................ 5902
CreateButtonMinMa
................................................................................................................
x 5903
OnClickButtonClose
................................................................................................................ 5904
OnClickButtonMinMa
................................................................................................................
x 5905
OnAnotherApplicationClose
................................................................................................................ 5906
Rebound ................................................................................................................ 5907
Minimize ................................................................................................................ 5908
Max imize ................................................................................................................ 5909
CreateInstanceId
................................................................................................................ 5910
ProgramName ................................................................................................................ 5911
SubwinOff ................................................................................................................ 5912
34 Il passaggio dall'
.................................................................................................
MQL4 5913
35 List of MQL5 .................................................................................................
Functions 5917
36 List of MQL5 .................................................................................................
Constants 5955
Riferimento MQL5
MetaQuotes Language 5 (MQL5) è un linguaggio ad alto-livello progettato per lo sviluppo di indicatori
tecnici, robot di trading e applicazioni di utilità, che automatizzano il trading finanziario. MQL5 è
stato sviluppato da MetaQuotes per la loro piattaforma di trading. La sintassi del linguaggio è molto
vicina al C++, consentendo ai programmatori di sviluppare applicazioni nello stile di programmazione
orientata agli oggetti (OOP).
Oltre al linguaggio MQL5, il pacchetto della piattaforma di trading include anche il MetaEditor IDE con
strumenti di scrittura del codice estremamente avanzati, quali templates, snippet, debugging,
profiling e strumenti di completamento automatico, cos ì come MQL5 S torage che abilita il controllo
delle versioni dei file.
Il supporto al linguaggio è disponibile sul sito W eb MQL5.community, che contiene un numero enorme
di CodeBase gratuito e una pletora di articoli. Questi articoli coprono tutti gli aspetti del trading
moderno, tra cui reti neurali, statistiche e analisi, trading ad alta frequenza, arbitraggio, testing ed
ottimizzazione delle strategie di trading, utilizzo di robot di automazione di trading e altro ancora.
Gli sviluppatori di programmi di trading e MQL5 possono comunicare sul forum, ordinare e sviluppare
applicazioni usando il servizio Freelance, cos ì come acquistare e vendere programmi protetti nel
Mark et di applicazioni di trading automatico.
Il linguaggio MQL5 fornisce specializzate funzioni di trading e predefiniti gestori di eventi per aiutare i
programmatori a sviluppare Ex pert Advisors (EA), che controllano automaticamente i processi di
trading seguendo specifiche regole di trading. Oltre agli EA, MQL5 consente lo sviluppo personalizzato
di indicatori tecnici, script e librerie.
Questo riferimento al linguaggio MQL5 contiene funzioni, operazioni, parole riservate ed altre
costruzioni del linguaggio, suddivisi in categorie. Il riferimento fornisce anche le descrizioni delle
classi della Libreria S tandard utilizzate per lo sviluppo di strategie di trading, pannelli di controllo,
grafica personalizzata e abilitazione dell'accesso ai file.
Inoltre, il CodeBase contiene la libreria di analisi numerica A L GL IB, che può essere utilizzata per
risolvere vari problemi matematici.
A dvisor contiene gestori(handlers) di evento per gestire eventi predefiniti che attivano l'esecuzione
indicatori personalizzati possono utilizzare i valori di altri indicatori per i calcoli e possono essere
chiamati da Ex pert Advisors.
Gli indicatori personalizzati sono memorizzati in <Directory_del_Terminale>\MQL5\Indicators.
· Uno Script è un programma per una singola esecuzione di un'azione. A differenza degli Ex pert
Advisors, gli script non gestiscono alcun evento tranne per i trigger(inneschi), inizializzazione e
deinitializzazione. Un codice di script deve contenere la funzione di gestore di OnS tart. Gli script
sono memorizzati in <Directory_del_Terminale>\MQL5\Scripts.
· Servizio è un programma che, a differenza degli indicatori, degli Ex pert Advisors e degli script, non
richiede di essere associato ad un chart per funzionare. Come gli script, i servizi non gestiscono
alcun evento tranne che per l'attivazione(innesco/trigger). Per avviare un servizio, il suo codice
dovrebbe contenere la funzione dell handler OnS tart. I servizi non accettano altri eventi tranne
S tart, ma sono in grado di inviare eventi personalizzati ai charts usando EventChartCustom. I
questo caso viene usata la direttiva #include con le virgolette. Un'altra opzione è quella di
-
© 2000 2021 , MetaQuotes Ltd
MQL5 si basa sul concetto del popolare linguaggio di programmazione C++. R ispetto ad MQL 4, il nuovo
linguaggio ha ora enumerazioni, strutture, classi e event handlers. Aumentando il numero degli inclusi
tipi main, l'interazione di programmi eseguibili in MQL5 con altre applicazioni attraverso le dll è ora il
più semplice possibile. La sintassi MQL5 è simile alla sintassi del C++, e questo lo rende facile tradurlo
in programmi informatici da moderni linguaggi di programmazione.
Per aiutarvi a studiare il linguaggio MQL5, tutti gli argomenti sono raggruppati nelle seguenti sezioni:
· S intassi
· T ipi di Dati
· Operazioni ed Espressioni
· Operatori
· F unzioni
· V ariabili
· Preprocessore
· N amespaces
Sintassi
Per quanto riguarda la sintassi, il linguaggio MQL5 per la progrmamazione di strategie di trading, è
molto simile al linguaggio di programmazione C++ , fatta eccezione per alcune caratteristiche:
Vedi anche
Enumerazioni, S trutture e Classi, Eredità
Commenti
I commenti multi-riga iniziano con la coppia di simboli /* e termina con */ questa. T ali tipi di
commenti non possono essere nidificati. Commenti a riga singola iniziano con la coppia di simboli // e
termina con il carattere di nuova riga, essi possono essere annidati in altri commenti su più righe. I
commenti sono consentiti ovunque dove gli spazi siano consentiti, e possono avere qualsiasi numero
di spazi tra loro.
Esempi:
//--- Commento a riga-singola
/* Commento-
Multi- // riga singola di commento, annidata
riga
*/
Identificatori
Gli identificatori vengono usati come nomi di variabili e funzioni. La lunghezza dell'identificatore non
può superare 63 caratteri.
Icaratteri consentiti da scrivere in un identificatore: cifre 0-9, lettere latine maiuscole e minuscole a-
z ed A-Z, riconosciute come diversi caratteri, il carattere di sottolineatura (_). Il primo carattere non
può essere un numero.
Esempi:
NAME1 namel Total_5 Paper
Vedi anche
Variabili, Funzioni
Parole riservate
I seguenti identificatori sono registrati come parole riservate, ciascuno di essi corrisponde ad una
certa azione, e non può essere utilizzato in un altro significato:
Tipi di Dati
double struct
enum uchar
Specificatori di accesso
delete protected
override public
Classi di memoria
Operatori
default if sizeof
do offsetof w hile
Altro
Tipi di Dati
Qualsiasi programma opera con i dati. I dati possono essere di tipi diversi a seconda dei loro fini. Ad
esempio, i dati integer(_*interi) vengono utilizzati per accedere ai componenti degli array. I dati sui
prezzi appartengono a quelli di doppia precisione con virgola mobile. Ciò è dovuto al fatto che nessun
particolare tipo di dati per dati sui prezzi, è fornito in MQL5.
I dati di differenti tipi sono trattati con tassi differenti. I dati integer vengono elaborati come i più
veloci. Per elaborare i dati a doppia precisione, una speciale co-processore viene utilizzato. H owever,
because of complex ity of internal representation of data with floating point, they are processed slower
than the integer ones.
Dati stringa vengono elaborati in modo più lungo presso a causa dell' allocazione/riallocazione
dinamica della memoria del computer.
· logici (bool);
· letterali (ushort);
· stringa (string);
· colori (color);
· enumerazioni (enum).
· strutture;
· classi.
I n termini di OOP i tipi di dati complessi sono chiamati tipi di dati astratti.
I tipi color e datetime hanno senso solo per facilitare la visualizzazione e l'input dei parametri definiti
dal di fuori - dalla tabella di Ex pert Advisor o delle proprietà degli indicatori personalizzati (la scheda
I nputs). I dati color e datetime vengono rappresentati come interi. I tipi interi ed in virgola-mobile
Vengono usati solo i type casting impliciti nelle espressioni, a meno che non viene specificato il
casting esplicito.
Vedi anche
Ty pecasting
Tipi Integer
In MQL5 gli interi sono rappresentati da undici tipi. Alcuni tipi possono essere usati insieme ad altri,
se richiesto dalla logica del programma, ma in questo caso è necessario ricordare le regole di
conversione di tipo.
La tabella seguente elenca le caratteristiche di ogni tipo. Inoltre, l'ultima colonna mostra il tipo in C++
corrispondente a ciascun tipo.
Valori di tipo intero possono essere presentati come costanti numeriche, letterali di colore, letterali
data-ora, caratteri costanti ed enumerazioni.
Vedi anche
Conversione Dati, Costanti dei T ipi Numerici
uchar
Il tipo intero uchar occupa anche 1 byte di memoria, cos ì come il tipo char, ma a differenza da esso,
uchar è designato solo per i valori positivi. Il valore minimo è zero, il valore massimo è 255. La prima
lettera u del nome del tipo uchar è l'abbreviazione di unsigned.
short
La dimensione del tipo short è 2 byte (16 bit) e, di conseguenza, consente di esprimere l'intervallo di
valori pari a 2 alla potenza di16: 2^16=65 536. S iccome il tipo short è con il segno, e contiene i valori
sia positivi che negativi, l'intervallo di valori è compreso tra -32 768 e 32 767.
ushort
I l tipo short senza segno, è il tipo ushort, che anche, ha una dimensione di 2 byte. Il valore minimo è
0 , il valore massimo è 65 535.
int
La dimensione del tipo int è di 4 byte (32 bit). Il valore minimo è di -2 147 483 648 , quello massimo è
di 2 147 483 647.
uint
I l tipo intero senza segno è uint. Ci vogliono 4 byte di memoria e consente di esprimere interi da 0 a 4
294 967 29 5.
long
La grandezza del tipo long è di 8 byte (64 bit). Il valore minimo è -9 5
223 372 036 8 4 77 5 808 , il valore
massimo è di 9 223 372 036 854 775 807.
ulong
I l tipo ulong anche, occupa 8 byte e può memorizzare i valori da 0 a 18 446 744 073 709 551 61 5.
Esempi:
char ch=12;
short sh=-5000;
int in=2445777;
Poiché i tipi interi senza segno non sono designati per memorizzare i valori negativi, il tentativo di
impostare un valore negativo può portare a conseguenze inaspettate. Un tale semplice script porterà
ad un ciclo infinito:
for(char ch=-128;ch<128;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
}
}
La variante corretta è:
for(char ch=-128;ch<=127;ch++)
{
u_ch=ch;
Print("ch = ",ch," u_ch = ",u_ch);
if(ch==127) break;
}
}
Risultato:
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
Esempi:
//--- Valori negativi non possono essere memorizzati in tipi senza segno
uchar u_ch=-120;
ushort u_sh=-5000;
uint u_in=-401280;
Esadecimale: numeri 0-9, le lettere a-f o A-F per i valori di - 5, iniziano con 0x o 0X.
10 1
Esempi:
0x0A, 0x12, 0X12, 0x2f, 0xA3, 0Xa3, 0X7C7
Per le variabili intere, i valori possono essere impostati in forma binaria utilizzando il prefisso B. Ad
esempio, è possibile codificare le ore di lavoro di una sessione di trading in variabile di tipo int ed
utilizzare le informazioni su di esse secondo l'algoritmo richiesto:
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
//--- imposta 1 per le ore di lavoro e 0 per quelle non lavorative
int AsianSession =B'111111111'; // Sessione Asiatica da 00:00 alle 9:00
int EuropeanSession=B'111111111000000000'; // Sessione Europea 9:00 - 18:00
int AmericanSession =B'111111110000000000000011'; // Sessione Americana 16:00 - 02:00
//--- derive numerical values of the sessions
PrintFormat("Ore della sessione Asiatica come valore =%d",AsianSession);
PrintFormat("Ore della sessione Europea come valore è %d",EuropeanSession);
PrintFormat("Ore della sessione Americana come valore è %d %d",AmericanSession);
//--- e ora visualizziamo le rappresentazioni stringa delle ore di lavoro delle sessioni '
Print("Sessione Asiatica ",GetHoursForSession(AsianSession));
Print("Sessione Europea ",GetHoursForSession(EuropeanSession));
Print("Sessione Americana ",GetHoursForSession(AmericanSession));
//---
}
//+--------------------------------------------------------------------------------+
//| restituisce le ore di lavoro della sessione come stringa |
//+--------------------------------------------------------------------------------+
string GetHoursForSession(int session)
{
//--- al fine di verificare, usale l'orperazione bit AND e slittamenti sinistro di 1 bit <<=1
//--- avviare il controllo dal bit più basso
int bit=1;
string out="ore lavorative: ";
//--- controlla tutti i 24 bit a partire da quello zero e fino a 23, inclusivamente
for(int i=0;i<24;i++)
{
Vedi anche
Typecasting
Costanti Carattere
Icaratteri come elementi di un stringa in MQL5 sono indici nel set di caratteri Unicode. S ono valori
esadecimali che possono essere espressi in numeri interi, e che possono essere manipolati da
operazioni integer come addizione e sottrazione.
Qualsiasi carattere singolo tra virgolette o un codice esadecimale AS CII di un carattere '\x10' è un
carattere costante ed è di tipo ushort. Ad esempio, un record di tipo '0' è un valore numerico 30, che
corrisponde all'indice di zero nella tabella di caratteri.
Esempio:
voidOnStart()
{
//--- definizione delle costanti carattere
int symbol_0='0';
int symbol_9=symbol_0+9; // ottengo simbolo '9'
//--- valori output delle costanti
printf("In a decimal form: symbol_0 = %d, symbol_9 = %d",symbol_0,symbol_9);
printf("In a hexadecimal form: symbol_0 = 0x%x, symbol_9 = 0x%x",symbol_0,symbol_9);
//--- inserire costanti in una stringa
string test="";
StringSetCharacter(test,0,symbol_0);
StringSetCharacter(test,1,symbol_9);
//--- questo è ciò che sembrano in una stringa
Print(test);
}
Il back slash è un carattere di controllo per il compilatore quando si tratta di stringhe costanti e le
costanti di caratteri nel testo sorgente di un programma. Alcuni simboli, per esempio un singolo apice
('), i doppi apici (" ), back slash (\) e caratteri di controllo possono essere rappresentati come una
combinazione di simboli che iniziano con un back slash (\), secondo la seguente tabella:
feed)
orizzontale
doppio
a 65535
Se il back slash è seguito da un carattere diverso da uelli sopra descritti, il risultato risultato è
q
indefinito.
Esempio
voidOnStart()
{
//--- dichiarazione delle costanti carattere
int a='A';
int b='$';
int c='©'; // codice 0xA9
int d='\xAE'; // codice per il simbolo ®
//--- print output delle costanti
Print(a,b,c,d);
//--- aggiungere un carattere alla stringa
string test="";
StringSetCharacter(test,0,a);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,b);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,c);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,d);
Print(test);
//--- rappresentare i caratteri come un numero
int a1=65;
int b1=36;
int c1=169;
int d1=174;
//--- aggiungere un carattere alla stringa
StringSetCharacter(test,1,a1);
Print(test);
//--- aggiungere un carattere alla stringa
StringSetCharacter(test,1,b1);
Print(test);
//--- aggiungere un carattere alla stringa
StringSetCharacter(test,1,c1);
Print(test);
//--- aggiungere un carattere alla stringa
StringSetCharacter(test,1,d1);
Print(test);
}
Come è stato menzionato sopra, il valore di una costante (o variabile) carattere è un indice nella
tabella dei caratteri. L ' indice essendo un intero, esso può essere scritto in modi diversi.
voidOnStart()
{
//---
int a=0xAE; // il codice di ® corrisponde al letterale '\xAE'
int b=0x24; // il codice di $ corrisponde al letterale '\x24'
int c=0xA9; // il codice di © corrisponde al letterale '\xA9'
int d=0x263A; // il codice di ☺ corrisponde al letterale '\x263A'
//--- mostra valori
Print(a,b,c,d);
//--- aggiungere un carattere alla stringa
string test="";
StringSetCharacter(test,0,a);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,b);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,c);
Print(test);
//--- sostituire un carattere in una stringa
StringSetCharacter(test,0,d);
Print(test);
//--- codici di suits
int a1=0x2660;
int b1=0x2661;
int c1=0x2662;
int d1=0x2663;
//--- aggiungere il carattere di picche
StringSetCharacter(test,1,a1);
Print(test);
//--- aggiungere il carattere di cuori
StringSetCharacter(test,2,b1);
Print(test);
//--- aggiungere il carattere di quadri
StringSetCharacter(test,3,c1);
Print(test);
//--- aggiungere il carattere di bastoni
StringSetCharacter(test,4,d1);
Print(test);
//--- esempio di letterali carattere in una stringa
test="Regina\x2660Ace\x2662";
printf("%s",test);
}
Vedi anche
S tring S etCharacter(), S tring GetCharacter(), S hortT oS tring(), S hortArrayT oS tring(),
S tring T oS hortA rray()
Tipo Datetime
Il tipo datetime è destinato a memorizzare la data e l'ora come il numero di secondi trascorsi dal 01
Costanti di data e ora possono essere rappresentate come una stringa letterale, che consiste in 6 parti
che mostrano il valore numerico dell 'anno, mese, giorno (o giorno, mese, anno), ore, minuti e
secondi. La costante è racchiusa tra virgolette singole e inizia con il carattere D.
I valori vanno dal 1 ° gennaio 1970 al 31 dicembre 3000. S ia data (anno, mese, giorno) che orario
(ore, minuti, secondi), o tutti insieme possono essere omessi.
Con la specificazione della data letterale, è desiderabile che si specifichi l'anno, mese e giorno.
A ltrimenti il compilatore restituisce un avviso su una voce incompleta.
Esempi:
datetime NY=D'2015.01.01 00:00'; // Orario dell'inizio dell'anno 2015
datetime d1=D'1980.07.19 12:30:27'; // Anno Mese Giorno Ore Minuti Secondi
datetime d2=D'19.07.1980 12:30:27'; // Equivale a D'1980.07.19 12:30:27';
datetime d3=D'19.07.1980 12'; // Equivale a D'1980.07.19 12:00:00'
datetime d4=D'01.01.2004'; // Equivale aD'01.01.2004 00:00:00'
datetime compilation_date=__DATE__; // Data di compilazione
datetime compilation_date_time=__DATETIME__; // Data ed orario di compilazione
datetime compilation_time=__DATETIME__-__DATE__;// Orario di compilazione
//--- Examples of declarations after which compiler warnings will be returned
datetime warning1=D'12:30:27'; // Equivale a D'[data di compilazione] 12:30:27'
datetime warning2=D''; // Equivale a __DATETIME__
Vedi anche
S truttura del tipo Data, Data ed Ora, T imeT oS tring, S tring T oT ime
Color Type
l tipo colore è stato progettato per la memorizzazione delle informazioni sul colore ed occupa
I 4 byte in
memoria. Il primo byte viene ignorato, i restanti 3 byte contengono i-componenti RGB.
Costanti di colore possono essere rappresentate in tre modi: letteralmente, da numeri interi, o per
nome (per i colori nominati W eb-colori solamente).
La rappresentazione letterale è composta da tre parti che rappresentano i valori dei tassi numerici dei
tre principali componenti di colore: rosso, verde, blu. La costante inizia con C ed è racchiusa tra apici.
I tassi dei valori numerici di una componente di colore giacciono nell'intervallo da 0 a 255.
Esempi:
//--- Letterali
C'128,128,128' // Grigio
C'0x00,0x00,0xFF' // Blu
//nomi dei colori
clrRed // rosso
clrYellow // giallo
clrBlack // nero
//--- Rappresentazioni integrali
0xFFFFFF // Bianco
16777215 // Bianco
0x008000 // Verde
32768 // Verde
Vedi anche
W eb Colors,ColorT oS tring, S tring T oColor, pecasting
Ty
Tipo Bool
Il tipo bool è designato per memorizzare i valori logici true o false, la rappresentazione numerica di
essi è 1 o 0, rispettivamente.
Esempi:
bool a = true;
bool b = false;
bool c = 1;
La rappresentazione interna è un numero intero largo 1 byte. Va notato che nelle espressioni logiche è
possibile utilizzare altro numero intero o tipi reali o espressioni di questi tipi - il compilatore non
genererà alcun errore. In questo caso, il valore zero viene interpretato come false, e tutti gli altri
valori - come true.
Esempi:
int i=5;
double d=-2.5;
if(i) Print("i = ",i," ed è impostato a true");
else Print("i = ",i," ed è impostato a false");
i=0;
if(i) Print("i = ",i," ed ha il valore true");
else Print("i = ",i," ed ha il valore false");
d=0.0;
if(d) Print("d = ",d," ed ha il valore true");
else Print("d = ",d," ed ha il valore false");
Vedi anche
Operazioni Booleane, Precedenza R egole
Enumerazioni
Dati del tipo enum appartengono ad un certo insieme limitato di dati. D efinizione del tipo di
enumerazione:
Esempio:
enum mese// enumerazione di costanti denominate
{
Gennaio,
Febbraio,
Marzo,
Aprile,
Maggio,
Giugno,
Luglio,
Agosto,
Settembre,
Ottobre,
Novembre,
Dicembre
};
Regola: Se un certo valore non è assegnato ad una costante nominata che è un membro
dell'enumerazione, il nuovo valore viene formato automaticamente. S e è il primo membro
dell'enumerazione, ad esso verrà assegnato il valore 0. Per tutti i membri successivi, i valori vengono
calcolati sulla base del valore dei componenti precedenti aggiungendo uno.
Esempio:
enum intervals // Enumerazione delle costanti nominate
{
month=1, // Intervallo di un mese
two_months, // Due mesi
quarter, // Tre mesi - un quarto di anno
halfyear=6, // Mezzo anno
year=12, // Anno - 12 mesi
};
Note
· A differenza di C++, la grandezza della rappresentazione interna del tipo enumerato in MQL5 è
sempre uguale a 4 byte. Che è, sizeof (months) restituisce il valore 4.
· A differenza del C++, un' enumerazione anonima non può essere dichiarata in MQL5. Vale a dire, un
nome univoco deve essere sempre specificato dopo la parola chiave enum.
Vedi anche
Ty pecasting
double 8 . 5 5 5
2 22 0738 8 07 .
1 797693134862 double
2014 e-308 31 8 5 e+308
Il nome double significa che la precisione di questi numeri è due volte l'accuratezza del tipo di
numerifloat. Nella maggior parte dei casi, il tipo double è il più conveniente. In molti casi la precisione
limitata dei numeri float non è sufficiente. Il motivo per cui il tipo float è ancora usato, è per salvare
la memoria (questo è importante per grandi array di numeri reali).
Costanti in floating-point consistono di una parte intera, un punto (.) e la parte frazionaria. Le parti
intera e frazionaria sono sequenze di cifre decimali.
Esempi:
double a=12.111;
double b=-956.1007;
float c =0.0001;
float d =16;
C'è un modo scientifico di scrivere costanti reali, spesso questo metodo di registrazione è più
compatto di quello tradizionale.
Esempio:
double c1=1.12123515e-25;
double c2=0.000000000000000000000000112123515; // 24 zero dopo il punto decimale
Print("1. c1 =",DoubleToString(c1,16));
// Result: 1. c1 = 0.0000000000000000
Print("2. c1 =",DoubleToString(c1,-16));
// Result: 2. c1 = 1.1212351499999999e-025
Print("3. c2 =",DoubleToString(c2,-16));
// Result: 3. c2 = 1.1212351499999999e-025
Va ricordato che i numeri reali sono memorizzati nella memoria con una certa precisione limitata nel
sistema binario, mentre generalmente viene utilizzata la notazione decimale . Ecco perché molti
numeri che sono appunto rappresentati nel sistema decimale possono essere scritti solo come una
frazione infinita nel sistema binario.
Per esempio, i numeri 0,3 e 0,7 sono rappresentati nel computer come frazioni infinite, mentre il
numero di 0,25 è memorizzato esattamente cos ì, perché rappresenta la potenza di due.
A questo proposito, si raccomanda di non confrontare due numeri reali per l'uguaglianza, in quanto tale
confronto non è corretto.
Esempio:
voidOnStart()
{
//---
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");
// Risultato: 1/3 + 4/3 != 5/3
}
Se si ha ancora bisogno di confrontare l'uguaglianza di due numeri reali, allora si può fare in due modi
diversi. Il primo modo consiste nel confrontare la differenza tra due numeri con qualche piccola
quantità che specifica la precisione del confronto.
Esempio:
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;
}
voidOnStart()
{
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("Different: d_val = ",DoubleToString(d_val,16)," f_val = ",DoubleToString(f_val,16));
// Risultato: Different: d_val= 0.7000000000000000 f_val= 0.6999999880790710
}
Osservato che il valore di epsilon nell'esempio precedente non può essere inferiore alla costante
predefinita DBL _EPS ILON. Il valore di questa costante è 2.2204460492503131e-016. La corrispondente
costante per il tipo float è FL T_EPS ILON = 1.192092896e-07. Il significato di questi valori è il
seguente: è il valore più basso che soddisfa la condizione 1.0 + DBL _EPS ILON! = 1.0 (per numeri di tipo
float 1.0 + FL T_EPS ILON! = 1.0).
Il secondo modo offre il confronto della differenza normalizzata di due numeri reali con zero. Non ha
senso confrontare la differenza di numeri normalizzati con uno zero, perché qualsiasi operazione
matematica con i numeri normalizzati da un risultato non-normalizzato.
Esempio:
bool CompareDoubles(double number1,double number2)
{
if(NormalizeDouble(number1-number2,8)==0)
return(true);
else
return(false);
}
voidOnStart()
{
double d_val=0.3;
float f_val=0.3;
if(CompareDoubles(d_val,f_val))
Print(d_val," equals ",f_val);
else
Print("Different: d_val = ",DoubleToString(d_val,16)," f_val = ",DoubleToString(f_val,16));
// Result: Different: d_val= 0.3000000000000000 f_val= 0.3000000119209290
}
A lcune operazioni del co-processore matematico possono provocare il numero reale valido, che non può
essere utilizzato in operazioni matematiche e operazioni di confronto, poiché il risultato di operazioni
con numeri reali non validi è indefinito. Per esempio, quando si cerca di calcolare l' arcoseno di 2, il
risultato è l'infinito negativo.
Esempio:
double abnormal = MathArcsin(2.0);
Print("MathArcsin(2.0) =",abnormal);
// Risultato: MathArcsin(2.0) = -1.#IND
Oltre al meno infinito c'è il più infinito e NaN (not a number). Per determinare che questo numero non
è valido, è possibile utilizzare MathIs ValidNumber(). S econdo lo standard IEEE, hanno una particolare
rappresentazione macchina. Per esempio, più infinito per il tipo double ha la rappresentanza bit di
0x7FF0 0000 0000 0000.
Esempi:
struct str1
{
double d;
};
struct str2
{
long l;
};
//--- Start
str1 s1;
str2 s2;
//---
s1.d=MathArcsin(2.0); // Ottiene il numero non valido -1.#IND
s2=s1;
printf("1. %f %I64X",s1.d,s2.l);
//---
s2.l=0xFFFF000000000000; // numero non valido -1.#QNAN
s1=s2;
printf("2. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF7000000000000; // il più grande non-numero SNaN
s1=s2;
printf("3. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF8000000000000; // il più piccolo non-numero QNaN
s1=s2;
printf("4. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FFF000000000000; // il più grande non-numero QNaN
s1=s2;
printf("5. %f %I64X",s1.d,s2.l);
//---
s2.l=0x7FF0000000000000; // Infinito positivo 1.#INF ed il più piccolo non numero 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);
//---
Vedi anche
D oubleT oS tring, NormalizeDouble, Costanti dei T ipi Numerici
Tipo Stringa
Il tipo stringa viene utilizzato per la memorizzazione di stringhe di testo. Una stringa di testo è una
sequenza di caratteri in formato Unicode con lo zero finale al termine di essa. Una costante stringa
può essere assegnata ad una variabile stringa. Una costante stringa è una sequenza di caratteri
Unicode racchiuse tra virgolette: " Questa è una costante stringa" .
Se è necessario includere le virgolette (" ) in una stringa, il carattere di back slash (\) deve essere
messo prima. Qualsiasi speciali costanti carattere possono essere scritte in una stringa, se il carattere
di back slash (\) viene digitato prima di esse.
Esempi:
string svar="Questo è un carattere stringa";
string svar2=StringSubstr(svar,0,4);
Print("Simbolo del Copyright\t\x00A9");
FileWrite(handle,"Questa stringa contiene il simbolo di nuova riga \n");
string MT5path="C:\\Program Files\\MetaTrader 5";
Per rendere il codice sorgente leggibile, lunghe costanti stringa possono essere suddivise in parti
senza operazione di addizione. Durante la compilazione, queste parti verranno combinate in una
stringa long :
Vedi anche
F unzioni di Conversione, Funzioni di S tringa,FileOpen, FileR eadS tring, FileW riteS tring
Dichiarazione Struttura
I l tipo di dati struttura è determinato dalla seguente descrizione:
struct structure_name
{
elements_description
};
Il nome struttura non può essere usato come un identificatore (nome di una variabile o funzione). Va
notato che in MQL5 elementi strutturali si susseguono direttamente, senza allineamento. In C++ un
tale ordine è fatto per il compilatore utilizzando la seguente istruzione:
#pragma pack(1)
Se si vuole fare un altro allineamento nella struttura, utilizzare i membri ausiliari, " fillers " per la giusta
dimensione.
Esempio:
struct trade_settings
{
uchar slippage; // valore grandezza-slippage permissibile 1 byte
char reserved1; // salta 1 byte
short reserved2; // salta 2 bytes
int reserved4; // altri 4 bytes vengono saltati. garantisce l'allineamento del bordo 8 byt
double take; // valore del prezzo del fissaggio del profitto
double stop; // valore del prezzo dello stop protettivo
};
Tale descrizione delle strutture allineate è necessaria solo per il trasferimento di funzioni importate
dll.
Attenzione: Questo esempio illustra dati non correttamente designati. S arebbe meglio prima
dichiarare take e stop dati di grandi dimensioni del tipo double, e quindi dichiarare lo slippagemembro
del tipo uchar. In questo caso, la rappresentazione interna dei dati sarà sempre la stessa
indipendentemente dal valore specificato in #pragma pack().
Se una struttura contiene variabili di tipo string e/o oggetto di un array dinamico, il compilatore
assegna un costruttore implicito a tale struttura. Questo costruttore resetta tutti i membri della
struttura di tipo string ed inizializza correttamente oggetti della matrice dinamica.
Strutture Semplici
Le strutture che non contengono stringhe, oggetti delle classi, puntatori ed oggetti di array dinamici
sono chiamate S trutture S emplici. Le variabili di strutture semplici e le loro array possono essere
passate come parametri alle funzioni importate da DLL.
Per fornire un esempio, sviluppiamo la struttura personalizzata CustomM qlT ick con il suo contenuto
identico a quella built-in M qlT ick . Il compilatore non consente di copiare il valore dell'oggetto M qlT ick
nell'oggetto di tipo CustomM qlT ick . Typecasting diretto al tipo necessario provoca anche l'errore di
compilazione:
//--- fare il typecasting di strutture di tipi differenti l'un l'altra è vietato anche
my_tick1=(CustomMqlTick)last_tick;// il compilatore restituisce un errore qui
Pertanto, resta una sola opzione – la copia dei valori degli elementi della struttura uno ad uno. È
comunque permesso copiare i valori dello stesso tipo di CustomM qlT ick .
CustomMqlTick my_tick1,my_tick2;
//--- è consentito copiare gli oggetti dello stesso tipo di CustomMqlTick nel seguente modo
my_tick2=my_tick1;
//--- creare un array dagli oggetti della struttura semplice CustomMqlTick e scrivere valori
CustomMqlTick arr[2];
arr[0]=my_tick1;
arr[1]=my_tick2;
La funzione ArrayPrint() è chiamata per un controllo per visualizzare la funzione arr[] valore array nel
journal.
//+------------------------------------------------------------------+
//| Funzione start programma Script |
//+------------------------------------------------------------------+
void OnStart()
{
// --- sviluppa la struttura simile al built-in MqlTick
struct CustomMqlTick
{
datetime time; // Ora di aggiornamento del prezzo Last
double bid; // Prezzo Bid corrente
double ask; // Prezzo Ask corrente
double last; // Prezzo corrente dell'ultimo trade (Last)
ulong volume; // Volume per il corrente prezzo Last
long time_msc; // Tempo di aggiornamento del prezzo Last in millisecondi
uint flags; // Tick flags
};
//--- ottiene l'ultimo valore tick
MqlTick last_tick;
CustomMqlTick my_tick1,my_tick2;
//--- tentativo di copiare dati da MqlTick a CustomMqlTick
if(SymbolInfoTick(Symbol(),last_tick))
{
//--- la copia di strutture semplici non correlate è vietata
//1. my_tick1=last_tick; // il compilatore restituisce un errore qui
//--- è consentito copiare gli oggetti dello stesso tipo di CustomMqlTick nel seguente modo
my_tick2=my_tick1;
//--- creare un array dagli oggetti della struttura semplice CustomMqlTick e scrivere valori
CustomMqlTick arr[2];
arr[0]=my_tick1;
arr[1]=my_tick2;
ArrayPrint(arr);
/ --- esempio di visualizzazione dei valori dell'array contenente gli oggetti del tipo CustomMqlTic
/*
[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());
}
Il secondo esempio mostra le caratteristiche della copia di strutture semplici dalla discendenza.
S upponiamo di avere la struttura base A nimal, da cui derivano le strutture Cat e Dog. Possiamo
copiare gli oggetti Animal e Cat, cos ì come gli oggetti Animal e Dog, ma non possiamo copiare Cat e
Dog a vicenda, anche se entrambi sono discendenti della struttura A nimal.
some_animal.run=true;
//--- crea oggetti di tipo figlio
Dog dog;
Cat cat;
//--- può essere copiato da antenato a discendente (Animal ==> Dog)
dog=some_animal;
dog.swim=true; // i cani possono nuotare
//--- non è possibile copiare oggetti di strutture figlie (Dog != Cat)
//cat=dog; // il compilatore restituisce errore qui
//--- è pertanto possibile copiare gli elementi uno per uno, solamente
cat.head=dog.head;
cat.legs=dog.legs;
cat.wings=dog.wings;
cat.tail=dog.tail;
cat.fly=dog.fly;
cat.swim=false; // cats cannot swim
//--- è possibile copiare i valori dal discendente all'antenato
Animal elephant;
elephant=cat;
elephant.run=false;// gli elefanti non possono correre
elephant.swim=true;// gli elefanti possono nuotare
//--- crea un array
Animal animals[4];
animals[0]=some_animal;
animals[1]=dog;
animals[2]=cat;
animals[3]=elephant;
//--- stampare
ArrayPrint(animals);
//--- risultato dell' esecuzione
/*
[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
*/
}
Un altro modo per copiare i tipi semplici è l'utilizzo dell' unione. G li oggetti delle strutture dovrebbero
essere membri della stessa unione - vedere l'esempio in union.
Esempio:
struct trade_settings
{
double take; // valori della fissazione dei prezzi profitto
double stop; // valore del prezzo di stop protettivo
uchar slippage; // valore dello scostamento accettabile
};
//--- creare ed inizializza una variabile di tipo trade_settings
trade_settings my_set={0.0,0.0,5};
if (input_TP>0) my_set.take=input_TP;
pack([n])
Esempio:
struct pack(sizeof(long)) MyStruct
{
// i membri della struttura devono essere allineati al limite di 8 byte
};
or
struct MyStruct pack(sizeof(long))
{
// i membri della struttura devono essere allineati al limite di 8 byte
};
pack (1)' è applicato di default per le strutture. Ciò significa che i membri della struttura si trovano
'
uno dopo l'altro in memoria e la dimensione della struttura è uguale alla somma della dimensione dei
membri.
Esempio:
//+------------------------------------------------------------------+
// | Funzione Start del programma di Script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- struttura semplice senza allineamento
struct Simple_Structure
{
char c; // sizeof(char)=1
short s; // sizeof(short)=2
int i; // sizeof(int)=4
double d; // sizeof(double)=8
};
//--- dichiara una semplice istanza di struttura
Simple_Structure s;
//--- mostra la dimensione di ogni membro della struttura
Print("sizeof(s.c)=",sizeof(s.c));
Print("sizeof(s.s)=",sizeof(s.s));
Print("sizeof(s.i)=",sizeof(s.i));
Print("sizeof(s.d)=",sizeof(s.d));
//--- assicurati che la dimensione della struttura POD sia uguale alla somma della dimensione dei s
Print("sizeof(simple_structure)=",sizeof(simple_structure));
/*
Result:
sizeof(s.c)=1
sizeof(s.s)=2
sizeof(s.i)=4
sizeof(s.d)=8
sizeof(simple_structure)=15
*/
}
L 'allineamento dei campi della struttura può essere necessario quando si scambiano dati con librerie di
terze parti (*.DLL) in cui viene applicato tale allineamento.
Usiamo alcuni esempi per mostrare come funziona l'allineamento. A pplicheremo una struttura
composta da quattro membri senza allineamento.
I campi della struttura devono essere collocati in memoria uno dopo l'altro in base all'ordine di
dichiarazione e dimensione del tipo. La dimensione della struttura è 15, mentre un offset rispetto ai
campi della struttura negli array non è definito.
//+------------------------------------------------------------------+
// | Funzione Start del programma di Script |
//+------------------------------------------------------------------+
void OnStart()
{
La dimensione della struttura è cambiata in modo che tutti i membri di 4 byte e più abbiano un offset
dall'inizio della struttura multipla di 4 byte. I membri più piccoli devono essere allineati al loro limite di
dimensione (ad esempio, 2 per " short" ). Ecco come appare (il byte aggiunto è mostrato in grigio).
In questo caso, 1 byte viene aggiunto dopo il sc membro, in modo che il campo s.s (sizeof (short)==2)
ha il limite di 2 byte (allineamento per il tipo 'short').
Anche l'offset all'inizio della struttura nell'array è allineato al limite di 4 byte, ovvero gli indirizzi degli
elementi a [0], a[1] ed a[n] devono essere multipli di 4 byte per S imple_S tructure arr[].
Consideriamo altre due strutture costituite da tipi simili con un allineamento di 4 byte ma un ordine di
membro diverso. Nella prima struttura, i membri si trovano nell'ordine crescente della dimensione del
tipo.
//+------------------------------------------------------------------+
// | Funzione Start del programma di Script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- semplice struttura allineata al limite di 4 byte
struct CharShortInt pack(4)
{
char c; // sizeof(char)=1
short s; // sizeof(short)=2
int i; // sizeof(double)=4
};
//--- dichiara una semplice istanza di struttura
CharShortInt ch_sh_in;
//--- mostra la dimensione di ogni membro della struttura
Print("sizeof(ch_sh_in.c)=",sizeof(ch_sh_in.c));
Print("sizeof(ch_sh_in.s)=",sizeof(ch_sh_in.s));
Print("sizeof(ch_sh_in.i)=",sizeof(ch_sh_in.i));
//--- assicurati che la dimensione della struttura POD sia uguale alla somma della dimensione dei s
Print("sizeof(CharShortInt)=",sizeof(CharShortInt));
/*
Result:
sizeof(ch_sh_in.c)=1
sizeof(ch_sh_in.s)=2
sizeof(ch_sh_in.i)=4
sizeof(CharShortInt)=8
*/
}
Come possiamo vedere, la dimensione della struttura è 8 e consiste dei due blocchi da 4 byte. Il primo
blocco contiene i campi con i tipi " char" e " short" , mentre il secondo contiene il campo con il tipo 'int'.
Ora trasformiamo la prima struttura nella seconda, che differisce solo nell'ordine dei campi, spostando
il membro di tipo 'short' alla fine.
//+------------------------------------------------------------------+
// | Funzione Start del programma di Script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- semplice struttura allineata al limite di 4 byte
struct CharIntShort pack(4)
{
char c; // sizeof(char)=1
int i; // sizeof(double)=4
short s; // sizeof(short)=2
};
//--- dichiara una semplice istanza di struttura
CharIntShort ch_in_sh;
//--- mostra la dimensione di ogni membro della struttura
Print("sizeof(ch_in_sh.c)=",sizeof(ch_in_sh.c));
Print("sizeof(ch_in_sh.i)=",sizeof(ch_in_sh.i));
Print("sizeof(ch_in_sh.s)=",sizeof(ch_in_sh.s));
//--- assicurati che la dimensione della struttura POD sia uguale alla somma della dimensione dei s
Print("sizeof(CharIntShort)=",sizeof(CharIntShort));
/*
Result:
sizeof(ch_in_sh.c)=1
sizeof(ch_in_sh.i)=4
sizeof(ch_in_sh.s)=2
sizeof(CharIntShort)=12
*/
}
Sebbene il contenuto della struttura non sia cambiato, l'alterazione della sequenza dei membri ha
aumentato le sue dimensioni.
struct Parent
{
char c; // sizeof(char)=1
};
Creiamo la classe figlia Children con il membro di tipo " short" (sizeof (short)=2).
La conoscenza di come viene allocata la memoria per i membri della struttura è necessaria se
un'applicazione MQL5 interagisce con i dati di terze parti scrivendo/leggendo sul livello dei file o degli
stream.
La directory MQL5\Include\W inAPI della Libreria standard contiene le funzioni per lavorare con le
funzioni W inAPI. Queste funzioni applicano le strutture con un allineamento specificato per i casi
quando è richiesto per lavorare con W inA PI .
Modificatore 'final'
L 'uso del modificatore 'final' durante la dichiarazione struttura vieta ulteriori eredità da questa
struttura. S e una struttura non necessita di ulteriori modifiche, o le modifiche non sono ammesse per
motivi di sicurezza, dichiarare tale struttura con il modificatore 'final'. Inoltre, tutti i componenti della
struttura saranno implicitamente considerati definitivi.
Se si tenta di ereditare da una struttura con il modificatore 'final', come mostrato nell'esempio
precedente, il compilatore restituirà un errore:
Classi
Le classi differiscono dalle strutture in base a quanto riportato qui di seguito:
· Per impostazione predefinita, tutti i membri della classe hanno lo specificatore di accesso private,
se non diversamente indicato. Data-membri della struttura hanno il tipo predefinito di accesso come
public, salvo diversa indicazione;
· oggetti della classe hanno sempre una tabella di funzioni virtuali, anche se non ci sono funzioni
virtuali dichiarate nella classe. Le strutture non possono avere funzioni virtuali;
· l'operatore new può essere applicato ad oggetti della classe, questo operatore non può essere
applicato a strutture;
· le classi possono essere ereditate solo dalle classi; le strutture possono essere ereditate solo dalle
strutture.
Esempio:
struct trade_settings
{
double take; // valori della fissazione dei prezzi profitto
double stop; // valore del prezzo di stop protettivo
uchar slippage; // valore dello scostamento accettabile
//--- Costruttore
trade_settings() { take=0.0; stop=0.0; slippage=5; }
//--- Distruttore
~trade_settings() { Print("Questa è la fine"); }
};
//--- Il compilatore genera un messaggio di errore riferendo che l'inizializzazione è impossibile
trade_settings my_set={0.0,0.0,5};
Costruttori e distruttori
U n costruttore è una funzione speciale, che viene chiamata automaticamente quando si crea un
oggetto di una struttura o di una classe, e di solito è usato per inizializzare membri della classe.
I noltre parleremo solo di classi, mentre lo stesso vale per le strutture, se non diversamente indicato. I l
nome di un costruttore deve corrispondere al nome della classe. Il costruttore non ha alcun tipo di
ritorno (è possibile specificare il tipo void).
Imembri definiti della classe - stringhe, array dinamici ed oggetti che richiedono inizializzazioni -
verranno in ogni caso inizializzati, indipendentemente dal fatto che vi sia un costruttore.
Ogni classe può avere multipli costruttori, differendo per il numero di parametri e la lista di
inizializzazione. Un costruttore che richiede il fatto di specificare i parametri, viene chiamato un
costruttore parametrico.
Un costruttore senza parametri viene chiamato un costruttore di default. S e non vi sono costruttori
dichiarati in una classe, il compilatore crea un costruttore di default durante la compilazione.
//+--------------------------------------------------------------------------------+
//| La classe per lavorare con una data |
//+--------------------------------------------------------------------------------+
class MyDateClass
{
private:
int m_year; // Anno
int m_month; // Mese
int m_day; // Giorno del mese
int m_hour; // Ore in un giorno
int m_minute; // Minuti
int m_second; // Secondi
public:
//--- Costruttore default
MyDateClass(void);
//--- Costruttore parametrico
MyDateClass(int h,int m,int s);
};
Un costruttore può essere dichiarato nella descrizione della classe e poi il suo corpo può essere
definito. Ad esempio, due costruttori di M yDateClass possono essere definiti nel modo seguente:
//+--------------------------------------------------------------------------------+
//| Costruttore 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__);
}
//+--------------------------------------------------------------------------------+
//| Costruttore parametrico |
//+--------------------------------------------------------------------------------+
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__);
}
Nel costruttore di default, tutti i membri della classe vengono riempiti con la funzione T imeCurrent(),
nel costruttore parametrico solo i valori orari vengono compilati Altri membri della classe (m_year,
m_month e m_day) viene automaticamente inizializzati con la data corrente.
Il costruttore predefinito ha uno scopo speciale durante l'inizializzazione di un array di oggetti della sua
classe. Il costruttore, di cui tutti i parametri hanno valori predefiniti, non è un costruttore di default.
Ecco un esempio:
//+--------------------------------------------------------------------------------+
string ToString(){return(TimeToString(m_call_time,TIME_DATE|TIME_SECONDS));};
};
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
// CFoo foo; // Questa variante non può essere utilizzata - un costruttore di default non è imposta
//--- Le possibili opzioni per creare l'oggetto CFoo
CFoo foo1(TimeCurrent()); // Una chiamata esplicita di un costruttore parametrico
CFoo foo2(); // Una chiamata esplicita di un costruttore parametrico con un par
CFoo foo3=D'2009.09.09'; // Una chiamata implicita di un costruttore parametrico
CFoo foo40(foo1); // Una chiamata esplicita di un costruttore di copia
CFoo foo41=foo1; // Una chiamata implicita di un costruttore di copia
CFoo foo5; // Una chiamata esplicita di un costruttore di default (se non c'è
// allora viene chiamato un costruttore parametrico con un valore
//--- Le opzioni possibili per ricevere puntatori CFoo
CFoo *pfoo6=new CFoo(); // Creazione dinamica di un oggetto e la ricezione di un puntatore
CFoo *pfoo7=new CFoo(TimeCurrent());// Un'altra opzione di creazione di oggetti dinamici
CFoo *pfoo8=GetPointer(foo1); // Ora pfoo8 punta all'oggetto foo1
CFoo *pfoo9=pfoo7; // pfoo9 e pfoo7 puntano all'unico e stesso oggetto
// CFoo foo_array[3]; // Questa opzione non può essere utilizzata - un costruttore di de
//--- Mostra il valore di 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());
//--- Elimina array creati dinamicamente
delete pfoo6;
delete pfoo7;
//delete pfoo8; // Non è necessario eliminare pfoo8 in modo esplicito, in quanto indica l'ogget
//delete pfoo9; // Non è necessario eliminare pfoo9 esplicitamente. in quanto punta allo stesso
}
//CFoo foo_array[3]; // Questa variante non può essere utilizzata - un costruttore di default
//CFoo foo_dyn_array[]; // Questa variante non può essere utilizzata - un costruttore di default
il compilatore restituisce un errore per loro " il costruttore di default non è definito" .
S e una classe ha un costruttore definito-dall'utente, il costruttore di default non viene generato dal
compilatore. Ciò significa che se un costruttore parametrico è dichiarato in una classe, ma un
costruttore di default non è dichiarato, non è possibile dichiarare gli array di oggetti di questa classe.
I l compilatore restituirà un errore per questo script:
//+--------------------------------------------------------------------------------+
//| Una classe senza un costruttore di default |
//+--------------------------------------------------------------------------------+
class CFoo
{
string m_name;
public:
CFoo(string name) { m_name=name;}
};
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
//--- Ottiene durante la compilazione l'errore "il costruttore di default non è definito"
CFoo badFoo[5];
}
In questo esempio, la classe CFoo dispone di un costruttore parametrico dichiarato - in questi casi, il
compilatore non crea un costruttore di default automaticamente durante la compilazione. Allo stesso
tempo, quando si dichiara un array di oggetti, si presume che tutti gli oggetti debbano essere creati
ed inizializzati automaticamente. Durante l'auto-inizializzazione di un oggetto, è necessario chiamare
un costruttore di default, ma dal momento che il costruttore di default non è esplicitamente dichiarato
e non generato automaticamente dal compilatore, non è possibile creare un tale oggetto. Per questo
motivo, il compilatore genera un errore in fase di compilazione.
C'è una sintassi speciale per inizializzare un oggetto utilizzando un costruttore. Inizializzatori
Costruttore (costruzioni speciali per l'inizializzazione) per i membri di una struttura o classe, possono
essere specificato nella lista di inizializzazione.
Un elenco di inizializzazione è un elenco di inizializzatori separati da virgole, che arriva dopo i due
punti dopo la lista dei parametri di un costruttore e precede il corpo (va prima di una parentesi graffa
di apertura). Ci sono diversi requisiti:
//+--------------------------------------------------------------------------------+
//| Una classe per memorizzare il nome di un personaggior |
//+--------------------------------------------------------------------------------+
class CPerson
{
string m_first_name; // Primo nome
string m_second_name; // Secondo nome
public:
//--- Un costruttore di default vuoto
CPerson() {Print(__FUNCTION__);};
//--- Un costruttore parametrico
CPerson(string full_name);
//--- Un costruttore con un elenco di inizializzazione
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);
}
}
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
//--- Riceve un errore "il costruttore di default non è definito"
CPerson people[5];
CPerson Tom="Tom Sawyer"; // Tom Sawyer
CPerson Huck("Huckleberry","Finn"); // Huckleberry Finn
CPerson *Pooh = new CPerson("Winnie","Pooh"); // Winnie the Pooh
//--- Valori in Output
Tom.PrintName();
Huck.PrintName();
Pooh.PrintName();
1 . Un esplicito costruttore di default, che permette di creare un array di oggetti di questa classe;
2 . Un costruttore con un parametro, che ottiene un nome completo come parametro e lo divide per il
nome e il secondo nome secondo lo spazio trovato;
3 . Un costruttore con due parametri che contiene un elenco di inizializzazione. Inizializzatori -
m_second_name(surname) e m_first_name(name).
Si noti che l'inizializzazione utilizzando una lista ha sostituito un' assegnazione. I singoli membri
devono essere inizializzati come:
N ella lista di inizializzazione, i membri possono andare in qualsiasi ordine, ma tutti i membri della
classe verranno inizializzati secondo l'ordine del loro annuncio. Ciò significa che nel terzo costruttore,
prima il membro m_first_name verrà inizializzato, come è annunciato prima, e solo dopo che
m_second_name viene inizializzato. Ciò deve essere tenuto in considerazione nel caso in cui
l'inizializzazione di alcuni membri della classe dipendono dai valori di altri membri della classe.
Se un costruttore di default non viene dichiarato nella classe base, ed al tempo stesso vengono
dichiarati uno o più costruttori con parametri, si dovrebbe sempre chiamare uno dei costruttori della
classe base nella lista di inizializzazione. Passa attraverso la virgola come membri ordinari della lista e
verrà chiamato la prima volta durante l'inizializzazione dell'oggetto, non importa dove si trova
nell'elenco di inizializzazione.
//+--------------------------------------------------------------------------------+
//| Classe Base |
//+--------------------------------------------------------------------------------+
class CFoo
{
string m_name;
public:
//--- Un costruttore con un elenco di inizializzazione
CFoo(string name) : m_name(name) { Print(m_name);}
};
//+--------------------------------------------------------------------------------+
//| Classe derivata da CFoo |
//+--------------------------------------------------------------------------------+
class CBar : CFoo
{
CFoo m_member; // Un membro della classe è un oggetto del genitore
public:
//--- Un costruttore di default nella lista di inizializzazione chiama il costruttore di un geni
CBar(): m_member(_Symbol), CFoo("CBAR") {Print(__FUNCTION__);}
};
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
CBar bar;
}
In questo esempio, quando si crea l'oggetto bar, verrà chiamato un costruttore di default CBar(), in cui
prima viene chiamato un un costruttore per la CFoo padre, e poi arriva un costruttore per il membro
della classe m_member.
U n distruttore è una funzione speciale che viene chiamata automaticamente quando un oggetto della
classe viene distrutto. Il nome del distruttore è scritto come il nome della classe con una tilde (~).
S tringhe, array dinamici ed oggetti, richiedenti la deinizializzazione, verranno de-inizializzati in ogni
caso, indipendentemente dalla presenza o assenza del distruttore. S e c'è un distruttore, queste azioni
verranno eseguite dopo aver chiamato il distruttore.
I distruttori sono sempre virtuali, indipendentemente dal fatto che siano dichiarati con la parola
chiave virtual o meno.
Esempio:
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[]);
Le funzioni da S etR ightBorder (confine int) per D raw() vengono dichiarate e definite direttamente
all'interno della classe CT etris S hape.
Esempio:
//+--------------------------------------------------------------------------------+
//| Costruttore della classe base |
//+--------------------------------------------------------------------------------+
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;
}
//+--------------------------------------------------------------------------------+
//| Controlla l'abilità di spostarsi giù (per il "lungo" ed il 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);
}
protected, i dati nascosti possono essere acceduti anche dai metodi delle classi - eredi di questa
classe. Lo stesso metodo può essere utilizzato per limitare l'accesso ai metodi-funzione di una classe.
Se è necessario aprire completamente l'accesso ai membri e/o metodi di una classe, utilizzare la
parola chiave public.
Esempio:
class CTetrisField
{
private:
int m_score; // Punteggio
int m_ypos; // Posizione corrente delle figure
int m_field[FIELD_HEIGHT][FIELD_WIDTH]; // Matrice del pozzo
int m_rows[FIELD_HEIGHT]; // Numerazione delle righe del pozzo
int m_last_row; // Ultime righe libere
CTetrisShape *m_shape; // Figura Tetris
bool m_bover; // Game over
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();
};
I membri della classe e metodi dichiarati dopo l'identificatore public: (e prima dello specificatore di
accesso successivo) sono disponibili in qualsiasi riferimento all'oggetto classe dal programma. In
questo esempio questi sono i seguenti membri : funzioni C T etris Field(), I nit(), Deinit(), Down(), Left(),
Imembri che vengono dichiarati dopo lo specificatore di accesso agli elementi private: (e prima dello
specificatore di accesso successivo) sono disponibili solo per i membri funzioni di questa classe. Gli
secificatori di accesso agli elementi finiscono sempre con i due punti (:) e possono comparire nella
definizione della classe molte volte.
Qualsiasi membro della classe dichiarato dopo l' identificatore di accesso protected:(e fino al
successivo identificatore di accesso) sono disponibili solo per le funzioni-membro di questa classe e
per le funzioni-membro delle classi discendenti. Quando si tenta di fare riferimento ai membri che
presentano gli specificatori private e protected dall'esterno, otteniamo l'errore della fase di
compilazione. Esempio:
class A
{
protected:
// --- l'operatore copy è disponibile solo all'interno della classe A e suoi discendenti
void operator=(const A &)
{
}
};
class B
{
//--- oggetto della classe A dichiarato
A a;
};
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- dichiara due variabili di tipo B.
B b1, b2;
//--- tenta di copiare un oggetto in un altro
b2=b1;
}
D urante la compilazione del codice, viene visualizzato il messaggio di errore - tentativo di chiamare
l'operatore copy remoto:
La seconda stringa di seguito fornisce una descrizione più dettagliata — l'operatore copy nella classe B
è stato eliminato esplicitamente, poiché viene chiamato l'operatore copy non disponibile della classe A:
function 'void B::operator=(const B&)' was implicitly deleted because it invokes inaccessible fu
L 'accesso ai membri della classe base può essere ridefinito duranteeredità nelle classi derivate.
'delete' specifier
L ' identificatore delete contrassegna le funzioni dei membri della classe che non possono essere
utilizzate. Ciò significa che se il programma fa riferimento a tale funzione in modo esplicito o
implicito, l'errore viene già ricevuto in fase di compilazione. Ad esempio, questo identificatore
consente di rendere i metodi parent non disponibili in una classe child. Lo stesso risultato può essere
ottenuto se dichiariamo la funzione nell'area privata della classe genitrice (dichiarazioni nella sezione
private). Qui, usare delete rende il codice più leggibile e gestibile a livello di discendenti.
class A
{
public:
A(void) {value=5;};
double GetValue(void) {return(value);}
private:
double value;
};
class B: public A
{
double GetValue(void)=delete;
};
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- dichiara la variabile di tipo A.
A a;
Print("a.GetValue()=", a.GetValue());
//--- tenta di ottenere valore dalla variabile di tipo B.
B b;
Print("b.GetValue()=", b.GetValue()); // il compilatore mostra un errore in questa stringa
}
class A
{
public:
void SetValue(double v) {value=v;}
//--- disabilita la chiamata di tipo int
void SetValue(int) = delete;
//--- disabilita l'operatore copy
void operator=(const A&) = delete;
private:
double value;
};
//+------------------------------------------------------------------+
//| Funzione di avvio del programma di script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- dichiara due variabili di tipo A.
A a1, a2;
a1.SetValue(3); // errore!
a1.SetValue(3.14); // OK
a2=a1; // errore!
}
Modificatore 'final'
L 'uso del modificatore 'final' durante la dichiarazione della classe vieta ulteriori eredità da questa
classe. S e l'interfaccia della classe non richiede ulteriori modifiche, o le modifiche non sono ammesse
per motivi di sicurezza, dichiarare questa classe con il modificatore 'final'. Inoltre, tutti i membri della
classe saranno implicitamente considerati definitivi.
Se si tenta di ereditare da una classe con il modificatore 'final', come mostrato nell'esempio
precedente, il compilatore restituirà un errore:
Unioni (union)
Union è un tipo di dati speciale costituito da diverse variabili che condividono la stessa area di
memoria. Pertanto, l'unione fornisce la capacità di interpretare la stessa sequenza di bit in due (o più)
modi diversi. La dichiarazione dell'unione è simile alla dichiarazione della struttura ed inizia con la
parola chiave union.
union LongDouble
{
long long_value;
double double_value;
};
A differenza della struttura, i vari membri sindacali appartengono alla stessa area di memoria. In
questo esempio, l'unione di Long Double è dichiarata con valori di tipo long e double che condividono la
stessa area di memoria. S i prega di notare che è impossibile fare in modo che union memorizzi (a
differenza di una struttura) simultaneamente valori integer long e valori real double , poiché le
variabili long _value e double_value si sovrappongono (in memoria). D'altro canto, un programma MQL5
è in grado di elaborare in qualsiasi momento i dati contenenti nell'unione un valore intero(long) o
reale(double). Pertanto, l'unione consente di ricevere due (o più) opzioni per rappresentare la stessa
sequenza di dati.
union LongDouble
{
long long_value;
double double_value;
};
//+------------------------------------------------------------------+
//| Funzione start programma Script |
//+------------------------------------------------------------------+
void OnStart()
{
//---
LongDouble lb;
//--- ottiene e visualizza il numero -nan(ind) non valido
lb.double_value=MathArcsin(2.0);
printf("1. double=%f integer=%I64X",lb.double_value,lb.long_value);
//--- il più ampio valore normalizzato (DBL_MAX)
lb.long_value=0x7FEFFFFFFFFFFFFF;
printf("2. double=%.16e integer=%I64X",lb.double_value,lb.long_value);
//--- il più piccolo positivo normalizzato (DBL_MIN)
lb.long_value=0x0010000000000000;
printf("3. double=%.16e integer=%.16I64X",lb.double_value,lb.long_value);
}
/* Risultato dell'esecuzione
1. double=-nan(ind) integer=FFF8000000000000
2. double=1.7976931348623157e+308 integer=7FEFFFFFFFFFFFFF
3. double=2.2250738585072014e-308 integer=0010000000000000
*/
Poiché le unioni consentono al programma di interpretare gli stessi dati di memoria in modi diversi,
esse vengono spesso utilizzate quando un' inusuale conversione di tipo è richiesta.
Le unioni non possono essere coinvolte nella eredità(inheritance), e loro anche non possono avere
membri statici a causa della loro stessa natura. In tutti gli altri aspetti, l' unione si comporta come una
struttura con tutti i suoi membri con un offset di zero. I seguenti tipi non possono essere i membri
dell'unione:
· dynamic arrays
· strings
Simillmente alle classi, l'unione è in grado di avere costruttori e distruttori, cos ì come metodi. Per
default, i membri dell'unione sono di tipo di accesso public. Per creare elementi privati, utilizzare la
parola chiave private. T utte queste possibilità sono visualizzate nell'esempio che illustra come
convertire un colore del tipo color in ARGB come fa la funzione ColorT oARGB().
//+------------------------------------------------------------------+
//| Unione per la conversione in colori (BGR) in ARGB |
//+------------------------------------------------------------------+
union ARGB
{
uchar argb[4];
color clr;
//--- costruttori
ARGB(color col,uchar a=0){Color(col,a);};
~ARGB(){};
//--- metodi pubblici
public:
uchar Alpha(){return(argb[3]);};
void Alpha(const uchar alpha){argb[3]=alpha;};
color Color(){ return(color(clr));};
//--- metodi privati
private:
//+------------------------------------------------------------------+
//| imposta il valore del canale alpha ed il colore |
//+------------------------------------------------------------------+
void Color(color col,uchar alpha)
{
//--- imposta il colore al membro clr
clr=col;
//--- imposta il valore del componente Alpha - livello d'opacità
argb[3]=alpha;
//--- scambia i bite dei componenti R e B (Red e Blue)
uchar t=argb[0];argb[0]=argb[2];argb[2]=t;
};
};
//+------------------------------------------------------------------+
//| Funzione start programma Script |
//+------------------------------------------------------------------+
void OnStart()
{
//--- 0x55 significa 55/255=21.6 % (0% - completamente trasparente)
uchar alpha=0x55;
//--- il tipo di colore è rappresentato come 0x00BBGGRR
color test_color=clrDarkOrange;
//--- qui vengono accettati i valori di byte provenienti dall'unione ARGB
uchar argb[];
PrintFormat("0x%.8X - qui è come il tipo 'color' appare per %s, BGR=(%s)",
test_color,ColorToString(test_color,true),ColorToString(test_color));
//--- Il tipo ARGB è rappresentato da 0x00RRGGBB, RR e BB vengono scambiati
ARGB argb_color(test_color);
//--- copia l'array di byte
ArrayCopy(argb,argb_color.argb);
//--- ecco come appare nella rappresentazione ARGB
PrintFormat("0x%.8X - rappresentazione ARGB con il canale alpha=0x%.2x, ARGB=(%d,%d,%d,%d)",
argb_color.clr,argb_color.Alpha(),argb[3],argb[2],argb[1],argb[0]);
//--- aggiungi livello opacità
argb_color.Alpha(alpha);
Interfacce
n interfaccia consente la determinazione di specifiche funzionalità, che una classe può quindi
U '
implementare. Infatti, un'interfaccia è una classe che non può contenere membri, e non può avere un
costruttore e/o un distruttore. T utti i metodi dichiarati in una interfaccia sono puramente virtuali,
anche in assenza di una definizione esplicita.
{
public:
CDog() { Print("Il cane è nato"); }
~CDog() { Print("Il cane è morto"); }
//--- Implementare il metodo Sound di IAnimal interface
void Sound(){ Print("guaf"); }
};
//+------------------------------------------------------------------+
//| Programma Script funzione start |
//+------------------------------------------------------------------+
void OnStart()
{
//--- Un array di puntatori a oggetti del tipo IAnimal
IAnimal *animals[2];
//--- La creazione di classi figlio di IAnimal e risparmio di puntatori a loro, in un array
animals[0]=new CCat;
animals[1]=new CDog;
//--- Chiamata al metodo Suono() dell'interfaccia base IAnimal per ogni bambino
for(int i=0;i<ArraySize(animals);++i)
animals[i].Sound();
//--- Eliminazione oggetti
for(int i=0;i<ArraySize(animals);++i)
delete animals[i];
//--- Risultato dell'esecuzione
/*
Il gatto è nato
Il cane è nato
meou
guaf
Il gatto è morto
Il cane è morto
*/
}
Come le classi astratte, un oggetto interfaccia non può essere creato senza eredità. Un'interfaccia può
essere ereditata solo dalle altre interfacce e può essere un genitore per una classe. Un interfaccia è
sempre con visibilità pubblica.
n interfaccia non può essere dichiarata all'interno di una dichiarazione della classe o di una struttura,
U '
ma un puntatore per l'interfaccia può essere salvato in una variabile di tipo void *. In generale, un
puntatore ad un oggetto di qualsiasi classe può essere salvato in una variabile di tipo void *. Per
convertire un puntatore void * a un puntatore ad un oggetto di una classe particolare, utilizzare
l'operatore dynamic_cast. S e la conversione non è possibile, il risultato dell'operazione dynamic_cast
sarà NULL.
Vedi anche
Programmazione Ad Oggetti (OOP Object-Oriented-Programming)
Array dinamici vengono automaticamente liberati quando si va oltre l'area visibilità del blocco in cui
sono dichiarati
Esempio:
double matrix[][10][20]; // array dinamico tri-dimensionale
ArrayResize(matrix,5); // Imposta la grandezza della prima dimensione
Array statici
Quando tutte le significative dimensioni dell'array sono specificate in modo esplicito, il compilatore
pre-alloca la dimensione necessaria della memoria. Un tale array è chiamato statico. T uttavia, il
compilatore alloca memoria aggiuntiva per l'oggetto di un array dinamico, il cui (oggetto) è associato
al buffer statico pre-assegnato (parte della memoria per memorizzare l'array).
La creazione di un oggetto array dinamico è dovuta alla possibile necessità di passare questo array
statico come parametro per qualche funzione.
Esempi:
double stat_array[5]; // array statico uni-dimensionale
some_function(stat_array);
...
bool some_function(double& array[])
{
if(ArrayResize(array,100)<0) return(false);
...
return(true);
}
Array in Strutture
Quando un array statico è dichiarato come un membro di una struttura, un oggetto array dinamico non
viene creato. Questo viene fatto per garantire la compatibilità delle strutture di dati utilizzati per la
A PI di W indows.
Tuttavia, gli array statici che vengono dichiarati come membri delle strutture, possono anche essere
passati funzioni-MQL5. In questo caso, quando si passa il parametro di un oggetto temporaneo di un
array dinamico, collegato con l'array statico - verrà creato il membro della struttura.
Vedi anche
F unzioni di Array, Inizializzazione delle Variabili, Visibilità Ambito di Applicazione e Durata delle
V ariabili, Creazione ed Eliminazione di Oggetti
Typecasting
Casting di Tipi Numerici
Spesso si verifica la necessità di convertire un tipo numerico in un altro. N on tutti i tipi numerici
possono essere convertiti in altri. Ecco lo schema di casting consentito:
Le linee continue con le frecce indicano le modifiche che vengono eseguite quasi senza alcuna perdita
di informazioni. Al posto del tipo char, può essere usato il tipo bool (entrambi prendono 1 byte di
memoria), al posto del tipo int, può essere utilizzato il tipo color (4 byte), al posto del tipo long, può
essere utilizzato il tipo datetime (prende 8 byte). Le quattro linee tratteggiate grigie, anch'esse a
freccia, denotano conversioni, quando la perdita di precisione può verificarsi. Ad esempio, il numero
di cifre nel numero intero pari a 123456789 (int) è superiore al numero di cifre che possono essere
rappresentate da un float.
int n=123456789;
float f=n; // il contenuto di f è uguale a 1.234567892E8
Print("n = ",n," f = ",f);
// risulta n= 123456789 f= 123456792.00000
Come risultato di conversione di valori in virgola mobile verso il tipo intero, la parte frazionaria viene
sempre eliminata. S e si desidera arrotondare un float al numero intero più vicino (che in molti casi è
più utile), è necessario utilizzare MathR ound ().
Esempio:
// --- Accelerazione gravitazionale
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);
/*
Risultato:
round_g = 9
math_round_g = 10
*/
I tipi di dati char, uchar, short, ed ushort incondizionatamente vengono convertiti nel tipo int.
Esempi:
char c1=3;
//--- Primo esempio
double d2=c1/2+0.3;
Print("c1/2 + 0.3 = ",d2);
// Risultato: c1/2+0.3 = 1.3
L 'espressione calcolata si compone di due operazioni. Nel primo esempio, la variabile c1 del tipo char
viene convertita in una variabile temporanea di tipo int, perché il secondo operando nell'operazione di
divisione, la costante 2, è del tipo superiore int. Come risultato della divisione intera 3/2 si ottiene il
valore 1, che è di tipo int.
Nella seconda operazione del primo esempio, il secondo operando è la costante 0.3, che è di tipo
double, quindi il risultato della prima operazione viene convertito in una variabile temporanea di tipo
double con il valore di 1.0 .
Nel secondo esempio la variabile di tipo char c1 viene convertita in una variabile temporanea di tipo
double, perché il secondo operando nell'operazione di divisione, la costante 2.0, è di tipo double; non
vengono effettuate altre conversioni.
var_1 = (tipo)var_2;
Un risultato di un'espressione o di esecuzione di una funzione può essere utilizzato come variabile
var_2. La registrazione funzionale del typecasting esplicito è anche possibile:
var_1 = tipo(var_2);
Inoltre, quando si cerca di castare i tipi, il risultato può andare oltre il range permissibile. In questo
caso, avviene un troncamento. Ad esempio:
char c;
uchar u;
c=400;
u=400;
Print("c = ",c); // Risultato c=-112
Print("u = ",u); // Risultato u=144
Prima che le operazioni (ad eccezione di quelle assegnazione) vengano eseguite, i dati vengono
convertiti nel tipo massima priorità. Prima che vengano eseguite le operazioni di assegnazione, i dati
vengono castati nel tipo target(_*di destinazione).
Esempi:
int i=1/2; // nessun casting del tipo, il risultato è 0
Print("i = 1/2 ",i);
double x=1/2; // l'espressione di tipo int viene castata al target di tipo double,
Print("x = 1/2; ",x); // il risultato è 0.0
Durante la conversione di tipo long /ulong in double, la precisione può venir persa nel caso in cui il
valore integer sia maggiore di 9223372036854774784 o minore di -9223372036854774784.
voidOnStart()
{
long l_max=LONG_MAX;
long l_min=LONG_MIN+1;
//--- definisce il valore integer più alto, che non perde precisione quando viene castato in double
while(l_max!=long((double)l_max))
l_max--;
//--- definisce il valore integer più basso, che non perde precisione quando viene castato a double
while(l_min!=long((double)l_min))
l_min++;
//--- deriva l'intervallo trovato per valori interi
PrintFormat("Quando si casta un valore integer a double, dev'essere"
"all'interno dell'intervallo [%I64d, %I64d] ",l_min,l_max);
//--- ora, vediamo cosa succede se il valore cade al di fuori di questo intervallo
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)));
//--- visualizza il seguente risultato
// Il casting di un valore integer a double, dovrebbe essere entro l'intervallo [-92233720368547747
// 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
}
Esempi:
string s1=1.0/8; // l'espressione viene castata al tipo double,
Print("s1 = 1.0/8; ",s1); // quindi nel tipo target stringa,
// il risultato è "0.12500000" (una stringa contenente 10 caratteri)
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));
Oggetti di classi aperte generate possono anche essere visti come oggetti della classe base
corrispondente. Questo porta ad alcune conseguenze interessanti. Per esempio, nonostante il fatto che
gli oggetti di diverse classi, generati da una singola classe di base, possono differire
significativamente l'uno dall'altro, possiamo creare una lista collegata (List) di essi, giacchè li vediamo
come oggetti del tipo di base. Ma il contrario non è vero: gli oggetti della classe base non sono
automaticamente gli oggetti di una classe derivata.
È possibile utilizzare il casting esplicito per convertire i puntatori della classe base in puntatori di una
classe derivata. Ma si deve essere pienamente fiduciosi nella ammissibilità di tale trasformazione,
perché altrimenti un errore runtime critico si verificherà e il programma MQL5 sarà interrotto.
The type-id parameter in angle brack ets should point to a previously defined class type. U nlik e C++,
expression operand type can be of any value ex cept for void.
Example:
class CBar { };
class CFoo : public CBar { };
void OnStart()
{
CBar bar;
//--- dynamic casting of *bar pointer type to *foo pointer is allowed
CFoo *foo = dynamic_cast<CFoo *>(&bar); // no critical error
Print(foo); // foo=NULL
//--- an attempt to explicitly cast a Bar type object reference to a Foo type object is forbidden
foo=(CFoo *)&bar; // critical runtime error
Print(foo); // this string is not executed
}
Vedi anche
T ipi di Dati
La variabile costante predefinita NULL è di tipo void. Può essere assegnato a variabili di altri tipi
fondamentali senza conversione. Il confronto tra variabili di tipo fondamentale con il valore NULL è
consentito.
Esempio:
//--- Se la stringa non viene inizializzata, allora assegniamo il nostro valore predefinito ad essa
if(some_string==NULL) some_string="empty";
A nche, NULL, può essere paragonato a puntatori a oggetti creati con l'operatore new.
Vedi anche
V ariabili, Funzioni
Qui, type significa qualsiasi tipo di dati accettabile, mentre new_name è un nuovo nome del tipo. Un
nuovo nome viene impostato soltanto in aggiunta (non in sostituzione) a un nome di tipo esistente.
MQL5 permette di creare puntatori a funzioni utilizzando typedef.
typedef tipo_risultato_funzione*Nome_tipo_funzione)(lista_di_tipi_di_parametri_di_input);
dove dopo typedef, viene impostata la firma di funzione (numero e tipo dei parametri di input, cos ì
come un tipo di risultato restituito dalla funzione). Ecco un semplice esempio di creazione ed
applicazione di un puntatore ad una funzione:
//--- dichiarare un puntatore a una funzione che accetta due parametri int
typedef int (*TFunc)(int,int);
//--- TFunc è un tipo, ed è possibile dichiarare la variabile puntatore alla funzione
TFunc func_ptr; // puntatore alla funzione
//--- dichiara le funzioni corrispondenti alla descrizione TFunc
int sub(int x,int y) { return(x-y); } // sottrae un numero da un altro
int add(int x,int y) { return(x+y); } // aggiunta di due numeri
int neg(int x) { return(~x); } // inverte i bit nella variabile
//--- la variabile func_ptr può memorizzare l'indirizzo della funzione da dichiarare successivament
func_ptr=sub;
Print(func_ptr(10,5));
func_ptr=add;
Print(func_ptr(10,5));
func_ptr=neg; // errore: neg non ha il tipo int (int,int)
Print(func_ptr(10)); // errore: mancano due parametri
In questo esempio, la variabile func_ptr può ricevere le funzioni sub e add poiché hanno due input
ciascuno di tipo int definito nel puntatore alla funzione TFunc. Al contrario, la funzione neg non può
essere assegnata al puntatore func_ptr giacchè dalla sua firma è diversa.
ed aggiungere le funzioni per il loro handling. In primo luogo, definire un puntatore alla funzione
TAction da chiamare premendo il bottone e creare tre funzioni secondo la descrizione TAction.
Quindi, crea la classe M yButton da CButton, dove dovremmo aggiungere il puntatore alla funzione
TAction.
//+------------------------------------------------------------------+
//| Creare la classe bottone con la funzione di elaborazione eventi |
//+------------------------------------------------------------------+
class MyButton: public CButton
{
private:
TAction m_action; // chart events handler
public:
MyButton(void){}
~MyButton(void){}
//--- costruttore specificando il testo del bottone e il puntatore all' event handler della funz
MyButton(string text, TAction act)
{
Text(text);
m_action=act;
}
Crea la classe derivata CControls Dialog daCAppDialog, aggiunge l'array m_buttons ad essal per
memorizzare i pulsanti tel tipo MyButton, nonché i metodi AddButton(MyButton &button) e
CreateButtons() .
//+------------------------------------------------------------------+
//| CControlsDialog class |
//| Obiettivo: pannello grafico per la gestione dell'applicazione |
//+------------------------------------------------------------------+
class CControlsDialog : public CAppDialog
{
private:
CArrayObj m_buttons; // array del bottone
public:
CControlsDialog(void){};
~CControlsDialog(void){};
//--- crea
virtual bool Create(const long chart,const string name,const int subwin,const int x1,const
//--- aggiunge il bottone
bool AddButton(MyButton &button){return(m_buttons.Add(GetPointer(button)));m_button
protected:
//--- crea i bottoni
bool CreateButtons(void);
};
//+------------------------------------------------------------------+
//| Crea l'oggetto CControlsDialog sul chart |
//+------------------------------------------------------------------+
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());
//---
}
//+------------------------------------------------------------------+
//| i defines |
//+------------------------------------------------------------------+
//--- indents e gaps
#define INDENT_LEFT (11) // indentazione da sinistra (con permissività
#define INDENT_TOP (11) // indentazione dall'alto(con permissività pe
#define CONTROLS_GAP_X (5) // gap da coordinata X
#define CONTROLS_GAP_Y (5) // gap da coordinata Y
//--- per i bottoni
#define BUTTON_WIDTH (100) // grandezza da coordinate X
#define BUTTON_HEIGHT (20) // grandezza da coordinata Y
//--- for the indication area
#define EDIT_HEIGHT (20) // grandezza da coordinata Y
//+------------------------------------------------------------------+
//| Creare ed aggiunge bottoni al pannello CControlsDialog |
//+------------------------------------------------------------------+
bool CControlsDialog::CreateButtons(void)
{
//--- calcula le coordinate dei buttoni
int x1=INDENT_LEFT;
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y);
int x2;
int y2=y1+BUTTON_HEIGHT;
//--- aggiunge oggetti bottoni con puntatori a funzioni
AddButton(new MyButton("Open",Open));
AddButton(new MyButton("Save",Save));
AddButton(new MyButton("Close",Close));
//--- creare i bottoni 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("Fallimento nel creare il bottone %s %d",b.Text(),i);
return(false);
}
//--- aggiungere ogni bottone al contenitore CControlsDialog
if(!Add(b))
return(false);
}
//--- successo
return(true);
}
Ora, siamo in grado di sviluppare il programma utilizzando il pannello di controllo CControls Dialog
avente 3 pulsanti: Apri, S alva e Chiudi. Quando si fa clic su un bottone, la funzione appropriata nella
forma di puntatore TAction viene chiamata.
//--- dichiara l'oggetto a livello globale per creare automaticamente quando si lancia il programma
CControlsDialog MyDialog;
//+------------------------------------------------------------------+
//| Funzione di inizializzazione Expert |
//+------------------------------------------------------------------+
int OnInit()
{
//--- ora, crea l'oggetto sul chart
if(!MyDialog.Create(0,"Controls",0,40,40,380,344))
return(INIT_FAILED);
//--- avvia l'applicazione
MyDialog.Run();
//--- applicazione inizializzata con successo
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Funzione deinizializzazione Expert |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- distrugge la finestra
MyDialog.Destroy(reason);
}
//+------------------------------------------------------------------+
//| Funzione di evento chart dell' Expert |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // ID evento
const long& lparam, // parametro evento del tipo long
const double& dparam, // parametro event del tipo double
const string& sparam) // paraemetro evento del tipo string
{
//--- chiama l'handler della classe padre (qui è CAppDialog) per gli eventi chart
MyDialog.ChartEvent(id,lparam,dparam,sparam);
}
L 'apparenza dell'applicazione lanciata e il click dei bottoni viene fornita sulla schermata.
//+------------------------------------------------------------------+
//| Panel_Buttons.mq5 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
}
//+------------------------------------------------------------------+
//| Funzione di evento chart dell' Expert |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // ID evento
const long& lparam, // parametro evento del tipo long
const double& dparam, // parametro event del tipo double
const string& sparam) // paraemetro evento del tipo string
{
//--- chiama l'handler della classe padre (qui è CAppDialog) per gli eventi chart
MyDialog.ChartEvent(id,lparam,dparam,sparam);
}
Guarda anche
variabili, Funzioni
Esempi:
MyObject* hobject= new MyObject();
In contrast to C++, the hobject variable from ex ample above is not a pointer to memory, but rather an
object descriptor. Furthermore, in MQL5 all objects in function parameters must be passed by
reference. Below are ex amples of passing objects as function parameters :
class Foo
{
public:
string m_name;
int m_id;
static int s_counter;
//--- constructors and desctructors
Foo(void){Setup("noname");};
Foo(string name){Setup(name);};
~Foo(void){};
//--- initializes object of type Foo
void Setup(string name)
{
m_name=name;
s_counter++;
m_id=s_counter;
}
};
int Foo::s_counter=0;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- declare an object as variable with its automatic creation
Foo foo1;
//--- variant of passing an object by reference
PrintObject(foo1);
//--- declare a pointer to an object and create it using the 'new' operator
Foo *foo2=new Foo("foo2");
//--- variant of passing a pointer to an object by reference
PrintObject(foo2); // pointer to an object is converted automatically by compiler
Vedi anche
Variabili, Inizializzazione delle Variabili, Visibilità Campo e Durata delle Variabili, Creazione ed
Eliminazione di Oggetti
Il passaggio di un parametro per riferimento significa passare l'indirizzo della variabile, è per questo
che tutte le variazioni del parametro che viene passato per riferimento verranno immediatamente
riflesse nella variabile sorgente. Utilizzando il passaggio di parametro per riferimento, è possibile
implementare il ritorno dei svariati risultati di una funzione allo stesso tempo. Al fine di impedire la
variazione di un parametro passato per riferimento, utilizzare il modificatore const.
Esempio
class CDemoClass
{
private:
double m_array[];
public:
void setArray(double &array[]);
};
//+--------------------------------------------------------------------------------+
//| riempie l'array |
//+--------------------------------------------------------------------------------+
void CDemoClass::setArray(double &array[])
{
if(ArraySize(array)>0)
{
ArrayResize(m_array,ArraySize(array));
ArrayCopy(m_array, array);
}
}
N ell'esempio sopra la classe viene dichiarata la CDemoClass, la qualeche contiene il membro privato -
array m_array[] di tipo double. Funzione setArray() viene dichiarata, alla quale array[] è passato per
riferimento. S e l'intestazione funzione non contiene l'indicazione di passaggio per riferimento, cioè
non contiene il carattere 'e commerciale', un messaggio di errore viene generato al tentativo di
compilare tale codice.
Nonostante il fatto che la matrice viene passata per riferimento, non possiamo assegnare un array ad
un altro. Abbiamo bisogno di effettuare la copia elemento-per-elemento dei contenuti della matrice di
origine alla matrice destinataria. La presenza dei & nella descrizione della funzione è la condizione
obbligatoria per array e strutture quando viene passata come parametro della funzione.
La parola riservata this è designata per ottenere il riferimento dell'oggetto stesso, che è disponibile
all'interno di metodi di classe o struttura. this sempre fa riferimento all'oggetto, nel metodo di cui è
utilizzato, e l'espressione GetPointer(this) dà il puntatore dell'oggetto, il cui componente è la funzione,
in cui viene eseguita la chiamata di GetPointer(). In MQL5 funzioni non possono restituire oggetti, ma
possono restituire il puntatore dell'oggetto.
Quindi, se abbiamo bisogno che una funzione restituisca un oggetto, siamo in grado di restituire il
puntatore di questo oggetto sottoforma di GetPointer(this). Aggiungiamo la funzione getDemoClass()
che restituisce il puntatore del oggetto di questa classe, nella descrizione di CDemoClass.
class CDemoClass
{
private:
double m_array[];
public:
void setArray(double &array[]);
CDemoClass *getDemoClass();
};
//+--------------------------------------------------------------------------------+
//| riempie l'array |
//+--------------------------------------------------------------------------------+
void CDemoClass::setArray(double &array[])
{
if(ArraySize(array)>0)
{
ArrayResize(m_array,ArraySize(array));
ArrayCopy(m_array,array);
}
}
//+--------------------------------------------------------------------------------+
//| restituisce il suo puntatore |
//+--------------------------------------------------------------------------------+
CDemoClass *CDemoClass::getDemoClass(void)
{
return(GetPointer(this));
}
Le strutture non hanno puntatori, gli operatori new e delete non possono essere applicati ad essi,
GetPointer(this) non può essere utilizzato.
Vedi anche
Puntatori Oggetto, Creazione ed Eliminazione di Oggetti, Visibilità Campo e Durata di Variabili
Operazioni ed Espressioni
Alcuni caratteri e sequenze di caratteri sono di particolare importanza. Questi sono i cosiddetti simboli
delle operazioni, ad esempio:
Simboli delle operazioni vengono utilizzati nelle espressioni ed hanno senso quando vengono dati ad
essi operandi appropriati. I segni di punteggiatura sono enfatizzati, anche. S i tratta di parentesi,
virgola, due punti e punto e virgola.
S imboli di operazioni, segni di punteggiatura e spazi vengono utilizzati per separare gli elementi del
linguaggio gli uni dagli altri.
· Ex pressions
· A rithmetical Operations
· Operazioni di assegnazione
· Operations of R elation
· Boolean Operations
· Operazioni bit per bit
· A ltre Operazioni
· Priorità ed Ordine delle operazioni
Expressions
n espressione è composta da uno o più operandi e simboli di funzionamento.
U ' n espressione può
U '
Esempi:
a++; b = 10; // in una riga ci sono varie espressioni
//--- un'espressione è divisa in varie righe
x = (y * z) /
(w + 2) + 127;
Vedi anche
R egole di Precedenza
Operazioni Aritmetiche
Operazioni aritmetiche includono operazioni di addizione e moltiplicazione:
Le operazioni di incremento e decremento sono applicate solo alle variabili, non possono essere
applicate alle costanti. I prefissi incremento (++i) e decremento (--k ) vengono applicati a destra
variabile, giusto prima che questa variabile venga utilizzata in un'espressione.
Post-incremento (i++) e post-decremento (k --) vengono applicati alla variabile, giusto dopo che questa
vnga utilizzata in un'espressione.
Avviso importante
int i=5;
int k = i++ + ++i;
Esempi:
int a=3;
a++; // espressione valida
int b=(a++)*3; // espressione non valida
Vedi anche
R egole di Precedenza
Operazioni di assegnazione
I l valore dell'espressione che include l'operazione data è il valore dell'operando sinistro dopo
l'assegnazione:
Operazioni di bit possono essere applicate solo a numeri interi. Quando si esegue l'operazione di
slittamento logico della rappresentazione y verso destra/sinistra di x -bit, vengono utilizzate le 5 cifre
binarie più piccole del valore x , le più alte vengono scartate, cioè il passaggio è fatto per 0-31 bit.
Con l'operazione %= (valore y dal modulo di x ), il segno del risultato è uguale al segno del numero
diviso.
L 'operatore di assegnazione può essere utilizzato più volte in un'espressione. In q uesto caso la
trasformazione dell'espressione viene eseguita da sinistra a destra:
y=x=3;
In primo luogo, alla variabile x viene assegnato il valore 3, poi alla variabile y viene assegnato il valore
di x , vale a dire 3, anche.
Vedi anche
R egole di Precedenza
Operations of Relation
Il booleano FAL S E (_*falso) è rappresentato da un valore intero pari a zero, mentre il booleano TRU E
(_*vero) è rappresentato da qualsiasi valore diverso da zero.
Il valore delle espressioni che contengono operazioni di relazione oppure operazioni logiche è FA L S E(0)
o TRUE(1).
True se a è uguale a b a == b;
True se a non è uguale a b a != b;
True se a è minore di b a < b;
True se a è maggiore di b a > b;
True se a è minore o uguale a b a <= b;
True se a è maggiore o uguale a b a >= b;
L 'uguaglianza di due numeri reali non può essere confrontata. Nella maggior parte dei casi, due numeri
apparentemente identici possono essere diversi a causa di diversi valori nel 15esimo posto decimale.
Per poter confrontare correttamente due numeri reali, confrontare la differenza normalizzata di questi
numeri con lo zero.
Esempio:
bool CompareDoubles(double number1,double number2)
{
if(NormalizeDouble(number1-number2,8)==0) return(true);
else return(false);
}
voidOnStart()
{
double first=0.3;
double second=3.0;
double third=second-2.7;
if(first!=third)
{
if(CompareDoubles(first,third))
printf("%.16f e %.16f sono uguali",first,third);
}
}
// Result: 0.3000000000000000 0.2999999999999998 sono uguali
Vedi anche
R egole di Precedenza
Boolean Operations
Negazione Logica NOT (!)
L 'operando della negazione logica (!) deve essere di tipo aritmetico. Il risultato è TRUE (1), se il valore
operando è FAL S E (0), ed è uguale a FAL S E (0), se l'operando è diverso da FAL S E (0).
//+--------------------------------------------------------------------------------+
//| Funzione di avvio del programma Script |
//+--------------------------------------------------------------------------------+
voidOnStart()
{
//--- il primo esempio della stima breve
if(func_false() && func_true())
{
Print("Operazione &&: Non vedrai mai questa espressione");
}
else
{
Print("Operazione &&: Il risultato della prima espressione è falso, così la seconda non viene
}
//--- il secondo esempio della stima breve
if(!func_false() || !func_true())
{
Print("Operazione ||: Il risultato della prima espressione è vero, così la seconda non viene
}
else
{
Print("Operazione ||: Non vedrai mai questa espressione");
}
}
//+--------------------------------------------------------------------------------+
Vedi anche
R egole di Precedenza
b = ~n;
Esempio:
char a='a',b;
b=~a;
Print("a = ",a, " b = ",b);
// Il risultato sarà:
// a = 97 b = -98
Slittamento a Destra
La rappresentazione binaria di x è spostata a destra di y cifre. S e il valore per slittamento è del tipo
senza segno, viene fatto lo slittamento logico destra, cioè i bit liberati del lato sinistro saranno
riempiti con zeri.
Se il valore per lo slittamento è di tipo segnato, viene fatto lo slittamento aritmetico a destra, cioè le
cifre liberate del lato-sinistro verranno riempitecon il valore di un bit di segno (se il numero è
positivo, il valore del bit di segno è 0 , se il numero è negativo, il valore del bit di segno è 1).
x = x >> y;
Esempio:
char a='a',b='b';
Print("Prima: a = ",a, " b = ",b);
//--- slittamento verso destra
b=a>>1;
Print("Dopo: a = ",a, " b = ",b);
// Il risultato sarà:
// Prima: a = 97 b = 98
// Dopo: a = 97 b = 48
Slittamento sinistro
La rappresentazione binaria di x viene slittata verso si