Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: ถ้าผมต้องการค่าเวลาที่เปิดorder ลบกับค่าเวลา ณ ปัจจุบัน ต้องเขียนยังไงครับ  (Read 12478 times)

win001

  • Newbie
  • *
  • Posts: 6
ถ้าผมต้องการค่าเวลาที่เปิดorder ลบกับค่าเวลา ณ ปัจจุบัน ต้องเขียนยังไงครับ ขอบคุณครับ

tanakrit99

  • Newbie
  • *
  • Posts: 23
เป็นตัวอย่างนะครับ ยังมีอีกหลายวิธี อันนี้ผมเขียนแบบบ้านๆ

เปิดออเด้อวันที่ 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);
  }
//+------------------------------------------------------------------+