Ayuda a la codificación - página 112

 
mladen:
En lugar de utilizar iCustom() para rsi y cci utilice las funciones incorporadas.

Parámetros necesarios para el RSI :

timeframe period, applied_price shift Parámetros necesarios para iCCI( [TD]string symbol, int timeframe, int period, int applied_price, int shift)
double iRSI([/TD] string symbol, int , int int , int)[/TD]

[

/TABLE]

CCI

:

[TABLE="class: docvar"]

[TR]

[TD]double

Y para CMO, el primer parámetro es LastBarOnly y el segundo es CMO_Range, por lo que la llamada a iCustom() debería ser algo así como :

iCustom(NULL,0, "cmo",false,CMORange,0,i);

donde CMORange sería algún parámetro

soy un novato en mql4, ¿puedes escribir,? por favor

 
anonimm:
Soy un novato a mql4, puede escribir,? por favor

Haga algo como esto :

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Crimson

#property indicator_color2 RoyalBlue

extern int barsToProcess=100;

extern int RsiPeriod = 14;

extern int RsiPrice = PRICE_CLOSE;

extern int CciPeriod = 14;

extern int CciPrice = PRICE_TYPICAL;

extern int CmoRange = 14;

//

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init()

{

SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233);

SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234);

return(0);

}

int deinit() { return(0); }

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars>0)counted_bars--;

int limit=Bars-counted_bars; if(limit>barsToProcess)limit=barsToProcess;

for(int i=limit;i>=0;i--)

{

double rsi=iRSI(NULL,0,RsiPeriod,RsiPrice,i);

double cci=iCCI(NULL,0,CciPeriod,CciPrice,i);

double cmo=iCustom(NULL,0,"cmo",false,CmoRange,0,i);

if(rsi>60.0 && cci>150.0 && cmo>30.0)

ExtMapBuffer1=High+5*Point;

else ExtMapBuffer1=EMPTY_VALUE;

if(rsi<40.0 && cci<-150.0 && cmo<-30.0)

ExtMapBuffer2=Low-5*Point;

else ExtMapBuffer2=EMPTY_VALUE;

}

return(0);

}

Adjuntando un indicador de prueba (igual que el código anterior) también

Archivos adjuntos:
_test.mq4  2 kb
 

Yo publico aquí una de las mejores divergencias estocásticas de FX5 que he visto 5 (he probado muchos indis así),

Indica "divergencia normal" y la muy interesante "divergencia oculta"

Puede alguien añadir en el código la posibilidad de cambiar el color de las líneas de tendencia en el gráfico y los estocásticos

Y puede alguien utilizar este código hacer a una divergencia RSI tan veautiful porque nunca lo encuentro

Muchas gracias al codificador que lo haga

Que tengan un buen día

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps: Gracias al moderador que cambiar este post en el lugar correcto ;-)

Archivos adjuntos:
 
zilliq:
Yo publico aquí una de las mejores divergencias estocásticas de FX5 que he visto 5 (pruebo muchos indis como ese),

Indica la "divergencia normal" y la muy interesante "divergencia oculta"

Puede alguien añadir en el código la posibilidad de cambiar el color de las líneas de tendencia en el gráfico y los estocásticos

Y puede alguien utilizar este código hacer a una divergencia RSI tan veautiful porque nunca lo encuentro

Muchas gracias al codificador que lo haga

Que tengan un buen día

Zilliq

https://mon-partage.fr/f/qtt6kDOR/

Ps: Gracias al moderador que cambio este post en el lugar correcto ;-)

zilliq

Pruébalo ahora : los colores se pueden establecer desde los parámetros

Archivos adjuntos:
 

Muchas gracias Mladen ,

Lo pruebo inmediatamente

Zilliq

 

Hola Mladen

Los valores del indicador de correlación de la élite avanzada no aparecen, ¿puedes ayudar?

 
nevar:
Hola Mladen Los valores del indicador de correlación de advanced elite no aparecen, ¿puedes ayudar?

Hola Nevar, si es este https://www.mql5.com/en/forum/180028 ¿has conseguido la dll también y has habilitado la importación de dlls?

 

Gracias MrTools

Sí se soluciona con el archivo dll.

 

Se necesita ayuda para codificar....

Estoy jugando con OBJ_VLINE y no voy a ninguna parte rápidamente. Usando el siguiente código, puedo dibujar una VLINE en una intersección de dos medias móviles como ejemplo.

{

string name="vline "+DoubleToStr(i,0);

ObjectCreate(nombre,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Lo que realmente estoy tratando de hacer es crear una línea VLINE y Horizontal en el punto donde un MA cambia de pendiente de positivo a negativo. La línea Horizontal muestra el precio actual donde el cambio ocurre. Estoy utilizando el siguiente código para cambiar los colores en la pendiente.

fasttrend=fasttrend;

si (MABuf>MABuf) fasttrend= 1;

si (MABuf<MABuf) fasttrend=-1;

si (fasttrend>0)

{

FastUpBuffer = MABuf;

si (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

si (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

Mi primer intento sólo dio lugar a vlines que se dibujan en cada barra que era colorido, pero no es realmente lo que tenía en mente. Tampoco tengo idea de cómo borrar la antigua "cruceta" cuando se crea una nueva. ¿Hay alguna función que haga esto? Me gustaría configurar esto como una alternativa a las flechas para indicar el cambio de pendiente donde podemos ver el precio real en la barra donde el indicador realmente cambió de dirección.

Gracias por cualquier ayuda,

Alex

 
hughesfleming:
Ayuda de codificación necesaria....

Estoy jugando con OBJ_VLINE y no voy a ninguna parte rápidamente. Usando el siguiente código, puedo dibujar una VLINE en una intersección de dos medias móviles como ejemplo.

{

string name="vline "+DoubleToStr(i,0);

ObjectCreate(nombre,OBJ_VLINE,0,iTime(Symbol(),0,i),0);

}

Lo que realmente estoy tratando de hacer es crear una línea VLINE y Horizontal en el punto donde un MA cambia de pendiente de positivo a negativo. La línea Horizontal muestra el precio actual donde el cambio ocurre. Estoy utilizando el siguiente código para cambiar los colores en la pendiente.

fasttrend=fasttrend;

si (MABuf>MABuf) fasttrend= 1;

si (MABuf<MABuf) fasttrend=-1;

si (fasttrend>0)

{

FastUpBuffer = MABuf;

si (fasttrend<0) FastUpBuffer=MABuf;

FastDnBuffer = EMPTY_VALUE;

}

else if (fasttrend<0)

{

FastDnBuffer = MABuf;

si (fasttrend>0) FastDnBuffer=MABuf;

FastUpBuffer = EMPTY_VALUE

}

Mi primer intento sólo dio lugar a vlines que se dibujan en cada barra que era colorido, pero no es realmente lo que tenía en mente. Tampoco tengo idea de cómo borrar la antigua "cruceta" cuando se crea una nueva. ¿Hay alguna función que haga esto? Me gustaría configurar esto como una alternativa a las flechas para indicar el cambio de pendiente donde podemos ver el precio real en la barra donde el indicador realmente cambió de dirección.

Gracias por cualquier ayuda,

Alex

Alex

¿Has probado algo como esto (para la adición de la línea horizontal ) :

{

string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);

name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);

}