Función ICustom - página 3

 

Principalmente para probar/verificar

Yo desarrollo mis estrategias con un indicador, y quiero verificar que el EA está trabajando de la misma manera que el indicador. Si consigo un poco más de experiencia con MT4 bajo mi cinturón, tal vez puedo hacer la carne de la lógica del indicador de una subrutina o una DLL y luego llamarlo desde mi indicador y EA.

Cuando se utiliza el probador, puede abrir un gráfico. Si pudiera anular esa lógica podría poner objetos en ese gráfico también.

¿Alguien conoce algún EA que te muestre gráficamente lo que está haciendo?

 

Hice mi primer ICustom usando Fisher m11 como la costumbre. Muestra el indicador en el probador que es bonito gráfico pero es un perdedor la mayor parte del tiempo. Fisher m11 es un indicador y necesita estar en esa carpeta. Fisher Auto EA m11 debe estar en la carpeta de expertos. Esta es la forma en que lo coloqué en el EA:

iCustom(NULL,0, "Fisher_m11",Fisher_Period, IndexSmoothing,PriceSmoothing,0);

Este es el formato para usarlo: double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)

Puede ayudar a algunos que están trabajando en la creación de sus propios EAs.

Archivos adjuntos:
 

Tengo una pregunta similar.

¿Alguien sabe cómo utilizar

SHI_SilverTrendSigAlert

y

SilverTrend_Signal Con Alerta v3

en un EA?

Necesito una ayuda profesional.

 

SilverTrend es bueno para el comercio, pero la señal se enciende y se apaga hasta que la barra se cierra, lo que puede ser difícil de hacer un EA. He incluido un zip de 12 Plata EAs para que usted pueda ver.

Archivos adjuntos:
 

Sólo quería aclarar los valores finales de la línea iCustom en mi cabeza.

Línea y desplazamiento

Así que si tengo un indicador como VQ que sólo tiene una línea gráfica y lo que para averiguar, en la vela cerrada anterior, si se señaló hacia arriba Flecha para una condición de compra o si se señaló una condición de venta por ir hacia abajo Flecha tendría que establecer dos condiciones como;

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

[/code]

So the above is going to check for an up condition (up) or sell (down) condition on the closed bar, correct?

Then my Buy and Sell code should be; correct?

//Buy

if (VQ0>VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

[/code]

Now if I wanted to add a second indicator so that TWO conditions need to be met at the same time to trigger a trade, it has two graphical lines (Don't know if it matters by how many lines it has, the indicator knows what it's Buy and Sell conditions are, correct?) My code would change to;

[code]

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

double QQEA0 = iCustom(NULL, 0, "QQEA",5,14,4.236, 1, 1);

double QQEA1 = iCustom(NULL, 0, "QQEA",5,14,4.236, 2, 1);

and Buy and Sell code should be

[code]

//Buy

if (VQ0>VQ1 && QQEA0>QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && QQEA0<QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

Editar: Acabo de hacer una prueba de espalda y parece estar operando como cada M30 (Chart TF). Sólo quiero que inicie el comercio SÓLO en la primera condición de señal y luego esperar hasta la próxima condición de señal opuesta. Parece que cuando ambos indicadores están de acuerdo en una compra, entonces se negocia y luego, cuando se cierra esa operación, continúa otra operación de compra en la siguiente vela si las condiciones se siguen cumpliendo. Eso no es lo que quiero Sólo quiero una operación por señal de compra/venta. Gracias

Adjunto dos EA's uno llamado Mi Primer EA que alguien modificó para mí porque pensó que las condiciones estaban mal y otro que hice usando una plantilla llamada YourExpertAdvisor. ¿Son ambos correctos?

Gracias

Archivos adjuntos:
 

Si lo entiendo bien, usted quiere que su EA trate una serie ininterrumpida de concordancia de indicadores como "una señal", en lugar de que cada ocasión de concordancia sea una señal.

Una forma de hacerlo, es hacer un EA stateful y utilizar un diseño como el siguiente:

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

 
ralph.ronnquist:
Si lo entiendo bien, quieres que tu EA trate una serie ininterrumpida de concordancia de indicadores como "una señal", en lugar de que cada ocasión de concordancia sea una señal.

Una forma de hacerlo, es convertirlo en un EA stateful y utilizar un diseño como el siguiente:

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

Hola Ralph, tal vez en este hilo que inicié quede más claro;

https://www.mql5.com/en/forum/178432

Gracias

 
codersguru:
homicida,

Siento mucho el retraso.

Adjunto la versión modificada de LSMA y iCustom_Demo.

He añadido un nuevo buffer a LSMA para mantener el color actual (1=rojo, 2=verde y 3=amarillo).

Donde (1=tendencia a la baja , 2=tendencia alta y 3=sin tendencia).

Para usar iCustomfunction para obtener el valor de este buffer, puedes escribir:

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

¡¡Gracias Codersguru!!

He podido crear una versión de mi Brújula Digital para utilizarla con los indicadores de disco.

 

Estaría bien que tú, TheRumpledOne, también aprendieras a adjuntar imágenes en lugar de hacerlas en línea; con la basura que pegas, sólo se desperdicia mucho espacio.

 
ralph.ronnquist:
Sería bueno que tú, TheRumpledOne, también aprendieras a adjuntar imágenes en lugar de hacerlas en línea; con la basura que pegas, sólo se desperdicia mucho espacio.

Si es "basura", ¿para qué publicarla?