设为首页 收藏本站 切换语言

请教各位大神,我想在这段代码中增加一个功能,请问怎么改写,谢谢

| 发表于 2024-8-14 15:07:25 | 显示全部楼层 |复制链接
请教各位大神,我想在这段代码中增加一个功能, 当订单的盈利大于当前一半的止盈点数时,将止损改为平保止损,如果价格又回到一半止盈点数以内,依然保持平保止损,请问怎么改写,谢谢   


我在自己改写过一个,写出来,他一直把止损改来改去,一会儿是平保止损,一会儿是当前设置的止损,而且价格回到一半盈利后他就保持当前止损了

请指正,谢谢



// 计算上线和下线的新位置
   double currentAsk = Ask + 上线点数 * Point;
   double currentBid = Bid - 下线点数 * Point;

// 更新上线和下线的位置
   ObjectSet("上线", OBJ_HLINE, currentAsk);
   ObjectSet("下线", OBJ_HLINE, currentBid);


// 获取当前的买价和卖价
   double CurrentAsk = Ask;
   double CurrentBid = Bid;

// 遍历所有活动订单
   int ordersCount = OrdersTotal();
   for(int i = 0; i < ordersCount; i++)
     {
      // 选择活动订单
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
         continue;

      // 检查订单是否与当前交易品种匹配以及订单类型(买单或卖单)
      if(OrderSymbol() != Symbol() || OrderType() != OP_BUY&& OrderType() != OP_SELL)
         continue;

      // 检查买单的止损和止盈价格
      if(OrderType() == OP_BUY)
        {
         // 计算新的止损和止盈价格
         double newStopLoss = OrderOpenPrice() - SL * Point;
         double newTakeProfit = OrderOpenPrice() + TP * Point;
         double halfnewTakeProfit = OrderOpenPrice() + TP * Point*0.5;
         // 检查当前价格是否超过了止损或止盈价格


         if(currentAsk > newStopLoss ||currentBid < newTakeProfit)
           {
            // 修改订单的止损和止盈价格
            OrderModify(OrderTicket(), OrderOpenPrice(), newStopLoss, newTakeProfit, 0);
           }


        }
      // 检查卖单的止损和止盈价格
      else
         if(OrderType() == OP_SELL)
           {
            // 计算新的止损和止盈价格
            double newStopLoss = OrderOpenPrice() + SL * Point;
            double newTakeProfit = OrderOpenPrice() - TP * Point;
             double halfnewTakeProfit = OrderOpenPrice() - TP * Point*0.5;
            // 检查当前价格是否超过了止损或止盈价格
            if(currentAsk < newStopLoss ||currentBid > newTakeProfit)  
              {
               // 修改订单的止损和止盈价格
               OrderModify(OrderTicket(), OrderOpenPrice(), newStopLoss, newTakeProfit, 0);
              }



           }
     }



  }

举报

评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)