EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: Hroyjank on สิงหาคม 18, 2014, 11:32:22 am
-
ช่วยหน่อยครับ พอดีหาอ่านข้อมูลเก่าๆแล้วแต่ยังไม่สามารถเก็บค่าไว้ในArrayได้ คือผมอยากเก็บค่า X,Y, Price ตอนคลิกบนหน้าจอทุกครั้งที่คลืกก็จะเก็บค่าเอาไว้ครับ
ไม่ทราบว่า code ที่เขียนผิดตรงไหนครับช่วยแก้หน่อยครับ
double Stor_X[],
Stor_Y[];
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
int Window = 0;
int X = (int)lparam;
int Y = (int)dparam;
if(id==CHARTEVENT_CLICK) //--- the mouse has been clicked on the chart
{
Stor_X[X] = X;
Stor_Y[Y] = Y;
Print("Stor_X=", Stor_X[X]);// ปริ้นดูแล้วค่าที่ได้ยังเป็นศูนย์
Print("Stor_Y=", Stor_Y[Y]);// ปริ้นดูแล้วค่าที่ได้ยังเป็นศูนย์
}
}
-
Stor_X[X] = X;
Stor_Y[Y] = Y;
ตรงนี้ - ,[y] ต้องแทนค่าด้วยตัวเลขนะครับซึ่งเป็นมิติของตัวแปร array
เท่าที่ดู
int X = (int)lparam;
int Y = (int)dparam;
lparam , dparam 8nv พารามิเตอร์ของฟังก์ชั่นไม่ทราบว่ามันมีค่าอะไรครับ แนะนำให้ print ค่า x,y ออกมาดูก่อนดีกว่าครับว่ามีค่าหรือเปล่า
-
ผมลองทำตามลิงค์นี่ดู http://www.thaiforexea.com/index.php/topic,1149.0.html
ปรากฏว่าผมต้องประกาศค่า
double Stor_X[],
Stor_Y[];
ให้เป็น double Stor_X[1000],
Stor_Y[1000];
ถึงจะสามาถเก็บค่าได้ ที่นี่ปัญหาก็คือมันเก็บได้ค่าเดียวโดยที่ค่า X,Y จะต้องมีค่าไม่เกิน 1000 (ผมเข้าใจถูกใช่ไหมครับ) ที่นี่ถ้าผมจะเก็บ X,Y ให้ได้หลายๆค่า โดยที่ค่าเก่ายังอยู่ถ้ายังไม่มีคำสั่งลบ
ผมต้องเขียน code ยังไงครับ (ต้องขอโทษด้วยครับไม่เข้าใจการใช้คำสั่ง array เลยครับ)
-
double Stor_X[1000],Stor_Y[1000];
คือการประกาศให้ array Stor_X กับ Stor_Y มีขนาด 1000 คือรับค่าได้ 1001 ตัว โดยเริ่มจาก Stor_X[0] ถึง Stor_X[1000]
วิธีเก็บค่าก็ใช้ loop วนไงครับเช่น
for(int i=0;i<1000;i++)
{
Stor_X=I*10;
}
for( i=0;i<1000;i++)
{
print(Stor_X);
}
-
ขอบคุณครับท่านแอดมิน ตอนนีเก็บค่าได้ตามจำนวน ที่ต้องการแล้วครับ ;D
-
ถามต่ออีกนิดครับ ถ้าจะเก็บค่า X,Y ไว้ใน array เดียวกันต้องเขียน code ยังไงครับ
-
ถามต่ออีกนิดครับ ถ้าจะเก็บค่า X,Y ไว้ใน array เดียวกันต้องเขียน code ยังไงครับ
ตรงนี้ต้องไปหาอ่านพื้นฐานการเขียนโปรแรกมทั่วไปเรื่อง array 2 มิติก่อนครับถึงจะเข้าใจ