首页 > 解决方案 > 将所有 Tp 转移到最高订单价格之一 (Mql4)

问题描述

感谢各位朋友的真诚合作 在这个描述中,所有的例子都是关于买入持仓的 是的,我想在所有未平仓订单(分别买入和单独卖出)的总和达到一定的“总利润”时关闭所有订单. 前提是等于其中一个高位的开仓价 但是我想做的新事情是在价格达到总利润之前 专家检查我们所有的买单的开仓价中的以上哪些未平仓头寸将达到总利润 关于开仓的订单数量,我必须说这是无限的,但是这段代码必须从第 2 个头寸开始进行这些计算。注意相反。在价格达到订单号 2 之前,我们计算如果价格达到订单号 2,我们的总利润将达到 +50 美元。

            //±-----------------------------------------------------------------+
void BuyOrdersInfo1()
{
PriceOfHigherBuy=-99999;
SumOfBuyOrders=0;
//—
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if((OrderSymbol()==“GBPUSD”) && (OrderMagicNumber()==Magic3) && (OrderType()==OP_BUY))
{
SumOfBuyOrders++;
PriceOfHigherBuy=MathMax(OrderOpenPrice(),PriceOfHigherBuy);
}
}
}
}
//±-----------------------------------------------------------------+
void Trail()
{
for(int i=OrdersTotal()-1;i>=0;i–)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==Magic3)
BuyOrdersInfo1();
{
if((SumOfBuyOrders>0)&&((Ask-PriceOfHigherBuy>=Distance*Point)))
{
if(OrderTakeProfit()<(Ask-MathPow(10,-Digits)*PriceOfHigherBuy))

{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask-MathPow(10,-Digits)*PriceOfHigherBuy,OrderTakeProfit(),0,Green);
}
}
}
}
}

移动

但我不能用这段代码做到这一点我的代码哪里错了???

标签: javascriptjavaxcodemql4mql5

解决方案


推荐阅读