กองทุน SPDR GOLD SHARES
ถือทองก่อนหน้า
ถือทองล่าสุด
0.00
*หน่วยตัน / ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
สถิติกองทุน SPDR
ราคาทองคำแท่ง 96.5%
ราคาอ้างอิงล่าสุดจากสมาคมค้าทองคำ
ครั้งที่
ราคาก่อนหน้า
ราคาล่าสุด
0
(หน่วย บาท*) / อัปเดตล่าสุดเมื่อวันที่ 13 ก.ค. 2566 เวลา 13:04 น.
สถิติราคาทองคำ ไทย

ทำค่าตัวแปรให้จำค่า ZigZag ล่าสุดได้ยังไงครับ หรือมีอินดี้ zigzag แบบนี้ใหมครับ

  • 2 replies
  • 1,939 views

https://www.mql5.com/en/code/21452

https://www.tradingsystemforex.com/expert-advisors-backtesting/2678-simple-zigzag-ea.html

ท่าน iruler ครับ พอจะมีคำแนะนำเขียน code แบบนี้ใหมครับ

หรือมีตัวอย่าง code คร่าวๆ บ้างใหมครับ

เนื่องจากว่าผมไม่เก่งและไม่ถนัดเรื่อง array เป็นอย่างมากครับ

รูปวาดแรก

ปกติ zigzag ล่าสุด มันยังไม่อัพเดท ดังนั้นค่า zigzag มันจะเป็น 0 ใช่ใหมครับ

อยากทำค่าตัวแปร
ค่าตัวแปร z  เป็นค่าจุด zigzag ล่าสุด (ในรูปวาด คือจะเป็น zigzag low)
ค่าตัวแปร H  เป็นค่าจุด zigzag highล่าสุดอย่างเดียว
ค่าตัวแปร L  เป็นค่าจุด zigzag low ล่าสุดอย่างเดียว

และอยากทำ array เก็บค่าสถิติ zigzag
เช่นได้ array zz[]

zz[0] = zigzag high 1
zz[1]= zigzag low 1
zz[2] = zigzag high 2
zz[3] = zigzag low 1
(ก็คือเก็บสถิติ zigzag ทำนองนั้น)


หรือ มีอินดี้แบบนี้บ้างใหมครับ มีมครเคยเห็น หรือเจออินดี้แบบนี้บ้างครับ

รูปวาดที่สอง

ปกติสีเหลืองคือ zigzag ใช่ใหมครับ
พอจะมีอินดี้แบบสีดำใหมครับ  (สีดำอย่างเดียว ไม่แสดงสีเหลือง)
เส้นสีดำก็คือ ค่า zigzag ล่าสุด


คิดแปลกๆ หาใน google กับ FF และ mql5.com ไม่เจอครับ

มีท่านใดช่วยแนะนำได้บ้างครับ

double   Peak0()
{
  int z   = 0;
  double zig = 0;
  double zag = 0;
   for(int i=0;i<500;i++)
     {
         zig=iCustom(NULL, 0, "ZigZag", 0, i);
         if(zig>0)
         {
             zag=zig;
             z++;
             if(z==1){break;}
         }
     }
   return(zag);
}
//ต้องการ peak ไหนก็เปลี่ยนค่าตรงเลข 1 นะครับ ตรง z== ???

อ้างจาก: gaothun ที่ 01, ธันวาคม  2020, 12:15:44 PM
double   Peak0()
{
  int z   = 0;
  double zig = 0;
  double zag = 0;
   for(int i=0;i<500;i++)
     {
         zig=iCustom(NULL, 0, "ZigZag", 0, i);
         if(zig>0)
         {
             zag=zig;
             z++;
             if(z==1){break;}
         }
     }
   return(zag);
}
//ต้องการ peak ไหนก็เปลี่ยนค่าตรงเลข 1 นะครับ ตรง z== ???

ขอบคุณมากครับท่าน


กำลังจะทำ code ต่อเลยเข้ามาตอบ ช้าหน่อย