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

 
Valeriy Yastremskiy:

一般来说,有两种动机,效果相反。较近的SL减少了损失,使在SL上收盘的概率更高。如果SL将与波动率接近,那么你的选择当然更好,如果处于正常水平,拉高SL不会影响触发频率,那么就是我的

你已经跑到了策略的领域;)教我 设定1个BU,然后再移动它

 
VVT:

你已经跑到了策略的领域;)教我如何 设定1个嘘声,然后移动它

你好!一方面,你是对的--你可以只在一个盈亏平衡点上停下来,只为它写一个代码。但是,在我看来,如果你最初不知道追踪止损一般应该如何运作,那么它就不是最好的选择。此外,几乎所有的专家顾问都是根据一个明确定义的策略来编写的。正如他们在这种情况下所说的,"我们必须在海岸上达成协议"。

我觉得我又在 "唤醒 "这个程序员。

问候,弗拉基米尔。

 
Vasiliy Sokolov:

这是我的理解。你有两种重新定位追踪止损的功能。第一个功能是在参数 "追踪水平 "的指导下,将追踪止损移至盈亏平衡点,第二个功能是在参数 "追踪步骤 "的指导下,将止损进一步拉到价格后面。我认为,我将第一个参数称为 "止损平衡水平"--因为它不是跟踪止损,而是止损转移。

是的,瓦西里,这就对了!你已经正确地理解并制定了我的跟踪止损的想法。该参数从一开始就应该有相同的名称: "追踪止损水平到盈亏平衡"。我的术语仍然不完善。谢谢你!

真诚的,弗拉基米尔。

 
MrBrooklin:

你好!一方面,你是对的--你可以只在一个盈亏平衡点上停下来,只为它写一个代码。但是,在我看来,如果你最初不知道追踪止损一般应该如何运作,这不是最好的选择。此外,几乎所有的专家顾问都是基于明确定义的策略而编写的。正如他们在这种情况下所说的,"我们必须在海岸上达成协议"。

我觉得我又在 "唤醒 "这个程序员。

问候,弗拉基米尔。

你好!如果你学会一步步移动止损 一次,以后就可以移动100次,如果有必要,如果你有足够的空间;)

专家顾问根据策略进行调整,反之亦然。

 
MrBrooklin:

是的,瓦西里,完全正确!你已经正确地理解并制定了我的跟踪止损的想法。该参数最初是这样称呼的: "追踪止损水平到盈亏平衡"。我的术语仍然不完善。谢谢你!

真诚的,弗拉基米尔。


日安,弗拉基米尔。看看这个帖子。你可以在拖网中从利润水平上进行修改,而不需要理会专门的转移到收支平衡的水平。
https://www.mql5.com/ru/forum/352460/page55#comment_18711100
 
Aleksey Masterov:

下午好,弗拉基米尔。看一看我的这个帖子。在拖网中,你可以从利润水平上进行修改,而不必为突出的转移水平和收支平衡而烦恼。
https://www.mql5.com/ru/forum/352460/page55#comment_18711100

你好,阿列克谢!很抱歉没有立即对你的帖子做出反应。这个链接非常有趣。我已经看完了所有11个尾数的代码和函数库。这一切都非常有趣,尽管它是用MQL4写的。说实话,我从来没有想象过有这么多类型的跟踪止损。非常感谢您的支持!

真诚的,弗拉基米尔。

 

大家早上好,心情不错!

我继续学习MQL5编程语言。考虑到Vasily Sokolov的修正,现在开仓

的追踪止损算法如下。
  1. 创建一个EA,用于自动追踪(跟踪)未平仓头寸的止损水平的工作。
  2. 在专家顾问中,创建一个有两个参数的输入参数块。"止损水平到盈亏平衡 "和 "追踪步骤"。
  3. 当有新的报价进来时,用OnTick( )处理它们。只有在当前符号上出现新的刻度线时,拖曳才会停止。
  4. 我们在收到OnTick事件的时候要求提供数据。
  5. 对于每个买入
  6. 头寸,我们确定当前价格相对于未结头寸价格的位置。
  7. 如果当前价格高于未平仓价格,我们要检查它上升到了什么水平。
  8. 如果当前价格已经达到输入参数中指定的 "无损止损 "水平,我们将 止损 损失 移动 到与 买入 头寸的开盘价相等的无损水平 否则我们什么都不做。
  9. 如果当前价格已经超过了 "止损平衡水平",其数值等于 "追踪止损",则 止损 买入 头寸的 开盘价水平
  10. ,其数值等于 "追踪止损水平",以此类推,直到价格达到为该头寸设置的止盈水平。
  11. 如果价格转向并达到 止损 的水平 ,则平仓
。 [Vasily Sokolov的追踪止损描述简化版本:
  1. 追踪止损处理发生在新的tick接收处,在OnTick函数中
  1. 追踪止损由两个连续的部分组成:
  2. 第一部分
  3. 对于每一个未平仓的头寸
  4. ,都会计算出价格,一旦达到价格,其止损就会移到Breakeven。
  5. 第二部分。在止损移至盈亏平衡点后,活动头寸的止损拉升算法被激活,遵循价格。

然后你应该遵循这个模式:

第一部分。盈亏平衡:
  • 买;
  • 卖;
第二部分。拉动止损:
  • 要买入;
  • 要卖出;

未结头寸的拖曳止损的算法的这个变体是最终的

,我继续按照它来写程序代码。

问候,弗拉基米尔。

 
VVT:

你好!如果你学会一步步移动止损 一次,那么必要时你可以移动100次,只要有空间就可以了;)

专家顾问根据策略进行调整,反之亦然。

你好!我在之前的帖子中已经提到,你的判断是正确的。问题是,在Vasily Sokolov的帮助下,我相对较快地形成了一种在未平仓头寸中追踪止损的算法,所以我将遵循它。

问候,弗拉基米尔。

 
你有一个聪明的方法来写专家。而且你将不需要一个市场。
 

我继续学习MQL5编程语言。之前,我发布了开始列举未结清头寸 的循环代码。现在,在循环开始后,我们开始对当前图表上的符号进行操作。

     {
     /* Для работы с символом создадим переменную _Symbol, в которой будем хранить имя символа текущего графика.
        Делаем запрос на сервер. Сервер возвращает нам символ соответствующей открытой позиции и автоматически
        выбирает позицию для дальнейшей работы с ней при помощи функций PositionGetDouble, PositionGetInteger,
        PositionGetString. Если получим от сервера ответ о том, что для текущего символа была выбрана позиция для 
        дальнейшей работы с ней, то в торговом терминале выводим соответствующее сообщение во вкладке "Эксперт".*/
      if(_Symbol==PositionGetSymbol(i))
         Print("Выбираем позицию для дальнейшей работы с ней"); //
     }

我将定期发布带有我自己评论的书面代码,以提供及时的反馈。如果我的代码或评论中有任何不准确之处,请本专题的参与者纠正我。

问候,弗拉基米尔。