Ну, я видел period_converter.mq4, который поставляется с Metatrader 4. Это то, что я хочу сделать, чтобы создать файлы .hst для mql4-индексаea. Вопрос теперь в том, как я могу заставить это делать это более чем на один период времени?
Я сам попробовал это легко. Вот код Это сценарий. Так что я не уверен, если я преобразую его в индекс (или зациклю), как я бы «добавил» файл .hst. period_converter.mq4 добавляет. Просто посмотрите выше заявление о проблеме с этим.
Вставленный код int start () {//---- Комментарий (начиная с ......); int intTotalCount = 10; bool bolLoopFinished = false; int intHandle = FileOpen (myfile.csv, FILE_CSV | FILE_WRITE, ','); строка strDate; FileWrite (intHandle, дата, Open, High, Low, Close); if (intHandlelt; 0) return (0); int intShiftLoop = 1, intShift = 0; while (! bolLoopFinished) {Комментарий (Loop:, intShiftLoop,. Bars:, Bars); iBarShift (NULL, PERIOD_H1, Время # 91; intShiftLoop # 93;, правда); intShiftLoop ; if (intShiftLoopgt; Bars) bolLoopFinished = true; } intShiftLoop = 1; intShift = 1; bolLoopFinished = ложь; while (! bolLoopFinished) {Комментарий (получение исторических ценностей ......); strDate = funcBuildDate (iTime (NULL, PERIOD_H1, intShift)); FileWrite (intHandle, strDate, iOpen (NULL, PERIOD_H1, intShift), iHigh (NULL, PERIOD_H1, intShift), iLow (NULL, PERIOD_H1, intShift), iClose (NULL, PERIOD_H1, intShift) intShift ; if (intShiftgt; 10) bolLoopFinished = true; } FileClose (intHandle); Комментарий (Indior закончен);/---- return (0); }/ ---------------------------------------------- -------------------- string funcBuildDate (datetime dtTime) {//YYYY.MM.DD HH: MM: SS int intYear = TimeYear (dtTime); int intMonth = TimeMonth (dtTime); int intDay = TimeDay (dtTime); int intHour = TimeHour (dtTime); int intMinute = TimeMinute (dtTime); int intSeconds = TimeSeconds (dtTime); string strReturnValue = StringConenate (intYear,., intMonth,., intDay,, intHour,:, intMinute,:, intSeconds); возвращать (strReturnValue); }