Conozca más sobre otras "Estrategias de negociación" - página 3

 
luenbo:

Este tipo de estrategia se llama martingala, es mejor utilizarla con unstop loss si no su cuenta se romperá tarde o temprano.

Y por lo general se adapta a un mercado de fluctuación. Si usted puede combinar estaestrategia con laestrategia de seguimiento de la tendencia, el que va a dar su mejor rendimiento.

Pero siempre es difícil estimar si el mercado es plano o tendencial~

¿Puedes adjuntar un EA que demuestre que esto es así?
 
Ubzen:

Descripción: El UbzenA_20130725 es un sistema que coloca random_trades. Agrega a las operaciones negativas cuando el número de -pips excede el bollinger_bands pips. Yo lo consideraría un scalper. Incluye un stoploss utilizando la moneda real de depósito $. El take profit es también la moneda real $. El volume_size utiliza un time_passage para aumentar el volumen (si el sistema sigue siendo negativo). Me gusta este volume_sizing porque usted puede dial-up o dial-down la agresión en función de su apetito.

  • -Pros: Capacidad para sobrevivir a varios años de pruebas y condiciones de mercado.
  • -Contra: No hay que hacerse rico rápidamente. Requiere un capital de inversión relativamente grande.

No hay ninguna optimización hecha a este sistema. Cualquier sugerencia de mejora, positiva o negativa (simplemente no sea grosero al respecto).

  • Su sistema es interesante, voy a tener una mirada más cercana a ella. Obviamente el 30% de beneficio en 5 años no es mucho pero es la única forma de controlar el drawdown.
  • ¿Por qué lo consideras un scalper? No es un scalper en mi opinión.
  • ¿Por qué pones SL=0.00001 y TP=999999999.00000 en todas tus órdenes?
 
angevoyageur:
  • Su sistema es interesante, voy a tener una mirada más cercana a ella. Obviamente el 30% de beneficio en 5 años no es mucho pero es la única manera de controlar el drawdown.
  • ¿Por qué lo consideras un scalper? En mi opinión no es un scalper.
  • ¿Por qué estás estableciendo SL=0.00001 y TP=9999999.00000 en todas tus órdenes?

1) Suelo centrarme en los draw-downs. La gente tiende a referirse a mí como un grinder. Prefiero las curvas lentas y constantes en comparación con las curvas erráticas y salvajes. Si el draw-down es de $1500 en lotes de 0.01 de base. Es más fácil para mí imaginar lo que pasaría en lotes base de 0,02.

2) El SysTkePftVal de 5 ha sido Pips con algunas versiones. Supongo que en este caso es de 5$ por lo que no parece mucho scalper. Sin embargo, a medida que avanzan los lotes actuará como scalper para tamaños mayores.

3) Desconocimiento de la programación (supongo). Cuando empecé con mql5, me daba errores al intentar enviar órdenes con sl y tp de cero. Esa era mi forma de evitarlo.

 
Ubzen:

1) Tiendo a centrarme en las bajadas de tensión. La gente tiende a referirse a mí como un triturador. Prefiero las curvas lentas y constantes en comparación con las curvas erráticas. Si el draw-down es de $1500 en lotes de 0.01 de base. Es más fácil para mí imaginar lo que pasaría en lotes base de 0,02.

2) El SysTkePftVal de 5 ha sido Pips con algunas versiones. Supongo que en este caso es de 5$ por lo que no parece mucho scalper. Sin embargo, a medida que avanzan los lotes actuará como scalper para tamaños mayores.

3) Desconocimiento de la programación (supongo). Cuando empecé con mql5, me daba errores al intentar enviar órdenes con sl y tp de cero. Esa fue mi manera de evitarlo.

Sé que el estilo de codificación es una preferencia personal, pero cuando se publica el código supongo que es para que otros lo lean, así que me permito algunas sugerencias/observaciones:

  • Haz comentarios
  • Principalmente si estás usando nombres de funciones crípticas (para otros) (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Usa el estilizador (CTRL+,) para ordenar tu código.
  • Se permiten espacios entre líneas de código.

¿Qué es más legible?

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest& Trade){
    if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL){return;} double Price=0;
    if(Type==ORDER_TYPE_BUY){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);}
    if(Type==ORDER_TYPE_SELL){Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);}
    Trade.price=Price;//////////////////////////////////////////
    double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);
    if(Type==ORDER_TYPE_BUY){Trade.sl=SymPoint;  Trade.tp=999999999;}
    if(Type==ORDER_TYPE_SELL){Trade.tp=SymPoint; Trade.sl=999999999;}
}

