Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: pending สูงสุด ต่ำสุด ในช่วงที่ต้องการ  (Read 12954 times)

be

  • Newbie
  • *
  • Posts: 32
คือผมเขียน ea แบบนี้ครับ ต้องการให้ pending ที่จุดสูงสุด ต่ำสุดในช่วงที่ต้องการ

ตัวอย่าง เช่น ผมต้องการ pending ที่จุดสูงสุด ต่ำสุด ในช่วง 0-7 gmt (เวลาโบรก) tp และ sl คือ 30 จุด นั่นคือ เมื่อถึงเวลา 8 gmt เริ่ม pending ที่จุดสูงสุด ต่ำสุด ในช่วง 0-7 gmt (ผมใช้โบรก 5 จุดในการทดสอบครับ)

แต่ปัญหาคือ มัน pending ไม่ได้ที่จุดสูงสุด และต่ำสุด ตามที่ต้องการ ไม่ทราบเกิดจากอะไร รบกวนช่วยดูหรือแก้ไขให้หน่อย

ขอบคุณครับ

code เป็นแบบนี้ครับ

extern double StartHours = 7;
extern double EndHours = 9;


int start()

      {   
int total=OrdersTotal();
if(total==0)
if ((Hour()>StartHours)&&(Hour()<EndHours))
     
     {
      OrderSend(Symbol(),OP_BUYSTOP,0.1,iHigh(NULL,0,iHighest(NULL,0,2,9,0)),3,iHigh(NULL,0,iHighest(NULL,0,2,9,0))-300*Point,iHigh(NULL,0,iHighest(NULL,0,2,9,0))+300*Point,"My order",16384,CurTime()+PERIOD_D1*60,Green);
      OrderSend(Symbol(),OP_SELLSTOP,0.1,iLow(NULL,0,iLowest(NULL,0,2,9,0)),3,iLow(NULL,0,iLowest(NULL,0,2,9,0))+300*Point,iLow(NULL,0,iLowest(NULL,0,2,9,0))-300*Point,"My order",16384,CurTime()+PERIOD_D1*60,Green);
   
     }

            return(0);
         


}

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ดูจากโค้ดแล้วมันน่าจะเทรดตั้งแต่ตี 7 เลยนะครับ

คำสั่ง ihighest เลข 2 กับ 9 มายังไง?

be

  • Newbie
  • *
  • Posts: 32
ดูจากโค้ดแล้วมันน่าจะเทรดตั้งแต่ตี 7 เลยนะครับ

คำสั่ง ihighest เลข 2 กับ 9 มายังไง?

เอามาจากนี่ ครับ http://www.thaiforexea.com/index.php/topic,679.0.html ตรงความเห็นสุดท้าย

ส่วนเลข 9 ผมเข้าใจว่าให้นับย้อนหลัง 9 แท่ง แท่งแรกที่ผมนับ คือ แท่งปัจจุบัน ซึ่งก็คือ 8 ดังนั้นถ้านับจาก 8 ย้อนหลังไป 9 แท่ง ก็จะถึงแท่ง 0 พอดี (ไม่รู้ผมเข้าใจถูกรึป่าว) ส่วนเลข 2 ไม่เข้าใจจริงๆครับ

ส่วนเวลา ผมเขียนให้ ชั่วโมง ต้องมากกว่า 7 นั่นก็คือ 8 ถึงเริ่มเทรดครับ

code ผมลองแค่ backtest อยู่ยังไม่ได้ลองเทรดจริง

ขอบคุณครับ
« Last Edit: เมษายน 23, 2013, 11:55:41 pm by be »

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
คำสั่ง iHighest หรือ iLowest มีพารามิเตอร์ที่ต้องการ 5 ตัว

symbol   -   คู่เงิน   ใส่ NULL คือคู่ปัจจุบัน
timeframe   -   ใส่ 0 คือ tf ปัจจุบัน
type   -   มีให้เลือกตามนี้
MODE_OPEN
MODE_LOW
MODE_HIGH
MODE_CLOSE
MODE_VOLUME
MODE_TIME

เลข 2 ที่ใส่ลงไปคือ MODE_HIGH ดังนั้นถ้าใส่กับคำสั่ง iLowest ก็จะผิดเต็มๆ

count   -   จำนวนแท่งที่ต้องการหา
start   -   เริ่มหาจากไหน  แท่งปัจจุบันคือ 0 ย้อนไปทางซ้าย 1 2 3
« Last Edit: เมษายน 24, 2013, 09:39:16 am by D_Diamond »

be

  • Newbie
  • *
  • Posts: 32
คำสั่ง iHighest หรือ iLowest มีพารามิเตอร์ที่ต้องการ 5 ตัว

symbol   -   คู่เงิน   ใส่ NULL คือคู่ปัจจุบัน
timeframe   -   ใส่ 0 คือ tf ปัจจุบัน
type   -   มีให้เลือกตามนี้
MODE_OPEN
MODE_LOW
MODE_HIGH
MODE_CLOSE
MODE_VOLUME
MODE_TIME

เลข 2 ที่ใส่ลงไปคือ MODE_HIGH ดังนั้นถ้าใส่กับคำสั่ง iLowest ก็จะผิดเต็มๆ

count   -   จำนวนแท่งที่ต้องการหา
start   -   เริ่มหาจากไหน  แท่งปัจจุบันคือ 0 ย้อนไปทางซ้าย 1 2 3


ขอบคุณครับ จะลองดูครับ