In order to expand possibilities of retail Forex traders, we have added the second accounting system — hedging. Now, it is possible to have multiple positions per symbol, including oppositely directed ones. This paves the way to implementing trading strategies based on the so-called "locking" — if the price moves against a trader, they can open a position in the opposite direction.
测试仪 - "不支持填充模式"
在 3 个不同的经纪商上都试过了。问题出在哪里?
尝试将SYMBOL_FILLING_FOK 替换为SYMBOL _ FILLING_IOC。
致 Vladimir。
大家好(尤其是亲爱的作者)
我跟着这篇文章编码。我非常喜欢这篇文章,也从中学到了很多东西。
感谢您撰写了内容如此丰富的文章。
不过,我遇到了一个问题。我的 EA 没有下任何订单。我下载了作者的代码,但它也没有下任何订单。
由于这篇文章已经发表了 13 年,我认为代码现在已经过时了。谁能帮帮我?
我的代码在下面的文件中。谢谢大家。
访问未翻译英文网页,里面下载的是正确的。
从这个页面里面下载: Step-By-Step Guide to writing an Expert Advisor in MQL5 for Beginners - MQL5 Articles
https://www.mql5.com/en/articles/100
亲爱的各位;
从这篇文章的底部,可以下载到 mlq5 的完整代码。
我下载后检查了功能,发现程序的算法不正确。
设置为 EURUSD,M1,100USD 从 2025/01/01 到 2025/01/31
第一个订单是卖出订单,然后有许多买入订单。
概念是应该只有一个订单,但从第 165 行开始出现了这种情况。
检查现在是否已经下单的标志由 2 个标志变量(Buy_opned,Sell_opened)组成。
如果现在已经有卖单,那么在第 216 行(Ordersend)将生成新的买单,即使现在已经有卖单。
第 172 行语句中的 Buy_open 标志不能再次设为开,为什么?因为第一个订单是卖,第二个订单是买。
是的,下一根蜡烛线 216 行(Ordersend)上的买入订单将发生并继续,许多买入订单将发生,直到没有钱为止。
查看图表。
查看订单列表。
谢谢。
Niwath Jeamphue.
亲爱的各位
从这篇文章的底部,您可以下载到 mlq5 的完整代码。
我下载后检查了功能,发现程序的算法不正确。
设置为欧元兑美元、M1、100 美元从 2025/01/01 开始至 2025/01/31
第一个订单是卖出订单,然后有许多买入订单。
概念是应该只有一个订单,但从第 165 行开始出现了这种情况。
现在,检查是否有订单的标志由 2 个标志变量(Buy_opned,Sell_opened)组成。
如果现在已经有卖单,那么在第 216 行(Ordersend)中将生成新的买单,即使现在已经有卖单。
第 172 行语句中的 Buy_open 标志不能再次设为开,为什么?因为第一个订单是卖出,第二个订单是买入。
是的,下一根蜡烛线 216 行 (Ordersend) 上的买单将继续发生,许多买单将发生,直到没有钱为止。
请看这里的图表。
查看订单列表。
谢谢。
Niwath Jeamphue.
除非使用净额结算账户,否则不应使用 PositionSelect(_Symbol)。
在套期保值账户中,您需要使用 PositionGetTicket() 或 PositionSelectByTicket() 正确选择仓位。查看文档。
除非使用净额结算账户,否则不应使用 PositionSelect(_Symbol)。
在套期保值账户中,您需要使用 PositionGetTicket() 或 PositionSelectByTicket() 正确选择仓位。查看文档。
感谢您的评论。但我只想告诉大家,源代码来自本文的最终完整版。
https://www.mql5.com/zh/articles/download/100/my_first_ea.mq5
请您自己尝试一下,您就会明白我的意思了。
谢谢。
感谢您的评论。但我只想告诉大家,源代码来自本文的最终完整版。
https://www.mql5.com/zh/articles/download/100/my_first_ea.mq5
请你自己试试看,你就会明白我的意思了。
谢谢。
这篇文章来自 2010 年,当时 MT5 上的所有账户都是净额结算账户,包括外汇账户。
对冲账户于 2016 年推出 :https://www.mql5.com/zh/articles/2299
Niwath Jeamphue #:
请您亲自尝试一下,您就会明白我的观点。
谢谢。
您好。我理解您的观点。在所附文件中,我修改了智能交易系统的源代码,这样无论您使用什么账户--净额结算账户或对冲账户,都只能开立一个仓位。
弗拉基米尔
您好。我理解您的观点。在所附文件中,我修改了智能交易系统的源代码,这样无论您使用什么账户--净额结算账户或对冲账户,都只能开立一个仓位。
再见,弗拉基米尔。
对冲账户,MrBrooklin。谢谢。但我更喜欢只接受订单,而不是那么多订单。
我已经改变了算法。
清除 买入和卖出开仓标志
如果 (PositionSelect(_Symbol)==true)
如果 发现是买入头寸,则设置 Buy_opened 标志
否则 如果发现是卖出头寸,则设置卖出开仓标志
Zone1 :尝试根据条件打开买入订单,并设置 Buy_opened 标志
Zone2 :尝试根据条件打开 卖单 ,并 !flag Sell_opened
到新算法,现在运行正常。
如果 (PositionsTotal() > 0) 返回
清除 买入和卖出开仓 标志
如果 发现是买入头寸,则设置 Buy_opened 标志
否则, 如果发现是卖出头寸,则设置 Sell_opened
Zone1 :尝试根据条件打开买入订单,并设置 Buy_opened 标志
Zone2 :尝试根据条件打开 卖单 ,并 !flag Sell_opened