รบกวนช่วยดูให้หน่อยครับ คือตั้งใจจะให้มัน TP จุดเดียวที่ออเดอร์ล่าสุดที่เปิดครับ
คือออเดอร์ล่าสุดเปิดมาจะตั้ง TP ให้ครับ พอตั้งให้แล้วอยากให้ออเดอร์ที่เหลือเปลี่ยน TP เดิมมาใช้ของออเดอร์ล่าสุด
ผมเขียนแบบนี้ครับแก้มาหลายวันแล้วครับแต่ก็ได้แบบในรูปครับ
double Getlastsellprice(int Type)
{
double lastsellprice=0;
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderMagicNumber()==MagicNumberSell){
if(OrderSymbol()==Symbol()){
if(OrderType()==Type){
if(OrderOpenPrice()!=lastsellprice){
lastsellprice=OrderOpenPrice();
}
}
}
}
}
}
return lastsellprice;
}
void AdjustTPS()
{
for(int i=OrdersTotal()-1;i >= 0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderMagicNumber()==MagicNumberSell){
if(OrderSymbol()==Symbol()){
if(OrderType() == OP_SELL){
if(OrderTakeProfit() < Ask-(TakeProfitSell*2)*Point){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),(lastsellprice-(TakeProfitSell)*Point),0,clrRed);
}
}
}
}
}
}
}