//+------------------------------------------------------------------+ //| ListViewNews_EA.mq4 | //| amenbo | //| 泉の森の弁財天池 | //+------------------------------------------------------------------+ #property copyright "amenbo" #property link "泉の森の弁財天池" // #import "ListView_f.dll" int readListView(int,int,int,string); #import // #property show_inputs // extern int handle=0; extern int lines=250; extern int interval=1800;//秒数で入力のこと extern int columns=2; //フォルダまでの絶対パスとファイル名 extern string dir="C:\\Program Files\\MetaTrader 4 at FOREX.com\\experts\\files"; string FileName="ListView.txt"; // datetime s_time; //----------------------------- int init() { GlobalVariableSet("flag1",1.0); ObjectsDeleteAll(); //old_time=D'2012.07.07 00:00:00'; s_time=TimeCurrent(); return; } //------ int deinit() { GlobalVariableDel("flag1"); ObjectsDeleteAll(); return; } //------ int start() { int Flag= GlobalVariableGet("flag1"); // if(Flag==0) { read_ListView(); /* ここに、EAのメインとなる処理コードを書く */ }else if(Flag==1) { write_ListView(); } // return;// Exit start() } //--------------- 関数類 ---------------------- bool write_ListView() { int ret=readListView(handle,lines,columns,dir);//正常動作すれば「8」を返す // if(ret!=8) { Print("ハンドルが開けません"); return(false); } // GlobalVariableSet("flag1",0.0); PlaySound("alert2.wav"); return(true); } // bool read_ListView() { ObjectsDeleteAll(); int handle=FileOpen(FileName,FILE_CSV|FILE_READ,';'); // if(handle<1) { Print("ファイルが見つかりません。",GetLastError()); return(false); } // int i=0; while(!FileIsEnding(handle)) { // string sDate_Time=FileReadString(handle); // Date_Time string sDescription=FileReadString(handle); // Description datetime dt = StrToTime(sDate_Time); // datetimeの差(int)は「秒数」となる int zikan_sa=(s_time-dt); bool ha=(zikan_sa>interval);//interval分以上経過後のニュースのみ選択 if(ha && (sDate_Time!="")) { // double pt=WindowPriceMin()+((WindowPriceMax()-WindowPriceMin())/2.0); ObjectCreate("x"+i, OBJ_TEXT, 0, dt,pt); ObjectSet("x"+i, OBJPROP_COLOR, Blue); //ObjectSetText("x"+i, "i="+i+":"+sDescription, 10,"MS ゴシック");//チェック用 ObjectSetText("x"+i,sDescription, 10,"MS ゴシック"); ObjectSet("x"+i, OBJPROP_ANGLE, 90); //------------------ ObjectCreate("y"+i, OBJ_VLINE, 0, dt, Close[0]); ObjectSet("y"+i, OBJPROP_COLOR, Red); ObjectSet("y"+i, OBJPROP_STYLE, STYLE_DOT); ObjectSet("y"+i, OBJPROP_BACK, true); //WindowRedraw();//インディケータでは必要か? }//if(sDate_Time!="") // s_time=dt; i++; }//while(!FileIsEnding(handle)) // FileClose(handle); GlobalVariableSet("flag1",1.0); // PlaySound("alert.wav"); return(true); }