음, Metatrader 4와 함께 제공되는 period_converter.mq4를 보았습니다. mql4 indiorea 용 .hst 파일을 빌드하기 위해 수행하고 싶은 작업입니다. 질문은 지금, 어떻게 하나 이상의 시간 프레임을 위해 이것을 할 수 있습니까?
나는 이것을 쉬운 방법으로 시도했다. 여기에 코드가 있습니다. 그것은 스크립트입니다. 그래서 나는 그것을 indior (또는이 하나의 루프)로 변환하면 .hst 파일을 어떻게 추가 할 것인지 확신 할 수 없습니다. period_converter.mq4가 추가됩니다. 저것에 문제에 위의 진술을 다만보십시오.
삽입 된 코드 int start () {//---- 주석 (Starting ......); int intTotalCount = 10; 부울 bolLoopFinished = 거짓; int intHandle = FileOpen (myfile.csv, FILE_CSV | FILE_WRITE, ','); 문자열 strDate; FileWrite (intHandle, 날짜, 열기, 높음, 낮음, 닫기); if (intHandlelt; 0) return (0); int intShiftLoop = 1, intShift = 0; while (! bolLoopFinished) {Comment (루프 :, intShiftLoop ,. Bars :, Bars); iBarShift (NULL, PERIOD_H1, 시간 # 91; intShiftLoop # 93;, true); intShiftLoop ; if (intShiftLoopgt; Bars) bolLoopFinished = true; } intShiftLoop = 1; intShift = 1; bolLoopFinished = false; 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 finished);/---- return (0); }/ ---------------------------------------------- -------------------- 문자열 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); 문자열 strReturnValue = StringConenate (intYear,., intMonth,., intDay, intHour, : intMinute, intseconds); return (strReturnValue); }