Función ICustom - página 18

 
OneandOnly666:
De acuerdo. Gracias por la ayuda, miraré a ver si puedo encontrar el problema.

esas dos líneas son simples comprobaciones de condiciones y se tarda muy, muy poco tiempo en comprobar esas dos condiciones

lo que se hace después de esas líneas (o en el resto del código que depende de esas líneas) es lo que está causando la ralentización

 
mladen:
esas dos líneas son simples comprobaciones de condiciones y se tarda muy, muy poco tiempo en comprobar esas dos condiciones lo que se hace después de esas líneas (o en el resto del código que depende de esas líneas) es lo que está causando la ralentización

Era el indicador.

Utilicé un indicador ergódico más simple en su lugar y entonces funcionó.

Gracias por la ayuda, nunca lo hubiera encontrado sin su asistencia.

/Thomas

 
codersguru:
Hola homi,

No te he entendido mal. Te di un ejemplo de trabajo de iCustom.

De todos modos. esta es una línea de código que obtendrá el valor de LSMA utilizando iCustom.

Nota: He utilizado LSMA en color (Lsma)

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1 :el símbolo - NULLpara el símbolo actual.

parmeter 2 : marco de tiempo - 0 para el marco de tiempo actual.

parmeter 3 : nombre del indicador - aquí es"LSMA in Color".

parmeter 4 : este es un ajuste para LSMA - Rperiod= 14.

parámetro 5 : esta es una configuración para LSMA - Draw4HowLongg= 1500.

parámetro 6 : el número de línea (rango de 0 a 7) - normalmente se utiliza 0.

parmeter 7 : la barra de trabajo - 0 para la barra actual.

Por favor, prueba esta línea de código y dime

Gracias por esto

 

Hola mladen/mrtools,

¿Existe un hilo específico para este tipo de información? Creo que beneficiará a los miembros no codificadores de este sitio.

(Ref. post #91 de Forex2006)

Gracias,

Paul

 
tamaraofx:
Re: Sección iCustom de Asesores Expertos

Hola mladen/mrtools,

¿Existe un hilo específico para este tipo de información? Creo que beneficiará a los miembros no codificadores de este sitio.

(Ref. post #91 de Forex2006)

Gracias,

Paul

Paul

Esas son sólo algunas formas posibles de cómo esos indicadores pueden ser utilizados. No se pueden "cubrir" todas las posibilidades (y combinaciones) de cómo se pueden utilizar los valores de algunos indicadores en un EA. Por eso existe la función iCustom() y luego podemos utilizar los indicadores como queramos (o necesitemos) en un EA

Y menos aún existe algún tipo de estándar de cómo funcionan los EAs. Lo que puede funcionar en un EA no funcionará en otro. No hay manera de que puedas agarrar un código y hacer que todos los EAs funcionen con ese código.

 

Sí, me he dado cuenta. Algunos son básicos, es decir, a>b o a>0 y otros complejos. Para los básicos puedo entender y puedo experimentar en algunos ea. A veces funciona. Hay ciertas plantillas de ea donde uno puede cambiar los códigos de señal de compra/venta de los indicadores y funciona. Aunque no digo que sea perfectamente rentable.

Usted tiene tantos indicadores buenos y bien diseñados aquí en este sitio. Pero la forma de probar / automatizar que en un ea no es muy fácil para algunos miembros, incluido yo mismo. Como miembro de este sitio, estoy particularmente interesado en saber cómo esos bonitos indicadores encajarían en una plantilla de EA; qué búfer utilizar en el código; cuáles son los operandos y operadores a utilizar; algo así.

Sería útil ver algo como en ese post para la combinación de código más básico para esos indicadores de aspecto agradable.

Es sólo una idea.

Gracias y saludos,

Paul

 

si el indicador original 'Dynamic zone MACD dll' en este caso tiene los buffers 0-3 entonces el

valor '4' significa otra instancia de este indicador y los datos de la memoria intermedia 0 o es un fallo de codificación / desajuste?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

 
fajst_k:
si el indicador original 'Dynamic zone MACD dll' en este caso tiene los buffers 0-3 entonces el

¿el valor '4' significa otra instancia de este indicador y datos del buffer 0 o es un fallo de codificación/desajuste?

Krzysztof

SetIndexBuffer(0,macd); SetIndexLabel(0,"MACD");

SetIndexBuffer(1,macs); SetIndexLabel(1,"MACD signal");

SetIndexBuffer(2,bli);

SetIndexBuffer(3,sli);

double FastMacd2 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,2);

double FastMacd1 = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,0,1);

double SlowMacd = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,0,0);

double fast2trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,2);

double fast1trigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Fast,MacdSlow_Fast,1,Fast_MacdSignalMode,Fast_MacdPrice,Fast_DzLookBackBars,Fast_DzStartBuyProbability,Fast_DzStartSellProbability,4,1);

double slowtrigger = iCustom(NULL,0,"Dynamic zone MACD dll",MacdFast_Slow,MacdSlow_Slow,1,Slow_MacdSignalMode,Slow_MacdPrice,Slow_DzLookBackBars,Slow_DzStartBuyProbability,Slow_DzStartSellProbability,4,0);

¿De dónde viene ese código?

No puede acceder al buffer "4" ya que el indicador no lo tiene

 

desde aquí

.........................

estaba comprobando este código y también me pareció sospechoso pero el compilador no se queja

 
fajst_k:
desde aquí estuve revisando este código y también me dio sospechas pero el compilador no se queja

En realidad lo que quiero decir es cuál es la fuente donde se utilizan esas llamadas a iCustom().

PD: borrado el enlace a ese sitio (por razones obvias)