Función ICustom - página 17

 

¡Bien! Gracias

 

Así que esto es lo que he llegado después de leer la página de icustom.

int ergodictrend;

double ergodic1,ergodic2,ErgodicBuffer,Signal_Buffer;

ergodic1 = iCustom(NULL, 0, "Ergodic Osc",ErgodicBuffer,0,0);

ergodic2 = iCustom(NULL, 0, "Ergodic Osc",Signal_Buffer,0,1);

if(ergodic1>ergodic2) ergodictrend = 1;

if(ergodic1<ergodic2) ergodictrend = -1;

Pero ahora sólo abre órdenes de venta.

¿Qué estoy haciendo mal?

 
OneandOnly666:
Así que hasta aquí he llegado después de leer la página de icustom.

int ergodictrend;

double ergodic1,ergodic2,ErgodicBuffer,Signal_Buffer;

ergodic1 = iCustom(NULL, 0, "Ergodic Osc",ErgodicBuffer,0,0);

ergodic2 = iCustom(NULL, 0, "Ergodic Osc",Signal_Buffer,0,1);

if(ergodic1>ergodic2) ergodictrend = 1;

if(ergodic1<ergodic2) ergodictrend = -1;

Pero ahora sólo abre órdenes de venta.

¿Qué estoy haciendo mal?

Depende del resto del código

El código que has puesto parece correcto

 
mladen:
Depende del resto del código El código que has puesto parece correcto

Estoy usando un simple (ergodictrend0) para las órdenes de compra.

Sin ellos el EA hace órdenes de compra y venta como debería. Acabo de añadir esto para que siga la tendencia del ergodic, órdenes de compra cuando el ergodic-line está sobre el signal-line y órdenes de venta cuando el ergodic-line está bajo el signal-line.

Si sigo el indicador en el gráfico, no hace las órdenes de venta y compra que debería hacer, en cambio sólo abre las órdenes de venta.

 
OneandOnly666:
Estoy usando un simple (ergodictrend0) para las órdenes de compra.

Sin ellos el EA está haciendo órdenes de compra y venta como debería. Acabo de añadir esto para que siga la tendencia de la ergodic, órdenes de compra cuando la ergodic-line está por encima de la signal-line y órdenes de venta cuando la ergodic-line está por debajo de la signal-line.

Si sigo el indicador en el gráfico, no hace las órdenes de venta y compra que debería hacer, en su lugar sólo abre las órdenes de venta.

¿Por qué no utiliza (ergodictrend==-1) para la orden de venta y (ergodictrend==1) para la orden de compra?

 
mladen:
¿Por qué no usas (ergodictrend==-1) para la orden de venta y (ergodictrend==1) para la orden de compra?

Si hago eso el backtest tarda más tiempo y no hace ninguna compra o venta.

Extraño, ¿no es lo mismo que mi forma de escribirlo?

 
OneandOnly666:
Si hago eso el backtest tarda más tiempo y no hace ninguna compra o venta. Es extraño, ¿no es lo mismo que mi forma de escribirlo?

Compruebe el resto del código

Esas condiciones no deberían ralentizar el EA y están bien

 
mladen:
Comprueba el resto del código Esas condiciones no deberían ralentizar el EA y están bien

Si no uso la ergodictrend en absoluto, no se ralentiza. Sólo cuando escribo (ergodictrend==1) y (ergodictrend==-1)

Podría estar equivocado. De cualquier manera no hace ninguna orden de compra cuando debería hacerlo cuando uso (ergodictrend0) y no hace ninguna orden de compra o venta cuando lo hago a tu manera.

Es algo en el indicador Ergodic que no funciona con mi EA.

No sé cómo subir el indicador aquí para que lo veas, pero quizás ya lo tengas.

 
OneandOnly666:
Si no utilizo el ergodictrend en absoluto, no se ralentiza. Sólo cuando escribo (ergodictrend==1) y (ergodictrend==-1)

Esa parte del código no puede ralentizar el EA

Por favor, como te dije, revisa el resto de tu código y lo que se hace en él

Todo lo mejor

 
mladen:
Esa parte del código no puede ralentizar el EA

Por favor, como te dije, revisa el resto de tu código y lo que se hace en él

Todo lo mejor

De acuerdo.

Gracias por la ayuda, lo revisaré y veré si puedo encontrar el problema.