EA Programing > ปัญหาที่พบในการเขียน EA
ส่งคำสั่งด้วยมือแล้วขึ้น ReQuote ถ้าเป็น EA จะทำยังไง
Protector:
ถ้าส่งคำสั่งด้วยมือแล้วขึ้น ReQuote
เราก็ยังสามารถกดส่งซ้ำไปเรื่อยๆได้
แต่ถ้าเป็น EA จะทำยังไงให้มันผ่านสถานะการณ์ ReQuote นี้ได้ (น่าจะมีแต่เรามองไม่เห็น)
เช่นให้มันยืนยัน Order นั้นซ้ำไปเรื่อยๆสักสามที ถ้าราคายังไม่เปลี่ยน
แล้ว Slippage มันหมายความว่า ให้หยวนๆจับ order นั้นได้
ถ้าราคาขยับไม่เกินจากค่าที่ตั้งไว้อย่างนั้นหรือเปล่าครับ
admin:
วิธีที่ผมใช้ คือเขียน code สั่งขายซ้ำไปเรื่อยๆๆครับ จนกว่าจะปิด order หมด ครับ เรื่อง slippage เข้าใจถูกแล้วครับถ้าราเคลื่อนไปไม่เกินจำนวนจุดที่ตั้งไวมันก็จะเข้าชื้อหรือขายให้เราครับแล้วแต่ กรณี ครับ
Protector:
ขอรูปแบบของโค้ดส่งซ้ำได้ไหมครับ (ไม่ใช่หมายความว่าเปิดใหม่แล้วส่งเพิ่มใช่ไหมครับ)
admin:
เอาไปดัดแปลงเองนะครับ
total=OrdersTotal();
if( ใส่เงื่อนไขที่ต้องการลงไป)
{
while(total>0)
{
for(int i=0;i<total;i++)
{ OrderSelect(i,SELECT_BY_POST,MODE_TRADE);
if(OrderType()==OP_BUY())
{
OrderClose(...............);
}
if(OrderType()==OP_SELL())
{
OrderClose(...............);
}
}
total=OrdersTotal();
}
} ที่ผมใช้ลักษณะนี้ครับ ถ้าเงื่อนไขเข้าขายเป้นจริงมันจะไม่ยอมออกจาก loop จนกว่าจะปิก order หมด ผมไม่ทราบว่าคุณจะใช่ลักษณะได้แต่ของผทใช่ลักษณนี้อ่ะ ผมไม่ทราบว่าคุณจะใช้อย่าไงนะครับ แต่มันต้องมี error อยู่แล้วเราต้องแก้ตามลักษณที่ต้องการครับ เอาไปลองศึกษาดูก่อนครับ
Protector:
ขอบคุณครับ วัตถุประสงค์คือใช้เมื่อเวลา EA ถึงจุดควรทำกำไร มันส่งคำสั่งปิด position ไปแล้วอาจไม่ผ่านน่ะครับ กลัว EA มันจะเลยตามเลย ประมาณว่าปล่อยจังหวะผ่านไปแล้วปิดไม่ได้ก็ช่างมัน กลายเป็นต้องติดสถานะค้างยาว
นำร่อง
[0] ดัชนีข้อความ
[#] หน้าถัดไป
Go to full version