¿Tienes alguna táctica para lidiar con la loca? - página 62

 
Stells:

Buen día.

Igor, me parece que tu llamado MM es el mismo EA, y debería ser más rentable que el EA en el que se añade tu función de recuperar posiciones perdedoras.

La pregunta es ¿por qué no utiliza su MM como un EA independiente?


por fin una idea brillante.... - Sí, tienes razón, es una avalancha demasiado modificada, de la avalancha se mantuvo sólo la idea de bloqueo en el bloqueo ..., incluso el concepto de "corredor / canal de precios" ha cambiado, basado en la volatilidad del mercado actual, en lugar de la distancia para el próximo bloqueo

Nunca lanzaría un EA como independiente, se basa en el aumento constante de lotes para conseguir beneficios, pero al mismo tiempo, si mantenemos el control de los fondos disponibles antes de poner otro bloqueo, los resultados son bastante "fantásticos".es decir, es mejor hacer un beneficio dentro del spread si el precio comienza a retroceder sin alcanzar el TP que tomar "pérdidas" manteniendo mi avalancha alta, escribí sobre ello - si hago una pérdida (hasta ahora he establecido 300 $ en números fijos) entonces vamos a iniciar una avalancha o algo así

 
Igor, ¿podrías explicar un poco más este "arrastre obligatorio de fondos propios", no entiendo muy bien cómo debería funcionar dicho arrastre...?
 
renoshnik:
Igor, ¿podrías explicarme un poco más esto? "Labúsqueda obligatoria de fondos propios", no entiendo muy bien cómo debería funcionar esa búsqueda...
/жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
//+------------------------------------------------------------------+
//|Трал по эквити                                                    |
//+------------------------------------------------------------------+
/*
Функция вызывается в самом начале эксперта сразу за 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);
}

El código no es mío, ni siquiera lo he entendido aún, pero funciona al 100%.
 
renoshnik:
Igor, ¿podrías explicar un poco más este "arrastre obligatorio de fondos propios", no entiendo muy bien cómo debería funcionar dicho arrastre...?
El arrastre de equidad no es obligatorio - después de entrar en la zona de beneficios, puede cerrar los solapados con el mismo efecto y arrastrar el resto de la orden con un arrastre ordinario.
 
khorosh:
El arrastre sobre la equidad no es necesario. Después de entrar en la zona de beneficios, puede cerrar las órdenes superpuestas y arrastrar la orden restante con el mismo efecto.


Tal vez, pero hasta ahora tenía la idea de hacer una función universal para "tirar" en los resultados positivos de los EAs perdedores, mientras que tral en la equidad es sólo menos de una molestia - no hay necesidad de tener en cuenta el signo 4 (5), paradas mínimas, etc. - Sólo hay que introducir la función y ya está

ZS: Bueno, ¿cuál es la idea? renoshnik tienes otro EA en kodobase que no quiere funcionar en tu probador, no tengo tiempo hoy, pero puedes rehacer sllep() en el EA así

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

de esta manera se puede hacer sleep() durante un segundo

Creo que este EA mostrará mejores resultados :)

 
IgorM:


SZS: Bueno, ¿cómo es la idea? renoshnik tienes un EA más en kodobase que no quiere funcionar en tu probador, no tengo tiempo hoy, pero puedes rehacer sllep() en tu EA así:

puedes hacer sleep() durante un segundo más o menos

Creo que este EA mostrará grandes resultados :)

He resuelto este problema, http://voloshin-fxcci.blogspot.com/ mi Asesor Experto ha estado trabajando en la cuenta real desde enero. Hasta ahora (no lo gafe) todos los meses está en beneficio... Por cierto, aquí hay una instantánea de principios de mes, incluso los "lotes" (una orden de promediación) lograron funcionar...

He intentado hacer algo "tipo avalancha" en este EA, pero aún no sé cómo hacerlo.

Creo que el arrastre de equidad no funcionará para este EA en particular. Por lo que entendí, el equity trailing se aplica cuando sólo se abre UNA posición y muchas de ellas tienen pequeños drawdowns debido al ruido que no voy a tratar esperando que el precio se revierta. Pero entre todas estas posiciones hay UNA o DOS que se han hundido hasta un nivel "crítico" y no se espera que el precio pueda retroceder tanto. Sólo hay que "bloquear" estas pocas posiciones, ya que una búsqueda de fondos no funcionará....

 

Encontré esto en los archivos de la base de código == Presentación del programa Anti-Moose

 
renoshnik:

He encontrado esto en los archivos de codebase == Presentación del programa Anti-Moose


Si la avalancha pretende ganar en lotes, entonces tiene más sentido que el Anti-Loss vuelva a cero y que se recalcule el volumen total de todas las posiciones abiertas en cada dirección, mientras que el probador lo muestra así

no hay ningún tipo de arrastre sobre la equidad, simplemente se solapa a una reducción de x puntos. pero esto es un problema cuando hay muchas órdenes abiertas, ya que el aumento del solapamiento es mínimo

 
IgorM:


Acabo de empezar a construir mi "antilossoy" hoy si la avalancha tiene como objetivo alcanzar el punto de equilibrio, entonces tiene más sentido que el antilossoy vuelva a cero y se recalcule el volumen total de todas las posiciones abiertas en cada dirección, hasta ahora es así en el probador

Si la avalancha pretende ganar con los lotes, lo más lógico es retirarlos a cero y es imprescindible recalcular la cantidad total de lotes.


Puedo hacer una pequeña sugerencia... Si vamos a hacer "antilope", creemos que debería ser un script y sería bueno que al ejecutar este script pudiéramos establecer un "ticket" para la orden que debe ser llevada al Breakeven sin afectar a otras órdenes ....
 
renoshnik:

Puedo hacer una pequeña sugerencia... Si se quiere hacer un "antilope", tendría que ser un script y estaría bien que al iniciar el script se pudiera establecer un "ticket" para que una orden se lleve al Breakeven sin afectar a otras órdenes .....


medio día "torcer el probador" - la conclusión es una: el bloqueo es la aplicación de otra estrategia a una estrategia que dio pérdidas en un momento determinado, en combinación con una estrategia eficaz de bloqueo aumenta la eficiencia de la EA varias veces, pero.....

- el bloqueo debe ser colocado en una estrategia/indicador diferente

- aprender a bloquear "de la nada" (sin una estrategia) es ineficiente

- La colocación de órdenes pendientes de stop no es una solución, porque el nivel de una orden de stop debe calcularse en función de la volatilidad del instrumento.

Pero como resultado - utilizando mi estrategia de bloqueo de las pérdidas al azar observo 5 "reversiones" en la historia hasta ahora, mientras que trato de aumentar el volumen de la próxima cerradura, pero la conexión entre el tiempo y el dinero se ve claramente, cuanto mayor sea el aumento de la relación de bloqueo, más rápido se va a deshacer, pero el mayor drawdown

La reducción es menor en este caso, ya que he cambiado a la progresión aritmética del aumento del volumen del cierre en función de los volúmenes ya expuestos en el mercado

Razón de la queja: