Admin ครับ รบกวนดูให้หน่อบครับ ใช้งานได้แล้ว ครับ ผมรับค่ามากจากอินดิเคเตอร์ เรียบร้อย เปิดได้ปกติ ปิดก็ได้ครับ เป็นไปตามเงื่อนไข แต่ต้องการเพิ่มเติม
คือ ให้เปิด oder เพิ่มหาก oder ที่เปิด ติด ลบ นะครับ ทำไงก็ เอ๋อ เหรอ ครับ
อยากให้เป็นอย่างนี่นะครับ
หาก oder 1 ที่เปิดเป็น -30 ให้เปิด oder ที่ 2 ครับ
หาก oder 2 ที่เปิดเป็น -30 ให้เปิด oder ที่ 3 ครับ
ไล่ไปแบบนี้นะครับ อันนี้ที่ผมเขียนบ้าง copy มาบ้างนะครับ
========================
extern double lotsize=0.01;
extern double TakeProfit=300;
extern int Ans = 0;
int start()
{
double xbuy=0;
double xsell=0;
int abuy=0;
int asell=0;
//===========read indicator ======;
double b0;
b0=iCustom(NULL,0,"12",0,0);
Print("Buffer 0 : ",b0);// signal sell;
double b1;
b1=iCustom(NULL,0,"12",1,0);
Print("Buffer 1 : ",b1);// signal buy;
if(b0>0)
{
Ans=-1;
Comment(" Sell ");
}
if(b1>0)
{
Ans=1;
Comment(" Buy ");
}
//=====================open ticket=======================;
int ticket;
if(OrdersTotal()==0)
{
if(Ans>0)
{
ticket=OrderSend(Symbol(),OP_BUY,lotsize,Ask,10,Ask-500*Point,Ask+Point*TakeProfit,"chart test",0,0,Yellow);
OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES);
Sleep(500);
return(0);
}
if(Ans<0)
{
ticket=OrderSend(Symbol(),OP_SELL,lotsize,Bid,10,Bid+500*Point,Bid-Point*TakeProfit,"chart test",0,0,Aqua);
OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES);
Sleep(500);
return(0);
}
}
//================= close Ticket =======================;
double total=OrdersTotal();
int i;
int Pos;
bool Result;
//----close buy ----
if((total>0)&&(Ans<0))
{for(i=total-1; i>=0; i--)
{if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{Pos=OrderType();
if(Pos==OP_BUY || Pos==OP_SELL)
{if(Pos==OP_BUY)
Result=OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);
}
}
}
}
//----close sell ------
if((total>0) && (Ans>0))
{for(i=total-1; i>=0; i--)
{if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{Pos=OrderType();
if(Pos==OP_BUY || Pos==OP_SELL)
{if(Pos==OP_SELL)
Result=OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
}
}
}
}
//============== add open
============;
Print(Ans," oder= ",OrderOpenPrice()," Ask= ",Ask," Bid= ",Bid," lbuy= ",(Bid-OrderOpenPrice())," lSell=",(OrderOpenPrice()-Ask));
return(0);
}