Vou escrever o indicador gratuitamente - página 44

 

Ajuda com o indicador


Quero mantê-lo como está, mas refazê-lo para dois amortecedores


#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 1

#indicador de propriedade_color1 DodgerBlue

#indicador de propriedade_máximo 1.4

#indicador de propriedade_nível1 0

#indicador de propriedade_mínimo -1,2


//------- Parâmetros indicadores externos -------------------------------

CCI_Periodo_0 = 14; // período CCI para o período de tempo atual

nível interno externo_0 = 100; // Nível CCI para o TF atual

TF_1 = 60; // Número de minutos no primeiro período de tempo

CCI_Periodo_1 = 14; // Período CCI para a primeira TF

nível interno externo_1 = 100; // Nível CCI para o primeiro TF

TF_2 = 240; // Número de minutos da segunda TF

CCI_Periodo_2 = 14; // Período CCI para a segunda TF

nível de int externo_2 = 100; // nível de CCI para o segundo TF

int externo NumberOfBars = 10000; //Número de barras(0-all)


//------- Buffers indicadores ------------------------------------------

duplo buf0[];

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//+------------------------------------------------------------------+

init() vazio

{

IndicatorDigits(1);


SetIndexBuffer(0,buf0);

SetIndexLabel(0, "i-3CCI-h");

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexEmptyValue(0,0);

}

//+------------------------------------------------------------------+

//| Função de desinicialização de indicador personalizada |

//+------------------------------------------------------------------+

deinit() vazio

{

Comentário(");

}

//+------------------------------------------------------------------+

//| Função de iteração de indicador personalizada |

//+------------------------------------------------------------------+

início nulo()

{

duplo cci0,cci1,cci2;

int nb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

else LoopBegin=NumberOfBars-1;

LoopBegin=MathMin(Bars-1,LoopBegin);


for(sh=LoopBegin; sh>=0; sh--)

{

nb1=iBarShift(NULL, TF_1, Time[sh], False);

nb2=iBarShift(NULL, TF_2, Time[sh], False);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf0[sh]=-1;

}

}

//+------------------------------------------------------------------+


experimentando eu mesmo, sem sorte ainda.

tentou desta forma


#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 2

#indicador de propriedade_color1 Verde

#indicador de propriedade_color2 Vermelho

#indicador de propriedade_máximo 1.4

#indicador de propriedade_nível1 0

#indicador de propriedade_mínimo -1,2


//------- Parâmetros indicadores externos -------------------------------

CCI_Periodo_0 = 14; // período CCI para o período de tempo atual

nível interno externo_0 = 100; // Nível CCI para o TF atual

TF_1 = 60; // Número de minutos no primeiro período de tempo

CCI_Periodo_1 = 14; // Período CCI para a primeira TF

nível interno externo_1 = 100; // Nível CCI para o primeiro TF

TF_2 = 240; // Número de minutos da segunda TF

CCI_Periodo_2 = 14; // Período CCI para a segunda TF

nível de int externo_2 = 100; // nível de CCI para o segundo TF

int externo NumberOfBars = 10000; //Número de barras(0-all)


//------- Buffers indicadores ------------------------------------------

duplo ExtBuffer1[];

duplo ExtBuffer2[];

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//+------------------------------------------------------------------+

init() vazio

{

SetIndexBuffer(0,ExtBuffer1);

SetIndexStyle(0,DRAW_HISTOGRAM,0,2);

//----

SetIndexBuffer(1, ExtBuffer2);

SetIndexStyle(1,DRAW_HISTOGRAM,0,2);

}

//+------------------------------------------------------------------+

//| Função de desinicialização de indicador personalizada |

//+------------------------------------------------------------------+

deinit() vazio

{

Comentário(");

}

//+------------------------------------------------------------------+

//| Função de iteração de indicador personalizada |

//+------------------------------------------------------------------+

início nulo()

{

duplo cci0,cci1,cci2;

int nb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

else LoopBegin=NumberOfBars-1;

LoopBegin=MathMin(Bars-1,LoopBegin);


for(sh=LoopBegin; sh>=0; sh--)

for(st=LoopBegin; st<0; st--)

{

nb1=iBarShift(NULL, TF_1, Time[sh], False);

nb2=iBarShift(NULL, TF_2, Time[st], False);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf1[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf2[st]=-1;



o erro é


No final, precisamos de dois amortecedores, um acima de zero e um abaixo.


Arquivos anexados:
12121.jpg  42 kb
ere.mq4  6 kb
 

Caro koziabrrr !!! Você criou seu próprio tema. Há mais tópicos. E se alguém começar a procurar por um tópico? E há muitos tópicos, é difícil de encontrar. Para facilitar a discussão tópico por tópico. O tópico mais importante é para ajudar os novatos. É aí que sua pergunta deve ir. Criei o tema excluir, e lá escrevo levando em conta meus comentários!!! Então você também escreveu neste tópico - bem, isto é megalomania, opinião exagerada sobre o valor de sua pessoa

Para chamar a atenção - você precisa explicar a tarefa. 1. Qual a aparência do indicador = captura de tela. 2. o que o indicador faz, qual é seu uso (pontos de entrada mostrarão, tendência, plano, ...). 3) Por que precisamos de dois amortecedores? O que é mais útil para ele (mostra melhor a tendência, o flat, os pontos de entrada)? É quando todos se apressarão para refiná-la!!!! .... Será bom para eles e para você! Devemos ser amigos, compartilhar

 

Aqui está um refazer. Parece mostrar uma tendência. Mas é batota.

Em meia hora saberemos que deveríamos ter vendido...

E que é hora de comprar - é silêncio...

 
Algo assim seria melhor:

ou MAinColor de algum tipo

 
STARIJ:

Aqui está um refazer. Parece mostrar uma tendência. Mas é batota.

Saberemos em meia hora que deveríamos ter vendido...

E que é hora de comprar - é silêncio...


Sim, parece melhor, obrigado pelo redesenho. Mas eu ainda não entendo como))))

 
koziabrrr: Sim, parece melhor, obrigado pelo redesenho. Mas eu ainda não entendo como))
#property indicator_buffers 2
#property indicator_color2 Tomato
double buf0[], buf1[];  //------- Буферы индикатора ------   добавил второй буфер
void init() 
  {
..................
   SetIndexBuffer(1,buf1);
   SetIndexLabel(1,"Вниз");
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexEmptyValue(1,0);
  }

void start() 
  {
....................
..................

      buf0[sh]=0;buf1[sh]=0;
      if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;
      if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf1[sh]=-1;
    }
}
 
STARIJ:

STARIJ:

Estou tentando, mas não consigo juntar tudo isso. É bom quando se conhece o assunto, mas quando não se conhece, cada coisinha é um dia.

 
koziabrrr:


Estou tentando, mas não consigo juntar tudo isso. É bom quando se conhece o assunto, mas quando não se conhece, cada coisinha é um dia.

... E cada dia é uma experiência inestimável que vem somente através de seu próprio trabalho - não através de uma solução de fórum.
 
Artyom Trishkin:
... E cada dia é uma experiência inestimável que só vem do próprio trabalho - não uma decisão sobre um fórum.

Isto é Sim!


STARIJ: Obrigado por sua ajuda!!!!


resolveu a questão))))

 

Oi Yuri.

Descrição do indicador: a partir de 3 velas mantidas no mesmo nível ou quase no mesmo nível. Enviou um alerta por e-mail e transmitiu um som. Também mostrei o instrumento e o período de tempo na tela até cancelá-lo. Veja os arquivos anexos, por favor, há exemplos

Arquivos anexados:
11.png  25 kb
12.png  24 kb
13.png  24 kb
14.png  27 kb
Razão: