论坛全局菜单下方 -  icmarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - TICKMILL 285X70
查看:129回复:10
梅花红
注册时间2018-04-11
[EA]帮我看一下这个脚本错在那里?
楼主发表于:2025-11-21 06:19只看该作者倒序浏览
1楼 电梯直达
电梯直达

一个错误,一个警告


MT5脚本,

单子如果盈利了,但是没有设置止损,双击一下脚本,把止损自动设置在入场价位处,也就是拉平保。



//+------------------------------------------------------------------+

//| 简化版盈亏平衡止损脚本 |

//+------------------------------------------------------------------+

void OnStart()

{

  for(int i = PositionsTotal()-1; i>=0; i--)

  {

     ulong ticket = PositionGetTicket(i);

     if(PositionSelectByTicket(ticket))

     {

        double openPrice = PositionGetDouble(POSITION_PRICE_OPEN);

        double currentSL = PositionGetDouble(POSITION_SL);

       

        // 如果当前有盈利且止损未设在入场价

        if(PositionGetDouble(POSITION_PROFIT) > 0 && currentSL != openPrice)

        {

           MqlTradeRequest request = {0};

           MqlTradeResult result = {0};

           

           request.action = TRADE_ACTION_SLTP;

           request.position = ticket;

           request.sl = openPrice;

           request.tp = PositionGetDouble(POSITION_TP);

           

           OrderSend(request, result);

        }

     }

  }

  Print("盈亏平衡检查完成");

}

//+------------------------------------------------------------------+


TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
会歌
注册时间2009-11-23
发表于:2025-11-21 06:50只看该作者
2楼

问ai

深海游鱼
注册时间2009-01-14
johnnyso87
注册时间2018-08-15
发表于:2025-11-21 08:20来自移动端只看该作者
4楼

Direct Chat gemini-3-pro gemini-3-pro 你的脚本主要存在 一个编译警告 和 几个严重的逻辑隐患(这会导致运行错误)。 1. 编译警告与错误分析 警告 (Warning): Return value of 'OrderSend' should be checked 原因: OrderSend 函数会返回一个布尔值(true/false)告诉你是成功还是失败。编译器强烈建议你检查这个结果,而不是直接忽略它。 潜在错误 (Error/Bug): 虽然你的代码语法上可能通过编译(或者报出初始化的错误,取决于编译器版本),但实际上有缺导致脚本无法工作的逻辑错误: 缺少 Symbol (最重要): 在 MqlTradeRequest 结构体中,即使是修改止盈止损 (TRADE_ACTION_SLTP),通常也必须指定 symbol,否则请求无效。 价格未标准化 (Normalize): openPrice 是一个浮点数,直接传给服务器可能会因为小数点后位数过多而被拒绝(Invalid Price)。必须使用 NormalizeDouble。 浮点数直接比较: currentSL != openPrice 这种写法在编程中是危险的(因为 1.10000001 不等于 1.1),应该判断两者之差是否极小。

个性签名

韬客社区www.talkfx.co

1神无月1
注册时间2014-08-24
积极参与奖白羊座金牛座双子座巨蟹座狮子座处女座天秤座天蝎座射手座摩羯座水瓶座双鱼座
发表于:2025-11-21 08:24只看该作者
7楼
深海游鱼 发表于 2025-11-21 15: 23

现在chatgpt已经很智能了

他这个就是人工智障写的

johnnyso87
注册时间2018-08-15
发表于:2025-11-21 08:45只看该作者
9楼

论坛自动屏蔽回复

黑斯廷
注册时间2010-10-04
发表于:2025-11-21 08:54只看该作者
10楼

编程还是用Claude code吧

千金良言
注册时间2015-09-10
发表于:2025-11-21 11:45只看该作者
11楼

看不懂

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]