- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
int start()
{
string filename = "GBPJPY.hst";
int i_unused[30];
int FILE = FileOpenHistory(filename, FILE_READ|FILE_BIN);
FileSeek(FILE, 0, SEEK_SET);
int version = FileReadInteger (FILE, LONG_VALUE);
string c_copyright = FileReadString (FILE, 64);
string name = FileReadString (FILE, 12);
int period = FileReadInteger (FILE, LONG_VALUE);
int i_digits = FileReadInteger (FILE, LONG_VALUE);
int timesign = FileReadInteger (FILE, LONG_VALUE); //timesign
datetime last_sync = FileReadInteger (FILE, LONG_VALUE); //last_sync
FileReadArray (FILE, i_unused, 0, 13);
Print("Version = ", version);
Print("c_copyright = ", c_copyright);
Print("Equity = ", name);
Print("period = ", period);
Print("i_digits = ", i_digits);
Print("timesign = ", TimeToStr(timesign, TIME_DATE|TIME_SECONDS));
Print("last_sync = ", last_sync);
Print("i_unused = ", i_unused[0]);
Print("i_unused = ", i_unused[1]);
Print("i_unused = ", i_unused[2]);
Print("i_unused = ", i_unused[3]);
Print("i_unused = ", i_unused[4]);
Print("i_unused = ", i_unused[5]);
Print("i_unused = ", i_unused[6]);
Print("i_unused = ", i_unused[7]);
Print("i_unused = ", i_unused[8]);
Print("i_unused = ", i_unused[9]);
Print("i_unused = ", i_unused[0]);
Print("i_unused = ", i_unused[11]);
Print("i_unused = ", i_unused[12]);
Print("Time = ", FileReadInteger (FILE, LONG_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Volume = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Time = ", FileReadInteger (FILE, LONG_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Volume = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Time = ", FileReadInteger (FILE, LONG_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Volume = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Time = ", FileReadInteger (FILE, LONG_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Price = ", FileReadDouble (FILE, DOUBLE_VALUE));
Print("Volume = ", FileReadDouble (FILE, DOUBLE_VALUE));
FileClose(FILE);
return(0);
}
Язык программирования торгового терминала MetaTrader 4 - MQL 4 - имеет C-нотацию. Многое роднит его с языком C, поэтому пример размещаю сюда.
У меня складывается мнение, что, как и Forex - дно (днище) в мире электронной торговли, так и основная масса кода, написанного на MQL4 - образец того, как
НЕ нужно программировать! Чего стоит одна только вырвиглазная разметка вкупе с корявым непоследовательным именованием... характерная, в том числе,
и для официально поставляемых с терминалом примеров кода. Заранее прошу прощения за многострочный пример