Asesores Expertos: MA

 

MA:

Es un Asesor Experto muy simple que trabaja con la intersección de dos Moving Average.

MA_Expert_Advisor

Autor: Игорь Чугай

 
¿qué tf y pares?
 

usdjpy

m15

stop 375

take profit 530

ma 49

ma1 99

(cinco dígitos)

 

Hola . Vi un curioso Asesor Experto MA.mq5en su sitio. Francamente, me sentí atraído por la simplicidad de los cálculos, la presencia de stoploss y take profit, la simplicidad de los ajustes y el pequeño tamaño del archivo. El hecho de que sea gratuito también jugó un papel importante en mi elección. No sé programar, pero me complació la abundancia de comentarios en ruso en casi todas las líneas de código.

Inmediatamente descargué este milagro y decidí probarlo en MetaTrader 5 en EURUSD. Pero aquí me decepcionó un poco:

1 ) el Asesor Experto vació el depósito de 10000 USD en menos de una semana de tiempo histórico, y lo hizo en todos los marcos de tiempo - M1, M5, M15, H1;

2 ) el stoploss declarado estaba presente en la línea, pero no estaba presente en el gráfico y no se ejecutó, incluso si el beneficio alcanzó el valor de 1000 USD;

3 ) Take Profit se comportó de la misma manera: fue honestamente escrito en la línea, pero estaba ausente en el gráfico y, en consecuencia, no se ejecutó.

Obviamente , a caballo regalado no se le mira el diente, pero, no obstante, a este respecto, tengo una serie de preguntas que dirigirle:

1 ) si este programa se probó en su empresa antes de hacerlo público o no;

2 ) si su empresa no socava su credibilidad publicando versiones de programas que no funcionan (en cierto modo creo que este caso no es el único);

3 ) ¿es posible esperar que aparezca en la distribución una versión gratuita que funcione de este programa o de su análogo funcional?

Pido disculpas por las molestias y espero una cooperación a largo plazo, sobre todo teniendo en cuenta que su empresa es monopolista del software MetaTrader 5.

 
andreewwleonid:

Hola . Vi un curioso Asesor Experto MA.mq5en su sitio. Francamente, me sentí atraído por la simplicidad de los cálculos, la presencia de stoploss y take profit, la simplicidad de los ajustes y el pequeño tamaño del archivo. El hecho de que sea gratuito también jugó un papel importante en mi elección. No sé programar, pero me alegró ver la abundancia de comentarios en ruso para casi todas las líneas de código.

Inmediatamente descargué este milagro y decidí probarlo en MetaTrader 5 en EURUSD. Pero aquí me decepcionó un poco:

1 ) el Asesor Experto vació el depósito de 10000 USD en menos de una semana de tiempo histórico, y lo hizo en todos los plazos - M1, M5, M15, H1;

2 ) el stoploss declarado estaba presente en la línea, pero no estaba presente en el gráfico y no se ejecutó, incluso si el beneficio alcanzó el valor de 1000 USD;

3 ) Take Profit se comportó de la misma manera: fue honestamente escrito en la línea, pero estaba ausente en el gráfico y, en consecuencia, no se ejecutó.

Está claro que a caballo regalado no se le mira el diente, pero, no obstante, a este respecto tengo una serie de preguntas que le dirijo:

1 ) este programa se probó en su empresa antes de hacerlo público o no;

2 ) si su empresa no socava su autoridad publicando versiones de programas que no funcionan (en cierto modo creo que este caso no es el único);

3 ) ¿podemos esperar que aparezca en la distribución una versión de trabajo gratuita de este programa o su análogo funcional?

Pido disculpas por las molestias y espero una cooperación a largo plazo, sobre todo teniendo en cuenta que su empresa es monopolista del software MetaTrader 5.

1. ¿Cuántos decimales tiene en sus cotizaciones? ¿4 o 5? Veo que la toma y las paradas indicadas son para cotizaciones de cinco dígitos. Si tiene cotizaciones de cuatro dígitos, reduzca diez veces los tamaños de toma y parada indicados.

