Você tem alguma tática para lidar com o loca? - página 62

 
Stells:

Bom dia.

Igor, parece-me que sua chamada MM é a mesma EA, e deve ser mais lucrativa do que a EA onde sua função é adicionada para recuperar posições perdidas.

A questão é por que você não usa seu MM como EA independente?


finalmente uma ideia brilhante.... - Sim, você está certo, é uma avalanche muito modificada, a partir de uma avalanche permaneceu apenas a idéia de trancar na fechadura ..., mesmo o conceito de "corredor / canal de preço" mudou, com base na volatilidade atual do mercado, em vez da distância para a próxima fechadura

Eu nunca lançaria uma EA como independente, ela se baseia no aumento constante de lotes para obter lucros, mas ao mesmo tempo, se mantivermos o controle dos fundos disponíveis antes de colocar outro cadeado, os resultados são bastante "fantásticos".ou seja, é melhor lucrar com o spread se o preço começar a voltar sem chegar ao TP do que ter "perdas" segurando minha avalanche alta, escrevi sobre isso - se eu fizer uma perda (até agora eu defini 300$ em números fixos) então vamos começar uma avalanche ou algo assim

 
Igor, você poderia elaborar um pouco mais sobre essa "rede de arrasto compulsória", eu não entendo bem como tal rede deve funcionar...
 
renoshnik:
Igor, você poderia elaborar um pouco mais sobre essa "rede de arrasto compulsória", eu não entendo bem como tal rede deve funcionar...
/жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//|Трал по эквити                                                    |
//+------------------------------------------------------------------+
/*
Функция вызывается в самом начале эксперта сразу за 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);
}

O código não é meu, eu ainda nem o entendi, mas funciona 100%.
 
renoshnik:
Igor, você poderia elaborar um pouco mais sobre essa "rede de arrasto compulsória", eu não entendo bem como tal rede deve funcionar...
A rede de arrasto de equidade não é obrigatória - após entrar na zona de lucro, você pode fechar as sobrepostas com o mesmo efeito e arrastar a ordem restante com uma rede de arrasto comum.
 
khorosh:
Após entrar na zona de lucro, você pode fechar as ordens sobrepostas e arrastar a ordem restante com o mesmo efeito.


Talvez, mas até agora eu tive a idéia de fazer uma função universal para "puxar" em resultados positivos de perda de EAs, enquanto tral on equity é apenas menos incômodo - não há necessidade de levar em conta o sinal 4 (5), paradas mínimas, etc. - Basta conectar a função e pronto.

ZS: Bem, qual é a idéia? renoshnik você tem outro EA em kodobase que não quer trabalhar em seu testador, eu não tenho tempo hoje, mas você pode refazer sllep() no EA desta maneira

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

sobre este modo você pode fazer dormir() por um segundo

Acho que esta EA vai mostrar melhores resultados :)

 
IgorM:


SZS: Bem, como é a idéia? renoshnik você tem outro EA em kodobase que não quer trabalhar em seu testador, eu não tenho tempo hoje, mas você pode refazer sllep() no EA desta maneira:

você pode dormir() por um segundo ou mais

Acho que esta EA vai mostrar grandes resultados :)

Resolvi este problema, http://voloshin-fxcci.blogspot.com/ meu Consultor Especialista tem trabalhado em conta real desde janeiro. Até agora (não dê azar) todos os meses está em lucro... A propósito, aqui está um instantâneo do início do mês, mesmo "lotes" (uma ordem média) conseguiram funcionar...

Eu tentei fazer algo "tipo avalanche" neste EA, mas ainda não sei como fazê-lo.

Acho que a rede de arrasto de equidade não funcionará para esta EA em particular. Pelo que entendi, a equidade é aplicada quando apenas UMA posição é aberta e eu tenho muitas posições com algum drawdown devido ao "barulho" com o qual não vou lidar esperando que o preço reverta. Mas entre todas essas posições há UMA ou DUAS que caíram para um nível "crítico" e não há expectativa de que o preço seja capaz de retroceder até esse ponto. São apenas estas poucas posições que precisam ser "trancadas" - então uma rede de arrasto de equidade não funcionará....

 

Encontrado nos arquivos do codebase == Introduzindo o programa Anti-Moose

 
renoshnik:

Encontrei isto nos arquivos do codebase == Introduzindo o programa Anti-Moose


Comecei hoje mesmo a construir meu "Anti-perda". Se a avalanche visa ganhar ao perder lotes, então faz mais sentido que o Anti-perda volte a zero e o volume total de todas as posições abertas em cada direção deve ser recalculado, enquanto o testador tem os seguintes desenhos

não há arrasto no patrimônio, simplesmente nos sobrepomos em um drawdown de x pontos. mas isto é um problema quando há muitas ordens em aberto, já que o aumento da sobreposição é mínimo

 
IgorM:


Comecei hoje mesmo a construir minha "antilossoy", se a avalanche visa romper o equilíbrio, então faz mais sentido que a antilossoy volte a zero e o volume total de todas as posições abertas em cada direção deve ser recalculado, até agora é assim no testador

Comecei a fazer minha "antilosse" hoje. se uma avalanche visa ganhar de lotes, então é mais lógico retirar de zero, e é imperativo recalcular a quantidade total de lotes.


Permitam-me fazer uma pequena sugestão... Se vamos fazer "antilope", achamos que deveria ser um roteiro e seria bom se, quando executarmos esse roteiro, pudéssemos definir um "bilhete" para o pedido que deveria ser levado ao Breakeven sem afetar outras ordens ....
 
renoshnik:

Posso fazer uma pequena sugestão... Se você quiser fazer um "antilope", você teria que ser um roteiro e seria bom se, ao iniciar o roteiro, você pudesse definir um "bilhete" para um pedido a ser levado ao Breakeven sem afetar outros pedidos .....


meio dia "torcendo o testador" - a conclusão é uma: bloqueio é a aplicação de outra estratégia a uma estratégia que sofreu perdas em um determinado momento, em combinação com um bloqueio de estratégia eficaz aumenta a eficiência de uma EA várias vezes, mas.....

- o cadeado deve ser colocado em uma estratégia/indicador diferente

- o bloqueio do aprendizado "do nada" (sem uma estratégia) é ineficiente

- fazer pedidos pendentes não é uma solução, pois o nível de um pedido de parada deve ser calculado em função da volatilidade do instrumento.

Mas como resultado - usando minha estratégia de bloqueio de perdas aleatórias, observo 5 "reversões" na história até agora, enquanto tento aumentar o volume da próxima fechadura, mas a conexão entre tempo e dinheiro é claramente vista, quanto maior o aumento da taxa de bloqueio, mais rápido ele se desdobrará, mas maior o saque

O Drawdown é menor neste caso, já que mudei para a progressão aritmética do aumento do volume de fechaduras, dependendo dos volumes já expostos no mercado

Razão: