
求问各位大神,mql4的EA中,如何一次性对所有的多单或者空单挂一个统一的止损?比如我开了10笔多 50
求问各位大神,mql4的EA中,如何一次性对所有的多单或者空单挂一个统一的止损?比如我开了10笔多单,如何一次给所有多单挂上止损?求代码!拜谢各位!...
求问各位大神,mql4的EA中,如何一次性对所有的多单或者空单挂一个统一的止损?比如我开了10笔多单,如何一次给所有多单挂上止损?求代码!
拜谢各位! 展开
拜谢各位! 展开
4个回答
展开全部
下面这段代码你应该看得懂,可以实现的功能是将所有同向订单的止损止盈设置为最后成交的那个单子的止损止盈
if(use_sl_and_tp && total()>1)
{
double s_l, t_p;
for(i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic || OrderType()>1) continue;
type=OrderType();
s_l=OrderStopLoss();
t_p=OrderTakeProfit();
}
for(i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic || OrderType()>1) continue;
if(OrderType()==type)
{
if(OrderStopLoss()!=s_l || OrderTakeProfit()!=t_p)
{
OrderModify(OrderTicket(),OrderOpenPrice(),s_l,t_p,0,CLR_NONE);
}
}
}
}
if(use_sl_and_tp && total()>1)
{
double s_l, t_p;
for(i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic || OrderType()>1) continue;
type=OrderType();
s_l=OrderStopLoss();
t_p=OrderTakeProfit();
}
for(i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=magic || OrderType()>1) continue;
if(OrderType()==type)
{
if(OrderStopLoss()!=s_l || OrderTakeProfit()!=t_p)
{
OrderModify(OrderTicket(),OrderOpenPrice(),s_l,t_p,0,CLR_NONE);
}
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在下单得时候 设置止损位就可以了。OrderSend方法中提供了这个功能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可怜如你、穷人如你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你不是应该找开发这个EA的公司吗?别人的原代码怎么可能给你。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询