从头开始自学MQL5语言 - 页 53

 
SanAlex:

第三部分。


你的单子在这里是一个莫须有的吨位。把所有的东西都包在一个附件里
 
MrBrooklin:

是的,阿列克谢,我已经看过这个代码了。它是以包含文件的形式存在的。说实话,虽然我翻了好几遍,但我没有在里面找到关于这个符号的任何东西。也许我误解了什么,或者只是搜索得不好。

真诚的,弗拉基米尔。


我将在晚上回复。我正在使用由Yury Dzyuban提供的拖网及其类型库,在交易机器人中没有任何问题,我现在正在MT4上使用该库。
那里的方法与MT5相同。
 
Aleksey Masterov:

你在这里的滑稽行为是一种错误的行为。用一个附件将其包裹起来

我为自己学了一个新词--mauvais ton

(坏的礼仪;在特定的社会中被认为是不适当的、不雅的、不可接受的行为、礼仪和行为;坏的、不礼貌的)



 
SanAlex:

我为自己学会了一个新词--贪婪

("bad manners";在特定的社会中被认为是不适当的、不雅的、不可接受的行为、礼仪和行动;坏的、没有礼貌的)。




你的失误对这里的任何人来说都不感兴趣。习惯上是以附件形式发布,如果你这样发布,并不意味着更多的人会去阅读它......

它干扰了阅读主题和回答问题。
 
Aleksey Masterov:

这里没有人对你的乱写乱画感兴趣。习惯上是以附件形式发布,如果你这样做,并不意味着有更多的人想看...

它干扰了阅读主题和回答问题。

我不会妨碍你的工作 - 沟通!

------------------------------------

虽然你可以在这些破烂中捡到一些东西......

 
Fast235:

i等于开放职位 的数量,因此许多周期将与印刷有关。

你需要去掉"="号,为什么你需要在开仓数为0时通过循环。在这个零调用中,第二个打印出来了

你好!非常感谢你现在我不明白为什么我认为周期是从 "0 "开始而不是 "1"。长话短说,我应该停止在晚上学习,就像我年轻时那样。

问候,弗拉基米尔。

 
Aleksey Masterov:

我将在晚上回复。有了Yu.Dzyuban的拖网及其类型库,它在战斗机器人上工作没有任何问题,我目前在MT4上使用它。
这些方法与MT5上的方法相同。

你好,阿列克谢!我将非常感谢你的任何帮助。

真诚的,弗拉基米尔。

 
MrBrooklin:

因此,根据我读到的文献,我写了一个简短的算法,用于创建一个 带有拖曳止损功能的专家顾问

  1. 让我们创建一个专家顾问来自动追踪(伴随)已开 仓头寸的止损水平 已经指定的止盈和止 损失水平 如果已经为该头寸设置了止盈和止损位,又有什么区别呢?如果没有指定止损位,它将由专家顾问设置;如果有,它将根据算法改变为新的水平。专家顾问将对头寸的获利水平无动于衷。
  2. 在专家顾问中,创建一个有两个参数的输入参数块:设置"追踪 止损水平 "和设置 "追踪步骤"。事实上,我们谈论的是两种算法:第一种是将止损点移至盈亏平衡点,第二种是沿着运动方向进一步追踪。在负值区域,止损点没有被拖住。
  3. 当有新的报价进来时,我们用OnTick( )来处理它们。只有当当前符号出现新的刻度线时,拖曳才会发挥作用。
  4. 让我们创建并运行一个循环来搜索所有的位置。
  5. 如果我们突然发现没有空仓,我们就会返回到循环。
  6. 让我们刷新一下引言没有必要更新任何东西。交易环境是自动更新的。我们只需要在OnTick事件发生的时候请求数据。
  7. 如果有一个空缺职位,我们就继续为什么从第4点到第7点都有这些细节?相反,我们应该写得简单:对于每个买入位置,我们定义...然后从第9点开始
  8. 确定未结头寸的类型: 买入 卖出
  9. 如果是 买入 我们定义当前价格相对于开仓价格的位置。
  10. 如果当前价格高于开仓价格,我们检查其水平。
  11. 如果当前价格已经达到输入参数中定义的 "追踪水平",我们将 止损 损失 移动 到没有损失的水平,相当于 买入 头寸的开盘价 否则我们什么都不做。
  12. 如果当前价格超过追踪止损水平,其数值 等于追踪止损水平,则止损 买入 头寸的开盘价水平 ,其数值等于追踪止损水平,以此类推,直到价格达到为该头寸指定的止盈水平。
  13. 如果价格转向并达到已经移动的 止损 水平 ,则关闭头寸
  14. [下面是对塞尔职位的类似描述]。
  15. 如果卖出仓位被打开,我们定义当前价格相对于开仓价格的位置。
  16. 如果当前价格低于未平仓价格,我们就检查它在什么水平上下跌。
  17. 如果当前价格已达到输入参数中指定的追踪水平,我们将止损移至无损失的水平,等于卖出头寸的开盘价。否则我们什么都不做。
  18. 如果当前价格已经超过追踪水平,其数值等于 "追踪止损 "水平,则止损将从卖出头寸的开盘价移至等于 "追踪止损 "步骤的数值,依此类推,直到价格达到为该头寸指定的止盈水平。
  19. 如果价格转向并达到已经移动的止损水平,则关闭该位置。


我做了一些更正

 
下面是一个简化版的尾随描述。
  1. 在OnTick函数中,当收到一个新的tick时,拖曳止损被处理。
  2. 尾随止损由两个连续的部分组成。
  3. 第一部分。对于每一个未平仓的头寸,都会计算出价格,当达到这个价格时,其止损就会移到Breakeven。
  4. 第二部分。在止损被移至盈亏平衡点后,对活动头寸启动了跟随价格的止损拉动算法。

我不会详细描述第一和第二部分的停止转移的算法。你已经在总体上正确描述了它们。如果你描述它们,你应该进一步遵循模式。

第一部分。盈亏平衡。
  • 用于购买。
  • 用于出售。
第二部分。拉起了拦截。
  • 买;卖。
  • 用于出售。
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
MrBrooklin:

你好,Alexey,如果你能给我任何帮助,我将非常感激。

问候,弗拉基米尔。

你的TOR描述中有两个主要错误。

1.你对低级别的细节了解得太多了。例如,为什么要写(顺便说一下,是不正确的)"如果没有找到位置,你必须返回到循环"。如果没有职位,就没有什么可以处理。你不必返回循环,你只需退出并等待新的勾选,也许那里会出现东西,也许不会。你不需要描述 "如果...... "的情况。- 这样的案例数不胜数,你不可能把它们都描述出来。相反,专注于 "如果"。

2.职权范围明确显示了对一致性的渴望。不要这样做。从一般到具体:"我需要一个止损点, a)转移到Breakeven,b)当它转移到Breakeven时,它被拖网拉起。 转移到Breakeven和拉起止损点的规则,附在下面..." 。-我向你保证 任何自由职业的程序员都会理解这样的TOR,对他来说,这样的TOR比处理循环要容易得多,也清晰得多,因为如果没有位置,循环会回到自己身上,等等。