ผมต้องการ OrderDelete เมื่อไม้แรกวิ่งไปชน TP แล้วให้ Pending Order ที่เหลือทั้งหมดลบทิ้ง ไม่ทราบว่าจะเขียนยังไงครับ
มันต้องมีคำสั่งยังไงส่งไปครับ คือผมไม่รู้ว่าจะต้องใช้คำสั่งยังไงเขียนยังไงครับ
if(Ticket_R1 = OrderSend(Symbol(),OP_SELL,order_R1,EntryPrice_R1,5,SLPrice_R1,TP_R1, "Sell Order",MagicNumber,0,clrAliceBlue)> 0)
{
if(Ticket_R1 > 0)
{
if(Ticket_R1Limit = OrderSend(Symbol(),OP_SELLLIMIT,order_R2,EntryPrice_R1+PriceLevel_R2,5,SLPrice_R1,TP_R1,"Sell limit_1",MagicNumber,0,clrAliceBlue)== false)
Alert("Sell limit_1 Error: ",GetLastError());
if(Ticket_R1Limit = OrderSend(Symbol(),OP_SELLLIMIT,order_R3,EntryPrice_R1+PriceLevel_R3,5,SLPrice_R1,TP_R1,"Sell limit_2",MagicNumber,0,clrAliceBlue)== false)
Alert("Sell limit_2 Error: ",GetLastError());
if(Ticket_R1Limit = OrderSend(Symbol(),OP_SELLLIMIT,order_R4,EntryPrice_R1+PriceLevel_R4,5,SLPrice_R1,TP_R1,"Sell limit_3",MagicNumber,0,clrAliceBlue)== false)
Alert("Sell limit_3 Error: ",GetLastError());
if(Ticket_R1Limit = OrderSend(Symbol(),OP_SELLLIMIT,order_R5,EntryPrice_R1+PriceLevel_R5,5,SLPrice_R1,TP_R1,"Sell limit_4",MagicNumber,0,clrAliceBlue)== false)
Alert("Sell limit_4 Error: ",GetLastError());
}
}
}
}
if(OrderClosePrice()> OrderTakeProfit())
{
DeletePendingOrder(1);
}
if(OrderClosePrice()< OrderTakeProfit())
{
DeletePendingOrder(2);
}
//-------------------------------------------------------------------------------//
void DeletePendingOrder(int type)
{
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES); // Select i = Mode Trand
if(type==1) // type = 1 is Open Order Buy
{
if(OrderType()==OP_BUYLIMIT) // Check Order OP_BuyLimit
{
if(OrderDelete(OrderTicket())== false) // Command Delete Pending Order Buy limit
Alert("OrderDelete Error: ",GetLastError());
}
}
if(type==2) // type = 1 is Open Order Sell
{
if(OrderType()==OP_SELLLIMIT) // Check Order OP_SellLimit
{
if(OrderDelete(OrderTicket())== false) // Command Delete Pending Order Sell limit
Alert("OrderDelete Error: ",GetLastError());
}
}
}
}
ผลออกมามันลบเมื่อราคาไม้แรกไปถึง TP แต่มันก็มี Pending order บางตัวที่ถูก Delete ออกไปตั้งแต่เปิด Order แล้วถูก Delete ครับ
ไม่ทราบว่าต้องแก้ไขยังไงครับ หรือมีวิธีเขียนลบ Pending Order อื่นไหมครับ
ขอรบกวนอีกหน่อยนะครับเพิ่งเริ่มหัดเขียน
ขอบคุณมากครับ