extern int OpenHour = 0;
extern int CloseHour = 0;
//+------------------------------------------------------------------+
//| TradeTime |
//+------------------------------------------------------------------+
int IsTradeTime() {
if (OpenHour < CloseHour && TimeHour(TimeCurrent()) < OpenHour || TimeHour(TimeCurrent()) >= CloseHour) return (0);
if (OpenHour > CloseHour && (TimeHour(TimeCurrent()) < OpenHour && TimeHour(TimeCurrent()) >= CloseHour)) return (0);
if (CloseHour == 0) CloseHour = 24;
if (Hour() == CloseHour - 1 && Minute() >= 55) return (0);
return(1);}
//+------------------------------------------------------------------+ นี่คือตัวอย่าง การนำโคดฟังชั่นตั้งเวลาเทรดไปใส่อีเอที่มีอยู่แล้วนะครับ เผื่อว่าจะเอาไปใช้กันได้เองง่าย ๆ เลยครับ
วิธีใช้ก็คือ 1. ก๊อปปี้โคด extern ......ข้างบนนี้ไปไว้ในส่วนบนของโคด (ก็ใน Zone ที่มี extern เหมือนๆ กันแหละครับ
)
2. ก๊อปปี้โคดในส่วนของ TradeTime ข้างบนนี้ ไปไว้ตรงไหนของโคดอีเอก็ได้ แต่ระวังเรื่องการวางซ้อนโคดตัวอื่น ๆ เช่น
if .....
{
......
}
แบบนี้อย่าวางไว้ข้างในนะครับ พูดง่าย ๆ คือ ให้วางอยู่นอกคำสั่งทั้งหลาย หรือจะวางก่อน int start() ก็ไม่ว่ากันครับ
3. ให้นำ IsTradeTime() ไปวางใน if เพื่อเป็นเงื่อนไขเพิ่มเติมจากเดิม ของอีเอที่ไม่มีการตั้งเวลานะครับ เช่น
//+------------------------------------------------------------------+
if (
IsTradeTime() && total <1)
{
if (EMA15 > EMA50)
{
BuyPrice=Ask;
if (TakeProfit==0) { tp=0; }
else { tp=BuyPrice2+TakeProfit*Point; }
if (StopLoss==0) { sl=0; }
else { sl=BuyPrice2-StopLoss*Point; }
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,sl,tp,NULL,321,0,Blue);
return(0);
}
if (EMA15 < EMA50 )
{
SellPrice=Bid;
SellPrice2=Bid-Point*S_Stop;
if (TakeProfit==0) { tp=0; }
else { tp=SellPrice2-TakeProfit*Point; }
if (StopLoss==0) { sl=0; }
else { sl=SellPrice2+StopLoss*Point; }
OrderSend(Symbol(),OP_SELLSTOP,g_lots_376,Bid-Point*S_Stop,Slippage,sl,tp,NULL,321,0,Pink);
return(0);
}
}
//+------------------------------------------------------------------+
โคดข้างบนนี้เป็นเพียงตัวอย่างการใช้งานอย่างเดียวนะครับ มันไม่สามารถใช้ได้เพราะยังไม่ได้ประกาศตัวแปรหลายตัวครับ
ขอให้นำฟังชั่นการตั้งเวลาไปใช้เพียงอย่างเดียวก็พอครับ มีอะไรสงสัย ถามได้เลยครับ ว่าง ๆ มาตอบนะ