2. Usted describe su beneficio en la moneda de su depósito (1000 usd), y los tamaños de las órdenes de stop se indican en pips. No es necesariamente que el beneficio de 1000 usd será mayor en pips que el take profit en pips - todo depende del lote.

 

andreewwleonid:


¿Por qué no lee los comentarios anteriores? Allí el autor ha indicado qué par, qué marco temporal, etc.
 
//--- para trabajar con corredores que utilizan cotizaciones de 5 dígitos,
//--- multiplica los valores SL y TP por 10
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }


Basándonos en esta sección de código, podemos asumir que el búho está diseñado tanto para brokers de 5 dígitos como para brokers de 4 dígitos. Por otra parte, TP y SL se establecen en valores para los corredores de 4 dígitos y se vuelven a calcular si es necesario.

En general, por supuesto, sólo podemos aconsejar andreewwleonid no descargar todo y no lanzar indiscriminadamente lo primero que vino a la mano.....

 

¿Por qué os lo creéis? Sería comprensible que el autor saliera a rasgarse las vestiduras: "¿Quién se atreve a manchar una obra de mi arte?". Además, un buen Asesor Experto puede operar en diferentes pares con cotizaciones del mismo orden y diferentes marcos temporales. Pero con distinta rentabilidad y ajustes individuales para cada par. ¿Me equivoco?

Así que, una vez más, todo en orden.

1) El Asesor Experto fue puesto a prueba en el par EURUSD con un depósito de 10000 USD y la historia con 4 dígitos.

2) Los ajustes se tomaron cosido en el programa:

//--- parámetros de entrada

input int StopLoss=100;

input int TakeProfit=100;

input int MA_Period=57;

input int MA_Period1=3;

input int EA_Magic=12345;

input double Lote=1,0;

3) La prueba se realizó en varios marcos temporales (M1, M5, M15, H1). Está claro que casi nadie opera en el minuto, pero sin embargo....

4) El Stoploss no estaba indicado en el gráfico y no se ejecutó.

5) El Take Profit no estaba indicado en el gráfico y no se ejecutó.

6) El depósito se agotó en promedio en una semana de tiempo histórico.

Por cierto, la instrucción, que yo, según I Logic, supuestamente no estudié, sí contiene parámetros para USDJPY,

pero son radicalmente diferentes a los del programa.

No soy programador, pero sé leer programas. Alabo las clases de informática en la escuela, donde me introdujeron en Basic. Estoy analizando el texto.

//--- trabajar con corredores usando comillas de 5 dígitos,

//--- multiplique los valores SL y TP por 10.

STP = StopLoss;

TKP = TakeProfit;

if(_Digits==5 || _Digits==3)

{

STP = STP*10;

TKP = TKP*10;

}

return(0);

En la justa opinión de micle, este fragmento permite al programa trabajar con bastante seguridad tanto en cotizaciones de 4 como de 5 dígitos.

Este fragmento calcula sl y tp en una orden de compra:

mrequest.action = TRADE_ACTION_DEAL;// ejecución inmediata

mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // último precio de venta

mrequest.sl = NormaliseDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss

mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Toma de beneficios

mrequest.símbolo = _Símbolo;// símbolo

mrequest.volumen = Lote;// número de lotes a negociar

mrequest.magic = EA_Magic;// Número mágico

mrequest.type = ORDER_TYPE_BUY;// orden de compra

mrequest.type_filling = ORDER_FILLING_FOK;// tipo de ejecución de la orden - todo o nada

mrequest.desviación=100;// desviación del precio actual

Este fragmento calcula sl y tp en una orden de venta:

mrequest.action = TRADE_ACTION_DEAL;// ejecución inmediata

mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // último precio Bid

mrequest.sl = NormaliseDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss

mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Toma de beneficios

