新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1852

 
Mihail Matkovskij #:

但它确实增加了风险。马丁也是如此,平均法和其他类似策略也是如此。虽然,理解它的人都可以明智地使用。

相反,它减少了风险。在这里,我们需要选择正确的对冲资产,我们可以睡个好觉。但随着平均数的增加,睡眠常常受到干扰。

 
Mihail Matkovskij #:

这取决于什么地段有什么利润...我认为按利润对头寸进行分类会更好。并先关闭最胖的那几个!

这取决于为了什么:-)在信号中画出一条漂亮的曲线,并削减 "恢复系数",这一点是一样的...

 
Vitaly Muzichenko #:

相反,它减少了风险。在这里,你需要大致正确地选择正确的对冲资产,你就可以睡个好觉。但是,随着平均数的增加,睡眠常常受到干扰。

哦......所以你需要一个额外的资产来做这个?有趣的是...听起来像是风险/损失的分散...

我一直以为对冲是指同一工具上的对立头寸。

 
Mihail Matkovskij #:

啊......所以你需要一个额外的资产来做这个?有趣的是...听起来像是风险/损失的分散...

我一直以为套期保值是指同一工具上的对立头寸

这是锁定,来自锁这个词。

 
Tretyakov Rostyslav #:
检查

早上好,Rostislav!!!

你能评论一下昨天的变化吗,我不明白他们的逻辑。

//-------------------------------------------------------------------+
   Spread       = MarketInfo(Symbol(),MODE_SPREAD)*Point;
   MinLot       = MarketInfo(Symbol(),MODE_MINLOT);
   Balance      = AccountInfoDouble(ACCOUNT_BALANCE);
   FreeMargin   = AccountInfoDouble(ACCOUNT_MARGIN_FREE);
   avg_buy      = ObjectGetDouble(0,"AveragePriceLine0",OBJPROP_PRICE);
   avg_sell     = ObjectGetDouble(0,"AveragePriceLine1",OBJPROP_PRICE);
   Drawdown     = (Balance - FreeMargin)/Balance*100;
//-------------------------------------------------------------------+  Команда на удаление линий отображающую среднюю цену и текста
   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }
 
EVGENII SHELIPOV #:

早上好,Rostislav!!!

你能评论一下昨天的变化吗,我不明白他们的逻辑。


如果没有未平仓的订单,flag_close 得到 "0"

   if(CountTrade() == 0)
     {
      flag_close=0;

flag_close=0 ;对ClosseAll()的请求停止。

 
Tretyakov Rostyslav #:

如果没有未结订单,flag_close 将收到 "0"。

flag_close=0 ;对ClosseAll()的请求停止。

是的,我知道了。

你在删除对象时需要它。

有趣的是,如果旗帜被锁定在这个地方,专家顾问会变得很奇怪

 
EVGENII SHELIPOV #:

是的,我明白这一点。

为什么在删除对象时需要它。

有趣的是,如果你在这个地方封锁旗帜,专家顾问就开始表现得很奇怪。

这与删除对象没有关系

它是对没有命令的一种确定

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      if(ObjectFind(0,"signal4")==0&&CountTrade(0)<1)//для бай
        {
         ObjectDelete(0,"signal4");
        }
      if(ObjectFind(0,"signal3")==0&&CountTrade(1)<1)//для селл
        {
         ObjectDelete(0,"signal3");
        }
     }

你可以执行任何不需要没有订单的内部操作

此外,在这部分代码中还有很多不必要的东西。

这个变体将做与前一个变体相同的事情

   if(CountTrade() == 0)
     {
      flag_close=0;
      ObjectsDeleteAll(0,"AveragePriceLine");
      ObjectDelete(0,"signal4");
      ObjectDelete(0,"signal3");
     }
 
Tretyakov Rostyslav #:

物体的移除与什么有关?

这是关于确定是否没有订单的问题

而在里面你可以执行任何不需要订单的操作

此外,在这部分代码中还有很多不必要的东西。

这个变体将做与前一个变体相同的事情

我明白了,罗斯蒂斯拉夫。

我不明白为什么,如果我在这个函数中屏蔽了标志,EA就会开始一次打开和关闭100-200个订单。

 
Vitaly Muzichenko #:

这是锁定,来自锁这个词。

是的,但锁是用同样的地段打开的。而两个不同方向的订单是同时开的。套期保值是指当一笔交易进入跌势时,交易员在同一方向(我把不同方向混为一谈)以更大的手数开立头寸,暗示价格将逆转,以赚取更大手数的交易的利润,弥补更小手数的交易的损失或平均到0。

原因: