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

10H币有偿帮忙,请用MQ5帮忙写一个移动止盈的函数.

| 发表于 2023-7-5 14:14:19 | 显示全部楼层 |复制链接
任务需求:
请用MQ5帮忙写一个移动止盈的函数,请标上详细注释,

需求如下:
初设止损点为500毫点,初设止盈点为600毫点,第一个止盈点为700 毫点,第二个止盈点为800毫点, 第二个止盈点为900毫点.

1.当行情盈利大于或等于初设止盈点600毫点,且小于第一个止盈点700毫点时
  止损点修改为初设止盈点, 止盈点修改为第一个止盈点  .


2. 当行情盈利大于或等于第一个止盈点700毫点, 且小于第二个止盈点800毫点时
  止损点修改为 第一个止盈点 , 止盈点修改为第二个止盈点  .

3. 当行情盈利大于或等于第二个止盈点800毫点, 且小于 第三个止盈点900毫点时
   止损点修改为第二个止盈点 , 止盈点修改为第三个止盈点  .

以此类推.


10H币有偿帮忙
https://www.eahub.cn/thread-80302-1-1.html
举报

评论 使用道具

精彩评论5

521EA
DDD
| 发表于 2023-7-5 14:22:21 | 显示全部楼层
这个h币拿来求用没有,你直接说多少钱叫别人帮你写还有希望,用h币做报酬谁会给你写
举报

点赞 评论 使用道具

川哥财经
DDD
| 发表于 2023-7-5 18:20:00 | 显示全部楼层
//+------------------------------------------------------------------+
//|                                          MovingTakeProfit.mq5   |
//|                   Copyright 2023,                |
//|                                                |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023"
#property link      "https://openai.com"
#property version   "1.00"
#property strict

// 输入参数
input double TakeProfitDistance = 50; // 初始止盈距离(以点为单位)
input double TakeProfitStep = 10; // 移动步长(以点为单位)

// 全局变量
double g_takeProfitLevel = 0; // 止盈水平

//+------------------------------------------------------------------+
//| 根据价格移动止盈                                                  |
//+------------------------------------------------------------------+
void MoveTakeProfit()
{
   // 获取当前价格
   double currentPrice = SymbolInfoDouble(_Symbol, SYMBOL_BID);

   // 如果当前价格超过止盈水平,则更新止盈水平
   if(currentPrice - g_takeProfitLevel >= TakeProfitStep)
   {
      g_takeProfitLevel += TakeProfitStep;

      // 将止盈水平设置为新值
      bool result = OrderModify(OrderTicket(), OrderOpenPrice(), g_takeProfitLevel, OrderStopLoss(), 0, CLR_NONE);
      if(result)
      {
         Print("移动止盈至:", g_takeProfitLevel);
      }
      else
      {
         Print("移动止盈失败:错误代码", GetLastError());
      }
   }
}

//+------------------------------------------------------------------+
//| Expert Advisor初始化函数                                          |
//+------------------------------------------------------------------+
int OnInit()
{
   // 获取当前订单的止盈水平
   g_takeProfitLevel = OrderTakeProfit();
   
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert Advisor主函数                                               |
//+------------------------------------------------------------------+
void OnTick()
{
   // 检查是否存在订单
   if(OrderSelect(0, SELECT_BY_POS, MODE_TRADES))
   {
      // 检查订单类型和状态
      if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber())
      {
         // 移动止盈
         MoveTakeProfit();
      }
   }
}

//+------------------------------------------------------------------+
举报

点赞 评论 使用道具

川哥财经
DDD
| 发表于 2023-7-5 18:21:03 | 显示全部楼层
不用给我 我只花了三秒钟就弄好了
你测试看看
举报

点赞 评论 使用道具

westwuwei
DDD
| 发表于 2023-7-5 22:05:12 | 显示全部楼层
GMI Markets 发表于 2023-7-5 18:21
不用给我 我只花了三秒钟就弄好了
你测试看看

这个 ChatAPI 产生的代码太次了,如果这个活儿10H币,这个代码不值2H币,其完成了不足20%,而且有严重逻辑问题(例如只做多不做空、只能处理一个订单而不能处理多个订单,运行不起来,等等)。需要人工改 bug。
举报

点赞 评论 使用道具

ken138888
B
 楼主 | 发表于 2023-7-6 20:41:29 | 显示全部楼层
已经搞定了。可以封贴了。
举报

点赞 评论 使用道具

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

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