это фьюч который уже истек следовательно его действительно нет нигде. но ведь в терминале-то стоит цифра с правильным к-вом знаков после запятой - ну вот откуда он ее взял?
Из истории торгового счета, ... Это просто записи, сделанные когда-то.
насколько я знаю история НЕ хранится в терминале - она подкачивается с сервера.
ладно - буду определять по ценам отбрасывая хвостовые нули 73.5000000. в какой позиции стоит последний знак != 0 столько и пунктов. правда для круглой цифры 73.50 получится 0.1 но если перебрать все имеющиеся цены (открытия, закрытия, стопа и тейка) то скорее всего в какойто из них всетаки будет не округленная цифра. правда все равно - танцы с бубном.....
можно узнать MODE_DIGITS
не устроит?
можно узнать MODE_DIGITS
не устроит?
нельзя - символа то уже нету. что MODE_POINT, что MODE_DIGITS - вернут ноль
Если есть история в каталоге - можно, вот накидал:
int GetDigits(string sym) { int tmp = -1; int ExtHandle; int i_period; int tmpint; string tmpstr; if (MarketInfo(sym, MODE_BID) != 0) tmp = MarketInfo(sym, MODE_DIGITS); else { for (int j = 0; j < 9; j++) { switch(j) { case 0: i_period = PERIOD_M1; break; case 1: i_period = PERIOD_M5; break; case 2: i_period = PERIOD_M15; break; case 3: i_period = PERIOD_M30; break; case 4: i_period = PERIOD_H1; break; case 5: i_period = PERIOD_H4; break; case 6: i_period = PERIOD_D1; break; case 7: i_period = PERIOD_W1; break; case 8: i_period = PERIOD_MN1; break; default:i_period = 0; break; } ExtHandle = FileOpenHistory(sym + i_period + ".hst", FILE_BIN|FILE_READ); if (ExtHandle < 0) continue; tmpint = FileReadInteger(ExtHandle, LONG_VALUE); tmpstr = FileReadString(ExtHandle, 64); tmpstr = FileReadString(ExtHandle, 12); tmpint = FileReadInteger(ExtHandle, LONG_VALUE); tmp = FileReadInteger(ExtHandle, LONG_VALUE); FileClose(ExtHandle); break; } } return(tmp); }
увы истории нет. по крайней мере мне нужно чтобы расчет считался даже без истории. но я уже проверил свой вариант.
буду определять по ценам отбрасывая хвостовые нули 73.5000000. в какой позиции стоит последний знак != 0 столько и пунктов.
работает. правда только если хоть одна цена с ненулем в самом последнем знаке, а если все цены "круглые" - удесятеряет все :(
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
в истории есть ордер по символу которого уже нет в текущем списке символов. мне нужно посчитать прибыль в пунктах по этому ордеру. как можно получить MODE_POINT для этого символа?
что интересно: в отчете показана цена 73.50. т.е. размер пункта 0.01 и терминал про это откудато знает. кто знает откуда он ее взял?