เป้าหมาย
- แก้ปัญหาการเปิด Order ใกล้เคียงกัน
- ปัญหาการเปิด Order ใกล้เคียงกัน คืออะไร
- ยกตัวอย่าง ถ้าเปิด Order ใกล้กันแล้ว Order ชิดกันมากๆ จะเกิดการกระจุกตัวของ Order
เมื่อ Order รวมกันเยอะทำให้ Volume เมื่อ Volume เยอะก็ได้กำไรเยอะแต่ก็ขาดทุนเยอะเช่นกัน
Source Code & Algorithm
- วน Loop เพื่อ Check ว่ามี Order อยู่ระหว่างราคาช่วงนี้หรือไม่
ถ้ามี ส่งค่ากลับมา ว่าไม่สามารถเปิด Order ได้
ถ้าไม่มี ส่งค่ากลับมา ว่าสามารถเปิด Order ได้
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(((OrderType()==OP_SELL) && (OrderSymbol()==Symbol())) && (OrderMagicNumber()==MagicCheck))
{
if((Bid-OrderOpenPrice()<200*Point) || (OrderOpenPrice()-Bid<200*Point))
{
canOpenOrder=False;
}
}
else if(((OrderType()==OP_BUY) && (OrderSymbol()==Symbol())) && (OrderMagicNumber()==MagicCheck))
{
if((Ask-OrderOpenPrice()<200*Point) || (OrderOpenPrice()-Ask<200*Point))
{
canOpenOrder=False;
}
}
}
}
MT4 File : Note#8
- แก้ปัญหาการเปิด Order ใกล้เคียงกัน
- ปัญหาการเปิด Order ใกล้เคียงกัน คืออะไร
- ยกตัวอย่าง ถ้าเปิด Order ใกล้กันแล้ว Order ชิดกันมากๆ จะเกิดการกระจุกตัวของ Order
เมื่อ Order รวมกันเยอะทำให้ Volume เมื่อ Volume เยอะก็ได้กำไรเยอะแต่ก็ขาดทุนเยอะเช่นกัน

- วน Loop เพื่อ Check ว่ามี Order อยู่ระหว่างราคาช่วงนี้หรือไม่
ถ้ามี ส่งค่ากลับมา ว่าไม่สามารถเปิด Order ได้
ถ้าไม่มี ส่งค่ากลับมา ว่าสามารถเปิด Order ได้
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
if(((OrderType()==OP_SELL) && (OrderSymbol()==Symbol())) && (OrderMagicNumber()==MagicCheck))
{
if((Bid-OrderOpenPrice()<200*Point) || (OrderOpenPrice()-Bid<200*Point))
{
canOpenOrder=False;
}
}
else if(((OrderType()==OP_BUY) && (OrderSymbol()==Symbol())) && (OrderMagicNumber()==MagicCheck))
{
if((Ask-OrderOpenPrice()<200*Point) || (OrderOpenPrice()-Ask<200*Point))
{
canOpenOrder=False;
}
}
}
}
MT4 File : Note#8
ไม่มีความคิดเห็น:
แสดงความคิดเห็น