Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ดึงค่าลูกศรไม่เจอครับ adminช่วยด้วยครับ  (Read 13821 times)

pa_don

  • Newbie
  • *
  • Posts: 37
ก่อนอื่นต้องขอโทดด้วยนะครับที่รบกวนนะครับ ถ้างานadminเยอะ แต่ผม พยายามนั่งแกะตั้งแต่ buffer 0 - 7 มันไม่ใช่ค่าลูกศาร สีเขียวและสีแดงซักตัวเลยอ่ะครับ
รบกวน admin ช่วยหาค่าของลูกศรให้ผมด้วยคครับ  แล้วรูปแบบการใช้ icustom จะเป็นยังไงครับ รบกวนแค่นี้จิงๆครับ ขอบคุณครับ
« Last Edit: ตุลาคม 21, 2010, 12:10:59 pm by pa_don »

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ตอบครับจากรูปที่คุณส่งมาแสดงว่าใช้โปรแกรม  icustom ที่ผมเขียนแล้ว สักเกตุจากรูปนะครับ Buffer ตัวที่ 4 กับ 5 ที่ค่าเป็น 2147483647  Buffer 2 ตัวนี้หละครับที่เป็นตัวเก็บค่าลูกศร โดย buffer 4 สีแดง อีกอันเก็บสีเขียวอ่อน   จากรูปที่ค่าทั้ง 2 ตัวเป็น 2147483647 แดงว่า ณราคาปัจจุบัน อินมันไม่แสดงลูกศร ครับ เวลาที่มันแสดงลูกศรค่า 2147483647 จะเป็นค่าที่เหมือนกับ buffer ตัวอื่นในรูปคือ 0.0001 วิธีที่คุณจะทำให้ EA มันรู้ว่าตอนนี้ อินมันแสดงลูกศรอะไรหรือเปล่าก็ให้ใช้ if ดักมันครับ เช่น

if(buffer4 < 1 ) // เขียนดักถ้าค่าที่ส่งมาจาก อิน แล้วเกิดลูกศรสีแดงมันต้องเป็นค่าที่ต่ำกว่า 1 แน่ๆๆ หากมันไม่แสดงสีแดงค่าที่ได้ก็คือ 2147483647
{
   ถ้ามันโชว์ลูกศรสีแดงจะให้ทำอะไรก็เขียน code ตรงนี้
}

pa_don

  • Newbie
  • *
  • Posts: 37
ขอบคุณ admin มากๆนะครับ ที่ช่วยนำทางให้ผม ผมต้องลองเขียนก่อนครับ  ขอบคุณครับ

pa_don

  • Newbie
  • *
  • Posts: 37
admin ครับ ผมลงเขียนดักตามที่บอกแล้วนะครับ ผมรอจนกว่าลูกศรออก แต่ค่าที่ได้กลับเป็นค่าเดิม
buffer 4 และ 5 ก็ยังเป็นค่าเดิมคือ 2147843647 อยู่อ่ะครับ
ช่วยหน่อยนะครับ ผมเขียนดักไว้แล้วคือ

int start()
  {   
 double b4;
 b4=iCustom(NULL,0,"THV3 Trix v.01 Div~",4,0);
Print("Buffer 4 : ",b4);
 double b5;
 b5=iCustom(NULL,0,"THV3 Trix v.01 Div~",5,0);
Print("Buffer 5 : ",b5);
   if(b4 < 1 )
      {
         Print("redarrow");
      }
   if(b5 < 1)
      {
         Print("greenarrow");
      }
return(0);
 }
รบกวนด้วยครับ ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ลองเอา code นี้ไปรันดูครับ ค่าจุดที่ได้จะเกิดขึ้นแค่เวลาเดียวแล้วก็เปลี่ยนเป็นค่าอื่นไปเลยครับ ผมลองทดสอบในกราฟ 15 นาที GU ถ้าคุณอยากรูว่าใช้ได้หรือไม่ได้ก็เปลี่ยนจาก print ให้มันลองเปิด Order แล้วลองปล่อยรันทิ้งไวดูครับ

ใน code ผมให้มันแสดงย้อนหลังไป 5000 แท่งของกราฟดูนะครับ
int start()
  {   
 
   for(int i=0;i<5000;i++)
   {
 double b4;
 b4=iCustom(NULL,0,"THV3 Trix v4.01 Div~",4,i);
Print("Buffer 4 : ",b4);
 double b5;
 b5=iCustom(NULL,0,"THV3 Trix v4.01 Div~",5,i);
Print("Buffer 5 : ",b5);
   if(b4 < 1 )
      {
         Print("redarrow");
      }
   if(b5 < 1)
      {
         Print("greenarrow");
      }
     
      }
return(0);
 }

pa_don

  • Newbie
  • *
  • Posts: 37
admin ครับในกรณีที่ตลาดปิดนี่ เราจะเทสมันยังไงอ่ะครับนอกจากbacktest เพราะผมลงbacktestดูแล้วมันไม่ได้อ่ะครับ ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
ตลาดปิดต้อง backtest ยังเดียวครับไม่มีวิธีอื่นแต่จริงๆๆน่าจะออกนะครับเพราะรูปที่ผม show ให้ดูก็ backtest ออกมาเหมือนกันครับ