你有什么策略来对付Loca吗? - 页 62

 
Stells:

下午好。

伊戈尔,在我看来,你所谓的MM是同一个EA,它应该比添加了你的功能来赢回亏损头寸的EA更有利可图。

问题是你为什么不把你的MM作为一个独立的EA使用?


终于有了一个好主意....- 是的,你是对的,这是对雪崩的修改,从雪崩中只剩下锁上锁的想法......,甚至 "走廊/价格通道 "的概念也发生了变化,基于当前市场的波动,而不是下一个锁的距离。

我永远不会推出一个独立的EA,它是基于不断增加手数来实现利润,但同时,如果我们在设置另一个锁之前控制可用资金,结果是相当 "奇妙 "的。也就是说,如果价格开始回落而没有达到ТР,最好在价差内获利,而不是采取 "损失",保持我的雪崩高位,我写过 - 如果我做了一个损失(我在固定数字中设置了300美元),那么让我们开始雪崩或类似的事情。

 
伊戈尔,你能不能对这个"强制性股权拖网"多说几句,我不太明白这样的拖网应该如何运作?
 
renoshnik:
伊戈尔,你能不能对这个"强制性股权拖网"多说几句,我不太明白这样的拖网应该如何运作?
/жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//|Трал по эквити                                                    |
//+------------------------------------------------------------------+
/*
Функция вызывается в самом начале эксперта сразу за int Start(), вызов происходит таким образом :

//удаляем запрет на торговлю после удаления всех ордеров 
  if(OrdersTotal()<1){
    if(GlobalVariableCheck("stop")){GlobalVariableDel("stop");}  
    gEqviti=AccountBalance(); 
  } 
//тралим эквити
  if(EcvitiTral3(EqwTralStep)){return(0);}
  if(GlobalVariableCheck("stop")){return(0);}

если еквити поднялась над балансом, то она блокирует все стальные функции эксперта и тралит.
теперь по переменным : в глобальных переменных static double gEqviti;
во внешних переменных extern double EqwTralStep=0.03; 
шаг трейлинга в процентах от эквити extern bool WithoutLoss=false; разрешение на применение метода безубытка
работа фунции : при превышении эквити над балансом она запоминает уровень баланса как нулевой, 
при котором надо закрывать- это работа с безубытком, при дальнейшем превышении эквити 
на размер EqwTralStep в прцентах она передвигает уровень закрытия выше, 
если скорость превышения большая то функция увеличивает шаг квадратично .

*/
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
bool EcvitiTral3(double EqvTralStep){
//if(GlobalVariableCheck("stop")){GlobalVariableDel("stop");}  
if(OrdersTotal()<1){gEqviti=AccountBalance();return(false);}

   if(WithoutLoss){
    if(AccountEquity()>=AccountBalance()){mlots = 0.01;CloseAllFirstProfit();
       WithoutLoss=false;Print("CloseAll");GlobalVariableDel("stop");return(false);}
    return(true);
   }
   
   if(AccountEquity()>AccountBalance()){
      if(AccountEquity()-AccountBalance()>((AccountBalance()/100)*(EqvTralStep*2))){EqvTralStep=EqvTralStep+EqwTralStep;}      
      if(AccountEquity()>(gEqviti+(gEqviti/100*EqvTralStep))){
        gEqviti=gEqviti+(gEqviti/200*EqvTralStep);
        if(!GlobalVariableCheck("stop")){GlobalVariableSet("stop",0);}
      }
      if(AccountEquity()<=gEqviti){mlots = 0.01;CloseAllFirstProfit();
         Print("CloseAll");GlobalVariableDel("stop");return(false);}
      else{Comment(AccountFreeMargin()+AccountMargin(),"\n",
                 "EQUITY TRALING MODE\n",
                 "EQUITY TRALING STEP   =",EqvTralStep," %",
                 "\nACCOUNT BALANS         = ",AccountBalance(),
                 "\nCLOSE LEVEL                  = ",gEqviti,
                 "\nACCOUNT EQUITY        = ",AccountEquity(),
                 "\nNEXT STEP                     = ",gEqviti+(gEqviti/100*EqvTralStep));
               //  Print("AccountEquity() = ",(AccountBalance()/100)*(EqvTralStep));
                 return(true);
      }
    }else{GlobalVariableDel("stop");}  

return(false);
}

这段代码不是我的,我甚至还没有理解它,但它100%的工作。
 
