คือออร์เดอร์ปิดที่ตัดเส้น 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()));
}
}
}
ขอบคุณครับ