Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Em vez de usar iCustom() para rsi e cci usar as funções incorporadas.
Parâmetros necessários para RSI :
[/TR]
[/TABLE]
Parâmetros necessários para CCI :
[TABLE="class: docvar"]
[TR][
TD]doubleE para CMO, o primeiro parâmetro é LastBarOnly e o segundo é CMO_Range, portanto a chamada iCustom() deve ser algo como :
iCustom(NULL,0, "cmo",false,CMORange,0,i);
onde CMORange seria algum parâmetrosou um novato no mql4, você pode escrever, por favor?
sou um novato no mql4, você pode escrever, por favor
Faça algo assim :
#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);
}
Anexar também um indicador de teste (igual ao código acima)
Coloco aqui uma das melhores divergências estocásticas do FX5 que já vi 5 (eu tento muitas indis como essa),
Indica "divergência normal" e a muito interessante "divergência oculta".
Alguém pode acrescentar no código a possibilidade de mudar a cor das linhas de tendência no gráfico e os estocásticos
E pode alguém usar este código fazer a uma divergência tão bela de RSI porque eu nunca a encontro
Muito obrigado para o codificador que o fará
Tenha um bom dia
Zilliq
https://mon-partage.fr/f/qtt6kDOR/
Ps: Graças ao moderador que muda este posto no lugar certo ;-)
Coloco aqui uma das melhores divergências estocásticas do FX5 que já vi 5 (eu tento muitas indis como essa),
Indica "divergência normal" e a muito interessante "divergência oculta".
Alguém pode acrescentar no código a possibilidade de mudar a cor das linhas de tendência no gráfico e os estocásticos
E pode alguém usar este código fazer a uma divergência tão bela de RSI porque eu nunca a encontro
Muito obrigado para o codificador que o fará
Tenha um bom dia
Zilliq
https://mon-partage.fr/f/qtt6kDOR/
Ps: Graças ao moderador que muda este posto no lugar certo ;-)zilliq
Experimente agora : as cores podem ser definidas a partir de parâmetros
Muito obrigado Mladen ,
Eu tento imediatamente
Zilliq
Olá Mladen
Os valores indicadores de correlação da elite avançada não aparecem , você pode ajudar? Obrigado.
Olá MladenCorrelation indicator values from advanced elite does not appear , você pode ajudar? Obrigado.
Olá Nevar, se este for https://www.mql5.com/en/forum/180028 você também recebeu a dll e habilitou a importação da dll?
Obrigado MrTools
Sim, é resolvido com o arquivo dll.
Ajuda de codificação necessária....
Eu estou brincando com OBJ_VLINE e não vou a lugar nenhum rapidamente. Usando o seguinte código, posso desenhar uma VLINE em uma interseção de duas médias móveis como um exemplo.
{
string name="vline "+DoubleToStr(i,0);
ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);
}
O que estou realmente tentando fazer é criar uma linha VLINE e Horizontal no ponto em que um MA muda de inclinação de positivo para negativo. A linha Horizontal mostra o preço real onde a mudança acontece. Estou usando o seguinte código para mudar de cor na inclinação.
fasttrend=tend rápida;
if (MABuf>MABuf) fasttrend= 1;
if (MABuf<MABuf) fasttrend=-1;
if (fast-trend>0)
{
FastUpBuffer = MABuf;
if (fasttrend<0) FastUpBuffer=MABuf;
FastDnBuffer = EMPTY_VALUE;
}
senão se (tendência rápida<0)
{
FastDnBuffer = MABuf;
if (tendência rápida>0) FastDnBuffer=MABuf;
FastUpBuffer = EMPTY_VALUE
}
Minha primeira tentativa resultou apenas no desenho de linhas em cada barra que era colorida, mas não era realmente o que eu tinha em mente. Também não tenho idéia de como apagar os antigos "cabelos cruzados" quando um novo é criado. Existe alguma função flutuando ao redor que faça isso? Eu gostaria de configurar isto como uma alternativa às setas para indicar a mudança de inclinação onde podemos ver o preço real na barra onde o indicador realmente mudou de direção.
Obrigado por qualquer ajuda,
Alex
Ajuda para a codificação necessária....
Eu estou brincando com OBJ_VLINE e não vou a lugar nenhum rapidamente. Usando o seguinte código, posso desenhar uma VLINE em uma interseção de duas médias móveis como um exemplo.
{
string name="vline "+DoubleToStr(i,0);
ObjectCreate(name,OBJ_VLINE,0,iTime(Symbol(),0,i),0);
}
O que estou realmente tentando fazer é criar uma linha VLINE e Horizontal no ponto em que um MA muda de inclinação de positivo para negativo. A linha Horizontal mostra o preço real onde a mudança acontece. Estou usando o seguinte código para mudar de cor na inclinação.
fasttrend=tend rápida;
if (MABuf>MABuf) fasttrend= 1;
if (MABuf<MABuf) fasttrend=-1;
if (fast-trend>0)
{
FastUpBuffer = MABuf;
if (fasttrend<0) FastUpBuffer=MABuf;
FastDnBuffer = EMPTY_VALUE;
}
senão se (tendência rápida<0)
{
FastDnBuffer = MABuf;
if (tendência rápida>0) FastDnBuffer=MABuf;
FastUpBuffer = EMPTY_VALUE
}
Minha primeira tentativa resultou apenas no desenho de linhas em cada barra que era colorida, mas não era realmente o que eu tinha em mente. Também não tenho idéia de como apagar os antigos "cabelos cruzados" quando um novo é criado. Existe alguma função flutuando ao redor que faça isso? Eu gostaria de configurar isto como uma alternativa às setas para indicar a mudança de inclinação onde podemos ver o preço real na barra onde o indicador realmente mudou de direção.
Obrigado por qualquer ajuda,
AlexAlex
Você tentou algo como isto (para a adição da linha horizontal ) :
string name="vline"+Time;ObjectCreate(name,OBJ_VLINE,0,Time,0);
name="hline"+Time;ObjectCreate(name,OBJ_HLINE,0,Time,MABuff);
}