mrequest.símbolo = _Símbolo;// símbolo

mrequest.volumen = Lote;// número de lotes a negociar

mrequest.magic = EA_Magic;// Número mágico

mrequest.type= ORDER_TYPE_SELL;// orden de venta

mrequest.type_filling = ORDER_FILLING_FOK;// tipo de ejecución de la orden - todo o nada

mrequest.desviación=100;// desviación del precio actual

Al menos eso es lo que pone en los comentarios.

Pero, literatos, por favor muéstrenme el número de la línea donde STP, sl y TKP, tp se comparan con la cotización actual (o cotización de cierre de barra) y se hace una elección - cerrar la posición con una pérdida (ganancia) de 100 pips o mantenerla más. Yo no vi eso. Vi que la apertura y cierre de una posición está determinada por los ratios MA y el tamaño del saldo del depósito, pero no por la presencia de stop loss y take profit.

Ahora hay una pregunta legítima: "¿Quién me está tomando por tonto: el autor de un programa que no funciona o los propietarios del sitio que ofrecen a los visitantes un programa que no funciona?".

Y también, micle, te agradezco tu consejo de no descargarlo todo y de no ejecutar indiscriminadamente lo primero que te venga a mano. Hay un buen proverbio inglés que dice: "Para conocer el sabor de un pudin hay que comerlo". Probé este pudin y me indigesté. Pero el problema es que no soy programador y aún no me he estudiado las 4300 páginas del manual de MQL5, así que sólo me queda usar y estudiar los programas de otros. Y es muy frustrante cuando en lugar de un producto que funciona normalmente se obtiene un ... .

Entiendo que ningún trader en su sano juicio no pondrá a disposición del público un Asesor Experto que implemente una estrategia de trading que le dé de comer. Y no porque él es tan codicioso, pero simplemente si un número significativo de personas que el comercio de una manera uniforme, el mercado va a cambiar inmediatamente sus propiedades, y la estrategia o bien ser menos rentable, o incluso empezar a traer pérdidas. Entonces tendrá que empezar de nuevo. Pero es ridículo considerar este Asesor Experto como la implementación de una estrategia comercial rentable. ¿No está de acuerdo? Es más bien sólo una variante de un ejemplo de formación sobre el tema "Cómo construir y configurar un simple Asesor Experto de trabajo", lamentablemente hecho por un fracasado.

 
andreewwleonid:

Pero, literatos, por favor muéstrenme el número de la línea donde STP, sl y TKP, tp se comparan con la cotización actual (o cotización de cierre de barra) y se toma una decisión - cerrar la posición con una pérdida (ganancia) de 100 pips o mantenerla más tiempo. Yo no vi esto.

Los valores SL y TP se especifican en estas líneas:

mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit

La orden se envía al broker:

OrderSend(mrequest,mresult);

SL y TP se ejecutan en el lado del corredor, por lo que el programa no necesita"sl y tp para comparar con la cotización actual".

-----------------------------

Probablemente el Asesor Experto no está funcionando correctamente porque su cuenta es de Ejecución de Mercado y el Asesor Experto está escrito para Ejecución Instant ánea.

 

Hola honorable señor nasdaq. Es bueno recibir el asesoramiento de expertos. Entiendo lo de las órdenes. Entonces, el autor no dibujó estas dos líneas para no cargar el programa y el gráfico. Bien. Pero corrí el programa en Strategy Tester Visualisation, o en ruso en Strategy Tester MT5. Por favor, si no es difícil, dígame en qué modo esta utilidad prueba los Asesores Expertos: Ejecución de Mercado o Ejecución Instantánea y si es posible cambiar esta configuración.

 
andreewwleonid:

en que modo esta utilidad prueba los Asesores Expertos: Ejecución de Mercado o Ejecución Instantánea y si esta configuración puede ser cambiada.

Qué tipo de ejecución en la cuenta conectada (o más bien símbolo), prueba en este modo.