//+------------------------------------------------------------------+ //| CreateHTML.mq4 | //| Copyright © 2007, Waddah Attar. | //| waddahattar@hotmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Waddah Attar." #property link "waddahattar@hotmail.com" //---- int handle; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { handle = FileOpen(Symbol() + " - " + GetPeriodName() + ".htm", FILE_BIN|FILE_WRITE); if(handle < 1) { Print("Err ", GetLastError()); return(0); } WriteHTMLHeader(); WriteString("

Symbol: " + Symbol() + " - Period: " + GetPeriodName() + " - Bars: " + Bars + "

"); WriteTABLEHeader(); //---- for(int i = 0; i < Bars - 1; i++) { WriteRow(i); if(Period() < PERIOD_D1 && TimeDay(Time[i]) != TimeDay(Time[i+1]) && i != Bars - 1) { WriteTABLEFooter(); WriteString("
"); WriteTABLEHeader(); } } WriteTABLEFooter(); WriteString("
"); WriteString("This Report Created By Waddah Attar HTML Script" + "
"); WriteString("Email: "); WriteString("waddahattar@hotmail.com"+"
"); WriteHTMLFooter(); FileClose(handle); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteString(string txt) { FileWriteString(handle, txt,StringLen(txt)); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteHTMLHeader() { WriteString(""); WriteString(""); WriteString(""); WriteString(Symbol() + " - " + GetPeriodName() + " - By Waddah Attar"); WriteString(""); WriteString(""); WriteString(""); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteHTMLFooter() { WriteString(""); WriteString(""); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteTABLEHeader() { WriteString(""); WriteString(""); WriteString(""); WriteString(""); if(Period()Time"); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); WriteString(""); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteTABLEFooter() { WriteString(""); WriteString("
DateOpenHighLowCloseVolumeChng Vol %(H+L+C)/3(H-L)(C-O)
"); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void WriteRow(int i) { string clr = ""; if(Close[i] > Open[i]) clr = "bgColor=#f0fff0"; if(Close[i] < Open[i]) clr = "bgColor=#fff0f0"; WriteString(""); WriteString(""); WriteString(TimeToStr(Time[i], TIME_DATE)); WriteString(""); if(Period() < PERIOD_D1) { WriteString(""); WriteString(TimeToStr(Time[i], TIME_MINUTES)); WriteString(""); } WriteString(""); WriteString(DoubleToStr(Open[i], Digits)); WriteString(""); WriteString(""); WriteString(DoubleToStr(High[i], Digits)); WriteString(""); WriteString(""); WriteString(DoubleToStr(Low[i], Digits)); WriteString(""); WriteString(""); WriteString(DoubleToStr(Close[i], Digits)); WriteString(""); WriteString(""); WriteString(DoubleToStr(Volume[i], 0)); WriteString(""); WriteString(""); WriteString(DoubleToStr((Volume[i] - Volume[i+1]) / Volume[i]*100, 2)); WriteString(""); WriteString(""); WriteString(DoubleToStr((High[i] + Low[i] + Close[i]) / 3, Digits)); WriteString(""); WriteString(""); WriteString(DoubleToStr((High[i] - Low[i]) / Point, 0)); WriteString(""); WriteString(""); WriteString(DoubleToStr((Close[i] - Open[i]) / Point, 0)); WriteString(""); WriteString(""); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ string GetPeriodName() { switch(Period()) { case PERIOD_D1: return("Day"); case PERIOD_H1: return("Hour"); case PERIOD_H4: return("4 Hour"); case PERIOD_M1: return("Minute"); case PERIOD_M15: return("15 Minute"); case PERIOD_M30: return("30 Minute"); case PERIOD_M5: return("5 Minute"); case PERIOD_MN1: return("Month"); case PERIOD_W1: return("Week"); } } //+------------------------------------------------------------------+