o

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double Price=0;

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

   if(Type==ORDER_TYPE_SELL)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_BID);

   Trade.price=Price;

   double  SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }
   if(Type==ORDER_TYPE_SELL)
     {
      Trade.tp=SymPoint; Trade.sl=999999999;
     }
  }
 

Como en la función anterior sólo se procesan órdenes de COMPRA y VENTA, se puede utilizar esta sintaxis en mql5:

void SetTradePrices(ENUM_ORDER_TYPE Type,MqlTradeRequest &Trade)
  {
   if(Type!=ORDER_TYPE_BUY && Type!=ORDER_TYPE_SELL)
      return;

   double SymPoint=SymbolInfoDouble(CurSetSymbol,SYMBOL_POINT);

   Trade.price    =SymbolInfoDouble(CurSetSymbol,Type==ORDER_TYPE_SELL ? SYMBOL_BID : SYMBOL_ASK);
   Trade.sl       =Type==ORDER_TYPE_BUY  ? SymPoint : 999999999;
   Trade.tp       =Type==ORDER_TYPE_BUY  ? 999999999 : SymPoint;
  }
 
angevoyageur:

Sé que el estilo de codificación es una preferencia personal, pero cuando se publica el código supongo que es para que otros lo lean, así que me permito algunas sugerencias/observaciones:

  • Hacer comentarios
  • Principalmente si estás usando nombres de funciones crípticas (para otros) (ClsSymSetPos, YesLstTrdWin, YesLstTrdWin...)
  • Usa el estilizador (CTRL+,) para ordenar tu código.
  • Se permiten espacios entre líneas de código.

¿Qué es más legible?

o

Gracias por las sugerencias. Prefiero explicar para los que quieren entender el código. Obviamente, mi estilo es más fácil de entender. En tu post de arriba has utilizado dos tipos diferentes de estilos de corchetes. Me pregunto por qué.

   if(Type==ORDER_TYPE_BUY)
     {
      Trade.sl=SymPoint;  Trade.tp=999999999;
     }

vs

   if(Type==ORDER_TYPE_BUY)
      Price=SymbolInfoDouble(CurSetSymbol,SYMBOL_ASK);

Ese es el tipo de preguntas con las que tendré que lidiar. A algunas personas les gustan los corchetes... otras los odian. A algunos les gustan los comentarios línea por línea ... Yo, por ejemplo, lo odio. Prefiero ver una descripción en la cabecera de cada función. En mi opinión crea mucho más trabajo para algo que la mayoría de la gente no modificaría. Una vez más, para los interesados, estoy más que dispuesto a explicar.

 
angevoyageur: Como en la función anterior sólo se procesa la orden de COMPRA y VENTA se puede utilizar esta sintaxis en mql5 :
Cool thx.
 
Ubzen:

Gracias por las sugerencias. Prefiero explicar para los que quieren entender el código. Obviamente, mi estilo es más fácil de entender. En tu post de arriba has utilizado dos tipos diferentes de estilos de corchetes. Me pregunto por qué.

vs

Ese es el tipo de preguntas con las que tendré que lidiar. A algunas personas les gustan los corchetes... otras los odian. A algunos les gustan los comentarios línea por línea ... Yo, por ejemplo, lo odio. Prefiero ver una descripción en la cabecera de cada función. En mi opinión crea mucho más trabajo para algo que la mayoría de la gente no modificaría. Una vez más, para los interesados, estoy más que dispuesto a explicar.

Para la primera los corchetes son obligatorios ya que se deben ejecutar 2 instrucciones cuando la condición es verdadera. Para el segundo no son obligatorios (1 instrucción), pero no hay problema en añadir paréntesis también por supuesto.
 
angevoyageur: Para el primero los corchetes son obligatorios ya que se deben ejecutar 2 instrucciones cuando la condición es verdadera. Para el segundo no son obligatorios (1 instrucción), pero no hay problema en añadir paréntesis también por supuesto.

Sí, es cierto. Siempre empiezo con if(){;} y no tengo que preocuparme por ello :P ... gracias de nuevo.

ps> los espacios en blanco en tu código me están volviendo locossssssss.

 

La media siempre está bien, cuando se tiene un gran tamaño de lote y se quiere salir, puede que no haya volumen para salir al precio que se quiere.

cuando las noticias se liberan, me pregunto si este sistema puede sobrevivir como aud estos días

Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
Documentation on MQL5: Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation
  • www.mql5.com
Standard Constants, Enumerations and Structures / Chart Constants / Chart Representation - Documentation on MQL5
Razón de la queja: