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
Muito obrigado! você é tão bom!
Olá,
Alguém conhece um indicador que traçaria apenas o ponto de oscilação no gráfico como descrito abaixo (como o do Painel de instrumentos):
Estratégia de fuga fractal
Como foi dito anteriormente, a ação dos preços se move em ondas. A direção das tendências (para cima ou para baixo) é determinada pelos altos e baixos consecutivos.
A Tendência para cima é quando estas ondas estão fazendo altos e baixos mais altos.
Tendência para baixo é quando estas ondas estão fazendo baixas e altas mais baixas.
Como os fractais são altos e baixos, eles podem ser usados para determinar a direção da tendência.
Considere o gráfico GU H4 (à direita). Antes do ponto A, a tendência é ascendente, ou seja, o segundo fractal baixo é mais alto que o primeiro ... o segundo fractal alto é mais alto que o primeiro.
Um novo fractal baixo formado no ponto A é maior que os dois fractais baixos anteriores (continuando a tendência UP). A vela imediatamente após o ponto A formou um novo fractal alto. Este fractal é menor que o fractal alto anterior , indicando uma possível mudança na direção da tendência. A vela sob o ponto B 'quebra' o nível fractal do ponto A (linha verde). Uma seta vermelha é desenhada indicando que a direção da tendência mudou para DOWN.
As setas podem ser exibidas por ArrowsOn=verdadeiro. Nota: as setas são desenhadas somente quando uma quebra fractal muda a direção da tendência. Por exemplo, após o ponto B, os fractais inferiores continuam a ser quebrados (mais 2 vezes).
Após o ponto B, a tendência é considerada Diminuída até que um fractal alto seja quebrado. Pouco antes do ponto C, forma-se um fractal baixo mais alto. A direção da tendência ainda é considerada para baixo... nenhum fractal alto foi quebrado ainda.
No ponto E, o fractal alto do ponto C é quebrado. Mesmo sendo uma pequena quebra, uma seta verde é desenhada no ponto D, indicando uma mudança na direção da tendência. A tendência é agora considerada como UP até a próxima quebra fractal baixa.
Muito obrigado por sua ajuda.
Melhor,
Gringoh
Obrigado Mladen, é perfeito!!! Se eu quiser adicionar outra linha ao indicador como esta, como modifico o código? obrigado antecipadamente....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
Obrigado Mladen, é perfeito!!! Se eu quiser adicionar outra linha ao indicador como esta, como modifico o código? obrigado antecipadamente....
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double UpperBuf[];
double UpperBuf1[];
double UpperBufb[];
double UpperBuf1b[];
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void init()
{
IndicatorBuffers(4);
SetIndexBuffer(0, UpperBuf1);
SetIndexBuffer(1, UpperBuf1b);
SetIndexBuffer(2, UpperBuf);
SetIndexBuffer(3, UpperBufb);
}
void deinit() {}
void start()
{
int counted = IndicatorCounted();
if(counted < 0) return (-1);
if(counted > 0) counted--;
int limit = Bars - counted;
for(int i = 0; i < limit; i++)
if (Close!=0)
UpperBuf= ((High/Close)-34)*Volume;
else UpperBuf= 0;
for( i = 0; i < limit; i++) UpperBuf1= iMAOnArray(UpperBuf,0,33,0,MODE_EMA,i);
for( i = 0; i < limit; i++)
if (Close!=0)
UpperBufb= ((High/Close)-34)*Volume;
else UpperBufb= 0;
for( i = 0; i < limit; i++) UpperBuf1b= iMAOnArray(UpperBufb,0,33,0,MODE_EMA,i);
}
k3rn3l
Você já o fez (há 2 linhas no indicador). Se você quer dizer mais uma (para ter 3) simplesmente faça a mesma coisa que fez para a segunda linha
caros codificadores,
achei este indicador METASTOCK muito bom, você pode fazê-lo para o mt4?
x:=Input("Fechamentos inferiores consecutivos - Entrada",
0,21,5);
y:=Input("Fechamento Consecutivo Superior - Saída",
0,21,5);
atraso:=Input("Entrada e Saída de atraso",0,5,0);
trama:=Ingresso("sinais: [1]Limpo, [2]Todos",
1,2,2);
In:=Sum(C<Ref(C,-1),x)=x;
Out:=Sum(C>Ref(C,-1),y)=y;
Init:=Cum(In+Out>-1)=1;
InInit:=Cum(In)=1;
flag:=BarsSince(Init OU Init)
<BarsSince(Init OU Out)+InInit;
sinais:=(InInit AND Alert(InInit=0,2)
OU bandeira E Alerta(bandeira=0,2))
-(bandeira=0 E Alerta(bandeira,2));
0;Ref(If(plot=1,signals,In-Out),-delay)
caros codificadores,
achei este indicador METASTOCK muito bom, você pode fazê-lo para o mt4?
x:=Input("Fechamentos inferiores consecutivos - Entrada",
0,21,5);
y:=Input("Fechamento Consecutivo Superior - Saída",
0,21,5);
atraso:=Input("Entrada e Saída de atraso",0,5,0);
trama:=Ingresso("sinais: [1]Limpo, [2]Todos",
1,2,2);
In:=Sum(C<Ref(C,-1),x)=x;
Out:=Sum(C>Ref(C,-1),y)=y;
Init:=Cum(In+Out>-1)=1;
InInit:=Cum(In)=1;
flag:=BarsSince(Init OU Init)
<BarsSince(Init OU Out)+InInit;
sinais:=(InInit AND Alert(InInit=0,2)
OU bandeira E Alerta(bandeira=0,2))
-(bandeira=0 E Alerta(bandeira,2));
0;Ref(If(plot=1,signals,In-Out),-delay)debashis
Qual é o nome desse indicador?
guru
sua chamada "sistema padrão básico". http://www.metastocktools.com/MetaStock/Pattern01.txt
Olá Malden, obrigado por me ajudar com a ASCTrend. Estou me perguntando se você poderia me ajudar a fazer uma ea para este indicador. há outro indicador chamado MaonMa. (Vou anexá-los) Meu pensamento é quando as setas ASCTrend subirem E a barra estiver acima da linha amarela (60 MA), colocar uma troca longa, parar de perder será a mais baixa anterior, da mesma forma, quando as setas ASCTrend descerem E a barra estiver abaixo da linha amarela (60 MA), colocar uma troca curta, parar de perder será a mais alta anterior. Obrigado.
Olá Mladen,
Eu preciso de sua ajuda novamente. Eu defini o seguinte código para um indicador baseado em seta. mas seu PC congelante, se ele evitaria o atraso, você pode escrever o código novamente usando os códigos originais rsi,cci e cmo no indicador sem a função icustom.
#janela_do_código de propriedade
#property indicator_buffers 2
#indicador de propriedade_color1 Crimson
#indicador de propriedade_color2 RoyalBlue
//---- parâmetros de entrada
barras internas externasToProcess=100;
//---- buffers
duplo ExtMapBuffer1[];
duplo ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),
limite;
if(counted_bars>0)
barrinhas_contadas..;
limite=barras_contadas_às_barras;
if(limit>barsToProcess)
limit=barsToProcess;
for(int i=0;i<limite;i++)
{
double rsi=iCustom(NULL,0, "rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0, "cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0, "cmo",barsToProcess,0,i);
if(rsi>60,0 && cci>150,0&&cmo>30,0)
ExtMapBuffer1=Alto+5*Ponto;
senão
ExtMapBuffer1=0,0;
if(rsi<10.0 && cci<-150.0&&cmo<-30.0)
ExtMapBuffer2=Low-5*Point;
mais
ExtMapBuffer2=0,0;
}
retorno(0);
}
Olá Mladen,
Eu preciso de sua ajuda novamente. Eu defini o seguinte código para um indicador baseado em seta. mas seu pc. de congelamento, se ele evitaria o atraso, você pode escrever o código novamente usando os códigos originais rsi,cci e cmo no indicador sem a função icustom.
#janela_do_código de propriedade
#property indicator_buffers 2
#indicador de propriedade_color1 Crimson
#indicador de propriedade_color2 RoyalBlue
//---- parâmetros de entrada
barras internas externasToProcess=100;
//---- buffers
duplo ExtMapBuffer1[];
duplo ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0,0.0);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,234);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),
limite;
if(counted_bars>0)
barrinhas_contadas..;
limite=barras_contadas_às_barras;
if(limit>barsToProcess)
limit=barsToProcess;
for(int i=0;i<limite;i++)
{
double rsi=iCustom(NULL,0, "rsi",barsToProcess,0,i);
double cci=iCustom(NULL,0, "cci",barsToProcess,0,i);
double cmo=iCustom(NULL,0, "cmo",barsToProcess,0,i);
if(rsi>60,0 && cci>150,0&&cmo>30,0)
ExtMapBuffer1=Alto+5*Ponto;
senão
ExtMapBuffer1=0,0;
if(rsi<10.0 && cci<-150.0&&cmo<-30.0)
ExtMapBuffer2=Low-5*Point;
mais
ExtMapBuffer2=0,0;
}
retorno(0);
}Ao invés de usar iCustom() para rsi e cci usar as funções embutidas.
Parâmetros necessários para o 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âmetro