EA Programing > ปัญหาที่พบในการเขียน EA

ส่งคำสั่งด้วยมือแล้วขึ้น ReQuote ถ้าเป็น EA จะทำยังไง

(1/2) > >>

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