EA Programing => ปัญหาที่พบในการเขียน EA => Topic started by: taezar on มีนาคม 29, 2017, 11:28:45 am
-
ได้ลองนำ code มาใน cd มาใช้ในบัญชี demo และ testback พบว่า มีการออกไม้ buy sell จากนั้นก็ไม่มีอะไรเกิดขึ้นอีกเลย ไม่มีการทำงานของ tailing stop หรือการปิด order เกิดขึ้น
-
ลองเปลี่ยนค่าใน Trainling Stop ให้สูงกว่า 15 ดูครับ เช่น 20
-
ลองเปลี่ยนแล้วครับ เป็น 30 แต่ก็ไม่ทำงานครับ คู่ EU
-
ผมตั้งแบบนี้
extern int Trailing=20;
//+------------------------------------------------------------------+
int start()
{
if(OrdersTotal()==0)
{
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"EX6",0,0,Green);
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"EX6",0,0,Red);
}
trailingstop();
return(0);
}
//+------------------------------------------------------------------+
void trailingstop()
{
for(int count=0;count<OrdersTotal();count++)
{
OrderSelect(count,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUY)
{
if(Trailing>0)
{
if(Bid-OrderOpenPrice()>Trailing*Point)
{
if(OrderStopLoss()==0 || (Bid-OrderStopLoss()>Trailing*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Trailing*Point,OrderTakeProfit(),0,Blue);
}
}
}
}
if(OrderType()==OP_SELL)
{
if(Trailing>0)
{
if(OrderOpenPrice()-Ask>Trailing*Point)
{
if(OrderStopLoss()==0 || (OrderStopLoss()-Ask>Trailing*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Trailing*Point,OrderTakeProfit(),0,Red);
}
}
}
}
}
}
//+------------------------------------------------------------------+