EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: gunlanutt on ธันวาคม 22, 2009, 08:15:36 pm

Title: การส่งค่ามาที่ EA
Post by: gunlanutt on ธันวาคม 22, 2009, 08:15:36 pm
รบกวนถามเกี่ยวกับวิธีการส่งค่าจากอินดิเคเตอร์หน่อยครับ

คือผมได้ค่าใน indicator ตัวหนึ่งซึ่งจะทำให้เป็นค่า 1 หรือ 2 หรือจะทำให้เป็น True หรือ False ก็ได้ครับ
แต่ปัญหาก็คือผมไม่ทราบวิธีในการส่งมายังอีเอครับ ว่าจะต้อง setindexbuffer ยังงัย ต้องเป็นตัวแปรประเภทไหน ผมลองสุ่ม ๆ แล้วแต่ก็ไม่ได้ครับ
ขอบคุณครับ
Title: Re: การส่งค่ามาที่ EA
Post by: gunlanutt on ธันวาคม 22, 2009, 08:25:03 pm
ในที่นี้ผมเพิ่มตัวแปร
int ZigUp = 0,ZigDown = 0;
ลงไปด้วย 2 ตัวและ
ทำการเพิ่มไปยังส่วนของโปรแกรมบรรทัดที่ 269,270,297 และ298
เพื่อให้ตัวแปรมีค่า 1 หรือ 2

ต่อไปก็เหลือขั้นตอนการเขียนเพื่อส่งค่าไปยังอีเอ

ตัวนี้ความจริงผมต้องการรู้ว่ามีลูกศรขึ้น หรือ ลูกศรลง ครับเท่านี้ ซึ่งผมแทนค่าลูกศรขึ้น เท่ากับ ZigUp = 1
และลูกศรลง ZigUp=2 ครับ

ช่วยแนะนำวิธีเขียนการส่งค่า ZigUp ไปที่อีเอหน่อยนะครับ

ขอบคุณมากครับ
Title: Re: การส่งค่ามาที่ EA
Post by: admin on ธันวาคม 22, 2009, 10:14:18 pm
เพิ่ม SetIndexBuffer(7, ตัวแปรที่เก็บค่าที่จะส่ง);  หมายเหตุ SetIndexBuffer  ใช้ได้สูงสุด 8 ตัวนะ ในอินเองใช้ไปแล้ว 7 ตัวเพราะฉะนั่นจึงเลือกวิธีการส่งค่าออกมาด้วยวิธีการนี้อีกค่าเดียวเท่านั่น
Title: Re: การส่งค่ามาที่ EA
Post by: gunlanutt on ธันวาคม 22, 2009, 11:12:01 pm
เพิ่ม SetIndexBuffer(7, ตัวแปรที่เก็บค่าที่จะส่ง);  หมายเหตุ SetIndexBuffer  ใช้ได้สูงสุด 8 ตัวนะ ในอินเองใช้ไปแล้ว 7 ตัวเพราะฉะนั่นจึงเลือกวิธีการส่งค่าออกมาด้วยวิธีการนี้อีกค่าเดียวเท่านั่น
ขอบคุณ Admin มากนะครับ

ผมลองเอาไปเขียนดูแล้ว
SetIndexBuffer(7,ZigUp);

เมื่อไปใช้คำสั่งในอีเอ โดยใช้คำสั่ง iCustom แล้วปรากฎว่าค่า ZigUp = 0 เหมือนตอนประกาศตัวแปรครับ ไม่ได้ค่า 1 หรือ 2 ครับ
Title: Re: การส่งค่ามาที่ EA
Post by: admin on ธันวาคม 22, 2009, 11:19:37 pm
เพิ่ม SetIndexBuffer(7, ตัวแปรที่เก็บค่าที่จะส่ง);  หมายเหตุ SetIndexBuffer  ใช้ได้สูงสุด 8 ตัวนะ ในอินเองใช้ไปแล้ว 7 ตัวเพราะฉะนั่นจึงเลือกวิธีการส่งค่าออกมาด้วยวิธีการนี้อีกค่าเดียวเท่านั่น
ขอบคุณ Admin มากนะครับ

ผมลองเอาไปเขียนดูแล้ว
SetIndexBuffer(7,ZigUp);

เมื่อไปใช้คำสั่งในอีเอ โดยใช้คำสั่ง iCustom แล้วปรากฎว่าค่า ZigUp = 0 เหมือนตอนประกาศตัวแปรครับ ไม่ได้ค่า 1 หรือ 2 ครับ

ตัวแปร ZigUp ตอนประกาสตัวแปรได้ประกาศเป็นแบบ Array หรือยังครับ
Title: Re: การส่งค่ามาที่ EA
Post by: gunlanutt on ธันวาคม 22, 2009, 11:46:31 pm
ประกาศเป็นตัวแปร array แล้วก็ยังไม่ได้ครับ
double ZigUp[];

ส่วนของตัวโปรแกรมก็ให้ค่า ZigUp[gi_112];

คำตอบที่ได้จะเป็นค่าเท่ากับ 2147483647 ครับ

คุณ Admin ช่วยเขียนให้ดูเป็นกรณีศึกษาสักหน่อยเถอะครับ
ผมเขียนไม่ถูกจริง ๆ ต้องการแค่รู้ว่าตอนนี้ลูกศรมันขึ้นหรือลงเท่านั้นเองครับจุดประสงค์
Title: Re: การส่งค่ามาที่ EA
Post by: admin on ธันวาคม 23, 2009, 02:26:49 am
ผมดู code แล้ว ลูกศร เขียว แดง เหลือง ในอินดิเคเตอรืมันส่งค่าออกมาอยู่แล้ว แต่ในแท่งเทียนที่ไม่มีลูกศรปรากกฏจะเป็น 0 แต่หากมีศรปรากฏจะมีค่าเท่ากับราคาของคู่เงินตอนนั่นเอาตัวอย่าง EA ที่ Print ค่าออกมาดูไปลองประยุกต์เองนะครับ