Metatrader 4に付属のperiod_converter.mq4を見ました。それは、mql4 indiorea用の.hstファイルを構築するためにやりたいことです。今の質問は、どうやってこれを複数の時間枠で行うことができるかということです。
私はこれを簡単に試みました。これがコードです。それはスクリプトです。ですので、.hstファイルをどのように「追加」するのか、それを内部(またはこれをループ)に変換するかどうかはわかりません。 period_converter.mq4が追加されます。それについての問題については、上の文を見てください。
挿入コードint start(){//----コメント(開始......); int intTotalCount = 10; bool bolLoopFinished = false; int intHandle = FileOpen(myfile.csv、FILE_CSV | FILE_WRITE、 '、');文字列strDate。 FileWrite(intHandle、Date、Open、High、Low、Close); if(intHandlelt; 0)が(0)を返す。 int intShiftLoop = 1、intShift = 0。 while(!bolLoopFinished){コメント(ループ:、intShiftLoop ,.バー:、バー); iBarShift(NULL、PERIOD_H1、時刻#91; intShiftLoop#93;、true); intShiftLoop ; if(intShiftLoopgt;バー)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);コメント(インディアン完成);/---- 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); }