EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: popcraze on กันยายน 28, 2010, 08:00:22 am
-
ผมอยากได้คำสั่ง pending order sell กับ buy พร้อมกันต้องทำยังไงครับ ;) คือเริ่มต้นไม่ถูกเลยครับ ในค่าเงินเดียวกัน แ้ล้วก็ pending order sell กับ buy ใน
จุด เดียวกันเลยได้ป่าวครับ
ขอบคุณครับ
ปล.มือใหม่หัดเขียน
-
คือเมื่อ EA เริ่มทำงานก็ให้ตั้ง pending ทั้ง buy และ sell พร้อมกันเลยใช้ไหมครับ
-
คือเมื่อ EA เริ่มทำงานก็ให้ตั้ง pending ทั้ง buy และ sell พร้อมกันเลยใช้ไหมครับ
ใช้ครับผม ขอความกรุณาช่วยบอกด้วยนะครับ ขอบคุณครับ
-
int start()
{
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
return (0);
}
-
int start()
{
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
return (0);
}
ถามต่อเลยครับ จากคำสั่งข้าบน เราได้ การตั้ง pending ทั้ง BuyStop และ SellStop เช่นเมื่อราคาวิ่งชน BuyStop แล้วเราต้องการให้ ลบ pending ตัว SellStop ออกต้องทำอย่างไร ถ้ามีวิธีขอตัวอย่างคำสั่งด้วยนะครับ ขอบคุณล่วงหน้าครับ
-
extern double Lot=0.1;
extern int Magic=12356;
int start()
{ int total=OrdersTotal();
if(total==0)
{
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green);
}
if(total==2)
{ int buy ,sell;
for(int i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{ buy=buy+1;
}
if(OrderType()==OP_SELL)
{
sell=sell+1;
}
}
if(buy==1 || sell==1)
{
for( i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUYSTOP)
{ OrderDelete( OrderTicket());
}
if(OrderType()==OP_SELLSTOP)
{
OrderDelete( OrderTicket());
}
}
}
}
return (0);
}
-
ขอพระคุณมาก ๆ เลยครับ สำหรับ คำสั่ง และคำถามที่กำลังอยากจะถามต่อเลย
Forex จงเจริญ
-
ขอบคุณเช่นกันครับ
-
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);จากคำสั่งนี้เลข 10,3,0,0 มายังไงครับ symbol นี้ เราจะเขียนคู่เงินลงไปเลยได้หรือเปล่า red นี้คืออะไร
-
red คือค่าสีของลูกศรที่แสดงตำแหน่งเข้าเปิด Order บนกราฟครับ ว่าเราต้องให้มันแสดงสีอะไรครับ
-
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green); คำสั่งลักษณะอย่างนี้อยอยู่หัวข้อไหนของ navigator ครับ
-
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
OrderSend(Symbol(),OP_BUYSTOP,Lot,Ask+Point*10,3,0 ,0 ,"EA",Magic,0,Green); คำสั่งลักษณะอย่างนี้อยอยู่หัวข้อไหนของ navigator ครับ
ใน navigator ไปที่ Tab search แล้วพิมพ์คำว่า ordersend ครับ ถ้าอยากหาอะไรก็ search เอาจากตรงนั่นได้เลยครับ
-
OrderSend(Symbol(),OP_SELLSTOP,Lot,Bid-Point*10,3,0,0,"EA",Magic,0,Red);
Sleep(1000);
คำสั่งนี้หมายความว่า ยังไม่ได้ตั้งค่า stop loss และ take profit และให้ sell ตำกว่าราคาจริงอยู่ 10 จุด ใช่หรือเปล่าครับ ? และ magic=12356 หมายความว่าอะไรครับ ?
-
ใช้ครับเป็นการสั่งตั้ง Pending order ครับคือการตั้งรอราคา หากราคามาถึงก็ทำการเปิด order ครับ ที่คุณเข้าใจถูกแล้วครับ ส่วน magic ก็เหมือนตั้ง group ให้กับ order ที่เปิดโดย EA ที่เราเขียนครับ 123456 ก็เป็นตัวเลขแทนชื่อกลุ่มครับ magic เราตั้งได้เฉพาะตัวเลขนะครับห้ามใช้ตัวอักษร magic จะมีประโยชน์ตรงที่หากเราใช้ EA หลายตัวทำงานมันจะแยกออกว่า order ใดเปิดโดย EA ตัวไหนครับ