เป็นตัวอย่างนะครับ ยังมีอีกหลายวิธี อันนี้ผมเขียนแบบบ้านๆ
เปิดออเด้อวันที่ 1
พอวันที่ 2 มันปิดเลย
//+------------------------------------------------------------------+
//| Test_2.mq4 |
//| Copyright 2017, Thanakrit Phueakyot. |
//| tanakrit06@hotmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Thanakrit Phueakyot."
#property link "tanakrit06@hotmail.com"
#property version "1.00"
#property strict
datetime time; //เก็บค่าของออเดอร์ที่เปิดไป
datetime now; //เก็บค่าวันปัจจุบัน อ้างอิงตาม Server
int day; //เก็บค่าวัน ของออเดอร์
int mon; //เก็บเดือน ของออเดอร์
int year; //เก็บปี ของออเดอร์
int day2; //เก็บค่าวัน ปัจจุบัน
int mon2; //เก็บเดือน ปัจจุบัน
int year2; //เก็บปี ปัจจุบัน
int Tic; //เก็บค่า Ticket เอาไว้ปิดออเดอร์ถ้าวันเกิน
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
Tic=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"Time",0,0,Green);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
int start()
{
OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES); //หาออเดอร์ล่าสุด
time=OrderOpenTime(); //ให้ Time เก็บค่าเวลาของออเดอร์ล่าสุด
year=TimeYear(time); //ให้ year เก็บค่าปีในตัวแปร Time
mon=TimeMonth(time); //ให้ month เก็บค่าเดือนในตัวแปร Time
day=TimeDay(time); //ให้ day เก็บค่าวันในตัวแปร Time
now=TimeCurrent();
year2=TimeYear(now);
mon2=TimeMonth(now);
day2=TimeDay(now);
if(year2==year && mon2==mon && day2!=day)
{
OrderClose(Tic,0.1,Bid,3,Red);
}
return(0);
}
//+------------------------------------------------------------------+