Open Forex4you Account

Server รัน EA 1000 / ปี

สั่งชื้อคู่มือการโปรแรกม MQL4

Author Topic: ให้ปิดออร์เดอร์เฉพาะที่เป็นกำไร ที่ติดลบไม่ปิด เขียนอย่างไรเพิ่มเติมครับ  (Read 7055 times)

eujubjub

  • Newbie
  • *
  • Posts: 7
คือออร์เดอร์ปิดที่ตัดเส้น RSI แล้วต้องเขียนอะไรเพิ่มเติมจากนี้ครับ หากเพิ่มเงื่อนไขให้ปิดออร์เดอร์เฉพาะที่ไม่ติดลบเท่านั้น

void RSI_Close_Hi()
{
    if (iRSI(NULL, NULL,RSI_period,PRICE_CLOSE,shift_rsi) >= CloseBuy_hi_rsi)
    {
        CloseOrderBuy_Hi_rsi();
        
    }
}


void CloseOrderBuy_Hi_rsi()
{
    int orderstotal = OrdersTotal();
    int orders = 0;
    int ordticket[30][2];
    for (int i = 0; i < orderstotal; i++)
    {
        OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
        if (OrderType() != OP_BUY || OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC)
        {
            continue;
        }
        ordticket[orders][0] = OrderOpenTime();
        ordticket[orders][1] = OrderTicket();
        orders++;
    }
    if (orders > 1)
    {
        ArrayResize(ordticket,orders);
        ArraySort(ordticket);
    }
    for (i = 0; i < orders; i++)
    {
        if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)
        {
            bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);
            if (ret == false)
            Print("OrderClose() error - ", ErrorDescription(GetLastError()));
        }
    }
    
}

ขอบคุณครับ

admin

  • Administrator
  • Hero Member
  • *****
  • Posts: 2386
เพิ่มเงื่อนไขด้านล่างครอบคำสั่งปิดครับ
 if(OrderProfit()>0)
  {
    // คำสั่งปิด Order ของคุณ
  }

eujubjub

  • Newbie
  • *
  • Posts: 7
เพิ่มเงื่อนไขด้านล่างครอบคำสั่งปิดครับ
 if(OrderProfit()>0)
  {
    // คำสั่งปิด Order ของคุณ
  }

ขอบคุณมากๆครับ