Open Forex4you Account

Server รัน EA 1000 / ปี

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

Author Topic: อยากสอบถามเรื่องการประกาศตัวแปร + Backtess  (Read 10072 times)

dag123

  • Newbie
  • *
  • Posts: 17
แค่สงสัยว่าทำไมตัวแปรที่ประกาศนอก function กับประกาศใช้เฉพาะใน function มันถึงต่างกันราวฟ้ากับเหว
เราต้องการเก็บค่าๆหนึ่งที่ ดึงมาจาก function ที่ EA มีให้ใช้
โดยประกาศตัวแปรไว้บนสุด (นอก function) เพื่อต้องการใช้ร่วมกันทุกๆ function
ปรากฎว่าค่าตัวแปรมันไปไหนต่อไหน ค่าหลักแสน ทั้งที่ความจริงมันแค่หลักร้อยเอง
แต่พอแยกตัวแปรต่างหากแต่ล่ะ function ค่ามันเป็นค่าที่ควรจะเป็นจริงๆ

ยกตัวอย่างง่ายๆ เราประกาศตัวแปรเก็บค่าผลรวม Orderprofit() สองตัวล่าสุด ถ้าเราประกาศบนสุดของ class ค่ามันจะเพี้ยน
แต่ถ้าประกาศใน function ค่าจะเป็นค่าที่ถูกต้อง
ที่นี้เราเลยเกิดปัญหาว่าแล้วเราจะทำยังไง ถึงจะสามารถใช้ตัวแปรร่วมกันได้ทุก function ค่ะ เพราะใน java ถ้าหากอยากใช้ตัวแปรร่วมกันจะประกาศตัวแปรไว้นอก function


อีกเรื่องนึงเรางงมากค่ะ
เราเขัยนโปรแกรมให้อ่านค่าอินดี้ทุกๆ 15 นาที แต่ผลที่ได้ค่ามันโดดๆ เช่น
มันควรจะแสดงผลทุกๆ 15 นาที แต่เวลามันดันโดดจาก 10.15 10.30 10.45 19.00 23.45 เป็นต้น
ปัญหานี้เป็นที่กราฟเราหรือเปล่าค่ะ เพราะเราเปิดคอมบ้าง ไม่เปิดบ้าง เลยทำให้ค่ากราฟหายเป็นช่วงๆ
ขอบคุณค่ะ
« Last Edit: ธันวาคม 15, 2012, 07:53:09 pm by dag123 »
อย่าเป็นผู้รับอย่างเดียว

D_Diamond

  • Hero Member
  • *****
  • Posts: 673
    • Expert Forex Trading
ตัวแปรในฟังชั่นมันเริ่มใหม่ทุกครั้งที่ฟังชั่นนั้นทำงานครับ
ส่วนตัวแปรนอกฟังชั่นจะเริ่มเพียงครั้งเดียวตอนอีเอเริ่มทำงาน มันจึงบวกไปเรืรอยๆเป็นแสน

ต้องเคลียร์ค่าตัวแปรเอาเองครับในฟังชั่น start

ต.ย.

int var1;

void start()
{

var1=0;

.
.
.


}

dag123

  • Newbie
  • *
  • Posts: 17
เดี๋ยวขอสังเกตอีกที
ขอบคุณค่ะ
อย่าเป็นผู้รับอย่างเดียว