renoshnik:
伊戈尔,你能不能对这个"强制性股权拖网"多说几句,我不太明白这样的拖网应该如何运作?
股权拖网不是强制性的--在进入盈利区后,你可以以同样的效果关闭重叠的,用普通的拖网来拖动剩余的订单。
 
khorosh:
遍历股权是没有必要的。 在进入盈利区后,你可以关闭重叠的订单,并遍历剩余的订单,效果相同。


也许吧,但到目前为止,我的想法是做一个通用的功能,用于 "拉动 "亏损的EA的正面结果,而tral on equity只是不那么麻烦--不需要考虑到4(5)号,最小的停止,等等。- 只需插入函数,就可以了

ZS:嗯,有什么想法?renoshnik 你在kodobase中的另一个EA 在你的测试器中不工作,我今天没有时间,但你可以在EA中重做sllep(),像这样

      ..................
      datetime opentim=OrderOpenTime();
      ........
// в start()
      if ((TimeLocal()-opentim)<1000) return(0);

这样,你可以让sleep()持续一秒钟

我认为这个EA 会显示出更好的结果 :)

 
IgorM:


SZS: 嗯,这个想法怎么样?renoshnik 你在kodobase中还有一个EA,它不想在你的测试器中工作,我今天没有时间,但你可以像这样在你的EA中重新做sllep()。

你可以在一秒钟左右做sleep()。

我认为这个EA 会显示出很好的效果 :)

我解决了这个问题,http://voloshin-fxcci.blogspot.com/,我的专家顾问从一月份开始就在真实账户上工作了。到目前为止(不要扫兴),每个月都在盈利...顺便说一下,这是月初的一个快照,即使是 "手"(一个平均数的订单)也成功了......

我试图在这个EA中做一些"类似雪崩"的事情,但我还不知道该怎么做。

我认为,股权拖网对这个EA 尤其不起作用。根据我的理解,股权追踪是在只开一个头寸的情况下进行的,而我有很多头寸,由于 "噪音 "而有一些缩减,我不打算处理这些问题,等待价格逆转。但在所有这些头寸中,有一两个头寸已经下降到了 "关键 "水平,而且没有人期望价格能够回落到那么远。只有这几个位置需要被 "锁定"--那么股权拖网就不起作用了....。

 

在代码库的档案中发现了这个==介绍Anti-Moose方案

 
renoshnik:

我在codebase的档案中发现了这个==介绍Anti-Moose计划


我今天刚开始建立我的 "反亏损"。 如果雪崩的目的是在亏损的手数上赚钱,那么反亏损回到零更有意义,每个方向的所有开仓的总成交量应该重新计算,而测试器显示的结果是一样的。

我们根本没有对股权进行拖曳,我们只是在缩减X点时进行重叠。但当有许多未结订单时,这是一个问题,因为重叠的增加是最小的。

 
IgorM:


我今天刚开始建立我的 "反亏损",如果雪崩的目标是盈亏平衡,那么反亏损返回到零是更有意义的,每个方向的所有未结头寸的总量应该被重新计算,到目前为止,在测试器中是这样的

我今天刚开始做我的 "antilosse"。如果雪崩的目的是要从手数中赚取,那么从零开始提取是比较合理的,而且必须重新计算手数的总数。


我可以提出一个小建议吗?如果我们要做 "羚羊",我们认为它应该是一个脚本,如果当我们运行这个脚本时,我们可以为订单设置一个 "票据",这个订单应该被带到盈亏平衡点,而不影响其他订单,那就更好了....。
 
renoshnik:

我可以提出一个小建议吗?如果你想做一个 "羚羊",你将不得不成为一个脚本,如果当你启动脚本时,你可以为一个订单设置一个 "票",在不影响其他订单的情况下被带到盈亏平衡点,那就更好了.....。


半天的 "扭曲测试器"--结论是一个:锁定是将另一个策略应用于在某一时间点给予损失的策略,与一个有效的策略锁定相结合,使EA的效率提高数倍,但.....

- 锁定应该放在不同的策略/指标上

- 学习锁定 "突然"(没有战略)是低效的。

- 下挂单不是一个解决方案,因为必须根据工具的波动性来计算止损单的水平。

但结果是--使用我的锁定随机损失的策略,到目前为止,我在历史上观察到5次 "逆转",同时我试图增加下一次锁定的量,但时间和金钱之间的联系被清楚地看到,锁定比例增加得越高,解套就越快,但缩水就越高

在这种情况下,跌幅较小,因为我已经根据市场上已经表现出来的成交量,将锁仓量的增加改为了算术级数。