Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: ใครแนะนำการดึงข้อมูลของ Zigzag  (Read 14111 times)

Jummum

  • Newbie
  • *
  • Posts: 29
ใครแนะนำการดึงข้อมูลของ Zigzag
« on: ตุลาคม 10, 2010, 03:36:10 pm »
ผมอ่านจากกระทู้เก่าเรื่องการเอาค่าจาก zigzag มาใช้ แต่สงสัยว่าพอมีวิธีที่จะเก็บค่าที่ได้ไว้มั๊ย
เช่นค่าล่าสุดเป็น one แล้วพอค่าใหม่มากกว่าค่าเก่าถึงจะเปลี่ยนค่า one เป็นค่าที่มากกว่าเดิม
เพราะที่เขียนไว้ข้อมูลที่ได้มาก็จะถูกข้อมูลใหม่ลบทิ้งไปเรื่อยๆไม่ได้เก็บค่าที่ได้เอาไว้

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #1 on: ตุลาคม 10, 2010, 04:59:57 pm »
ขอดูโค๊ดหน่อยครับ

Jummum

  • Newbie
  • *
  • Posts: 29
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #2 on: ตุลาคม 10, 2010, 08:42:41 pm »
ผทเอามาจากที่แอดมินเคยเขียนไว้ให้น่ะครับ แต่อยากให้ค่าที่ได้มาเก็บไว้เพื่อคำนวนเหมือน ABC ตาม wave ทั่วไป
static double high ;
static double low ;
static double lasthigh;
static double lastlow;

int start()
  {   
       int amount=0;
       int temp[4];
       double tem;
                       for(int i=0 ;i<5000;i++)
                           {
                               tem=iCustom(NULL, 0, "ZigZag",13,0,i);
                               if(tem>0)
                               {
                                  temp[amount]=tem;
                                  amount++;
                                  if(amount>3)
                                  {
                                   i=5001;
                                  }
                               }                   
                                                     
                            }
                     
                      if(temp[0]>temp[1])
                      {
                        lasthigh=temp[0];
                        lastlow=temp[1];
                       
                     
                      }
                     
                          if(temp[0]<temp[1])
                      {
                        lasthigh=temp[1];
                        lastlow=temp[0];
                           
                      }
                     
                     
                         if(temp[2]>temp[3])
                      {
                        high=temp[2];
                        low=temp[3];
                       
                     
                      }
                     
                          if(temp[2]<temp[3])
                      {
                        high=temp[3];
                        low=temp[2];
                           
                      }
                     
                     
                     
     
 
   return(0);
  }

linconz

  • VIP
  • Sr. Member
  • *
  • Posts: 357
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #3 on: ตุลาคม 10, 2010, 09:43:09 pm »
อืม อ่านโค๊ดแล้วยัง งงๆ นิด
แต่ iCustom(NULL, 0, "ZigZag",1,0); จะส่งค่าที่ เป็นยอดเขาออกมา
และ iCustom(NULL, 0, "ZigZag",2,0);   จะส่งค่าที่เป็น ก้นเหวออกมา

ถ้าค่าไม่ออกมาหรือเท่ากับ 0 แสดงว่ายังไม่ถึงจุด ลองดูครับ พอค่าออกมา ก็สร้างตัวแปรเก็บไว้ พอค่าใหม่ออกมาก็เอามาแทนที่ตัวเก่า
ลองดูน๊ะครับ

Jummum

  • Newbie
  • *
  • Posts: 29
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #4 on: ตุลาคม 15, 2010, 10:50:22 pm »
แล้วค่า DEF จะเป็นเท่าไหร่เพราะ
iCustom(NULL, 0, "ZigZag",13,0,i) ค่า Def คือ 13
iCustom(NULL, 0, "ZigZag",1,0) ค่า def เป็นเท่าไร่ งง???

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #5 on: ตุลาคม 16, 2010, 12:29:59 am »
คุณ jummun ต้องการจะเก็บค่า ซิกแซก ยังไงครับ ลองอธิบายให้ละเอียดนิดหนึ่งครับ เพราะ code ของผมที่คุณได้ยกมามันจะหาได้แต่ค่า ซิกแซก ล่าสุดเท่านั่นนะครับ

Jummum

  • Newbie
  • *
  • Posts: 29
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #6 on: ตุลาคม 16, 2010, 10:11:33 am »
จากรูปนะครับ  2 คือค่ายอดจะเก็บไว้เทียบกับอันต่อมา
เช่น เบอร์ 4 เป็นยอดแต่น้อยกว่ากว่า 2 ก็จะเก็บค่า 2 ไว้ต่อ
      แต่ 6 มากกว่า 2 ก็จะจำค่า 6 แทนค่า 2 ประมานนี้

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
Re: ใครแนะนำการดึงข้อมูลของ Zigzag
« Reply #7 on: ตุลาคม 16, 2010, 02:09:46 pm »
ลองเอาอันนี้ไปทดสอบกับตลาดจริงวันจันดูก่อนครับว่าได้ผลเป็นไงมั้ง ค่าที่เก็บอยู่ในตัวแปร max

static double high ;
static double low ;
static double lasthigh;
static double lastlow;
static double max;



int start()
  {   
       int amount=0;
       int temp;
       double tem;
                       for(int i=0 ;i<5000;i++)
                           {
                               tem=iCustom(NULL, 0, "ZigZag",13,0,i);
                               if(tem>0)
                               {  if(max==0)
                                  {  max=tem;
                                     
                                  }
                                  else{
                                  temp=tem;
                               
                                   i=5001;
                                  }
                               }                   
                                                     
                            }

                       if(temp>max)
                        {
                             max=temp;
                        }
                     
                   
 
   return(0);
  }