[Arquivo!] Escreverei gratuitamente a qualquer especialista ou indicador. - página 62
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Relevante... " Divirta-se!"
/safety-summer-vacation-vacation-activated-schoolboys/
Olá!
Preciso de um indicador baseado no TradeSig, sua escala de amplitude deve ser a mesma que a da Williams em %, e sua amplitude deve ser a mesma que a da Williams na escala de níveis de 0% a -100%.
P.S. É necessário, porque TradeSig "se afasta" quando os indicadores são sobrepostos uns aos outros.
Meus agradecimentos de antemão.
Meu respeito.
//+------------------------------------------------------------------+
//| Multi.Period.mq4 |
//| Copyright © 2010, Vladimir Hlystov |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2010, Vladimir Hlystov"
#link da propriedade "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 8
#indicador de propriedade_color1 Lime
#largura_do_indicador de propriedade1 1
#indicador de propriedade_color2 Cal
#largura_do_indicador de propriedade2 1
#código de propriedade_color3 Azul
#largura_do_indicador de propriedade3 1
#indicador de propriedade_color4 Azul
#largura_do_indicador de propriedade4 1
#indicador de propriedade_color5 Verde
#largura_do_indicador de propriedade5 1
#indicador de propriedade_color6 Verde
#largura_do_indicador de propriedade6 1
#Indicador de propriedade_cores7 Vermelho
#largura_do_indicador de propriedade7 1
#Indicador de propriedade_color8 Vermelho
#largura_do_indicador de propriedade8 1
//---- parâmetros de entrada
/*
PERÍODO_M1 1 1 minuto
PERÍODO_M5 5 5 minutos
PERÍODO_M15 15 15 minutos
PERÍODO_M30 30 30 minutos
PERÍODO_H1 60 1 hora
PERÍODO_H4 240 4 horas
PERÍODO_D1 1440 1 dia
PERÍODO_W1 10080
PERÍODO_MN1 43200
*/
prazo interno externo1 = 5; //Período. Pode ser um dos períodos do gráfico. 0 significa o período do gráfico atual.
prazo int exterior2 = 15; //Período. Pode ser um dos períodos do gráfico. 0 significa o período do gráfico atual
prazo int externo3 = 30; //Período. Pode ser um dos períodos do gráfico. 0 significa o período do gráfico atual
prazo interno externo4 = 60; //Período. Pode ser um dos períodos do gráfico. 0 significa o período do gráfico atual
//---- buffers
duplo tampão1[];
Buffer duplo2[];
Buffer duplo3[];;
duplo tampão4[]; duplo tampão5[];
Buffer duplo5[];
Buffer duplo6[];
Buffer duplo7[];
duplo tampão8[];
//+------------------------------------------------------------------+
int init()
{
se (prazo1<Periodo()) prazo1=Periodo();
if (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1);
if (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1);
if (timeframe4<=timeeframe3) timeframe4=next_period(timeframe3+1);
//---- linhas indicadoras
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Buffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,Buffer2);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,Buffer3);
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,Buffer4);
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,Buffer5);
SetIndexStyle(5,DRAW_LINE);
SetIndexBuffer(5,Buffer6);
SetIndexStyle(6,DRAW_LINE);
SetIndexBuffer(6,Buffer7);
SetIndexStyle(7,DRAW_LINE);
SetIndexBuffer(7,Buffer8);
//----
SetIndexLabel(0, "4TF "+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4))
retorno(0);
}
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
int limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{
Buffer1[i] = iMA(NULL,timeframe1,1,0,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Buffer2[i] = iMA(NULL,timeeframe1,1,0,0,3,iBarShift(NULL,timeeframe1,Time[i],false));
Buffer3[i] = iMA(NULL,timeframe2,1,0,0,0,2,iBarShift(NULL,timeframe2,Time[i],false));
Buffer4[i] = iMA(NULL,timeeframe2,1,0,0,3,iBarShift(NULL,timeeframe2,Time[i],false));
Buffer5[i] = iMA(NULL,timeframe3,1,0,0,0,2,iBarShift(NULL,timeframe3,Time[i],false));
Buffer6[i] = iMA(NULL,timeeframe3,1,0,0,3,iBarShift(NULL,timeeframe3,Time[i],false));
Buffer7[i] = iMA(NULL,timeeframe4,1,0,0,2,iBarShift(NULL,timeeframe4,Time[i],false));
Buffer8[i] = iMA(NULL,timeeframe4,1,0,0,3,iBarShift(NULL,timeeframe4,Time[i],false));
}
retorno(0);
}
//+------------------------------------------------------------------+
int next_period(int per)
{
se (por > 43200) retornar(0);
se (por > 10080) retornar(43200);
se (por > 1440) retornar(10080);
se (por > 240) retornar(1440);
se (por > 60) retornar(240);
se (por > 30) retornar(60);
se (por > 15) retornar(30);
se (por > 5) retornar(15);
se (por > 1) retornar(5);
se (per === 1) retornar(1);
se (por === 0) retorno(Período())
}
//+------------------------------------------------------------------+
StrPer(int por)
{
se (per === 1) retorno(" M1 ");
{ if (per == 5) return(" M5 ");
se (per === 15) retorno(" M15 ");
se (per === 30) retornar(" M30 ");
se (per === 60) retornar(" H1 ");
se (per === 240) retornar(" H4 ");
se (per == 1440) retornar(" D1 ");
se (per == 10080) retorno(" W1 ");
se (per === 43200) retornar(" MN1 ");
retorno("period error");
}
//+------------------------------------------------------------------+
Olá estimados comerciantes. Tenho um indicador de canal muito bom que mostra muito bem a tendência na história das cotações, mas na conta real ela se sobrepuja. Se você não sabe como usá-lo, você pode perguntar: "Quanto tempo me resta quando não sei o que fazer com ele? Serei muito grato.
Se fosse escrito de tal forma que desenhasse o canal em citações reais como é testado na história das citações, seria fantástico. 100% graal.
o que você quer dizer com "citações reais" - citações que ainda não existem ou citações que estão prestes a aparecer?
O indicador constrói um canal com base nas citações disponíveis no momento.
Quando novas citações chegam - o canal muda - se estreita, se expande - porque a situação muda.
ou não é claro?
Se fosse escrito de forma a desenhar um canal em citações reais da forma como é testado na história das citações, seria fantástico. 100% graal.
Não escreva assim. Você só precisa entender que sua EA deve trabalhar na velocidade do TF mais antigo.
O consultor especializado deve receber dados de tempo da barra que já tenham sido registrados no período mais antigo.
Então seu Expert Advisor não terá problemas com o excesso de sinal.
Olá! no indicador os sinais aparecem na barra no momento do feixe ZZ, no de trabalho tudo está correto.
Decidiu observar o TF mais antigo (trabalhando M30, H1) adicionando o parâmetro TF ... kludah saiu (os sinais não estão nessas barras, e o feixe de exibição incorreto)
Onde eu fiz asneira ?...aconselhe por favor.Obrigado de antemão!!!
//+------------------------------------------------------------------+
//| Dinapoli ZZ (ZigZag).mq4 |
//| reescrito por CrazyChart |
//| |
//+------------------------------------------------------------------+
#propriedade copyright "reescrito por CrazyChart"
#ligação de propriedade ""
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 5
#indicador de propriedade_cores1 Vermelho
#indicador de propriedade_color2 Amarelo
#indicador de propriedade_color3 Aqua
#indicador de propriedade_color4 Verde
#indicador de propriedade_color5 Orquídea
//---- parâmetros de entrada
celeiro externo interno=1000;
comprimento externo=6;
TF externo interno = 0;
//---- buffers
duplo ExtMapBuffer1[];
duplo ExtMapBuffer2[];
duplo ExtMapBuffer3[];
duplo ExtMapBuffer4[];
duplo ExtMapBuffer5[];
//duplo ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexEmptyValue(0,0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1.159);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2.159);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3.186);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexStyle(4,DRAW_ARROW);
SetIndexArrow(4.187);
SetIndexBuffer(4,ExtMapBuffer5);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização do indicador do cliente |
//+------------------------------------------------------------------+
int deinit()
{
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
duplo LL,HH,BH,BL,NH,NL,shf;
duplo Uzel[10000][3];
texto de corda;
// loop da primeira barra para a barra atual (com shift=0).
Swing_n=0;Swing=0;uzl=0;
BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zu=barn;zd=barn;
para (shift=barn;shift>=0;shift--) {
ExtMapBuffer2[shift]=EMPTY_VALUE;
ExtMapBuffer3[shift]=EMPTY_VALUE;
ExtMapBuffer4[shift]=EMPTY_VALUE;
ExtMapBuffer5[shift]=EMPTY_VALUE;
shf=0,2;
LL=10000000;HH=-100000000;
para (i=shift+Length;i>=shift+1;i--) {
if (iLow(NULL, TF,i)< LL) {LLL=iLow(NULL, TF,i);}
se (iHigh(NULL, TF,i)>HH) {HH=iHigh(NULL, TF,i);}
}
if (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH){
Swing=2;
if (Swing_n===1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
{} else {
if (iLow(NULL, TF,shift)<LL) {Swing=-1;}
se (iHigh(NULL,TF,shift)>HH) {Swing=1;}
}
if (Swing!=Swing_n && Swing_n!=0) {
se (Swing===2) {
Swing=Swing_n;BH = iHigh(NULL, TF,shift);BL = iLow(NULL, TF,shift);
}
uzl=uzl+1;
//ponto baixo
se (Swing===1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
ExtMapBuffer2[shift]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift]";
ExtMapBuffer5[shift+3]=BL;
}
//ponto alto
se (Swing===-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf;
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift]";
}
BH = iHigh(NULL, TF,shift);
BL = iLow(NULL, TF,shift);
}
se (Swing===1) {
if (iHigh(NULL,TF,shift)>=BH) {BH=iHigh(NULL,TF,shift);zu=shift;}}}}
se (swing===-1) {
if (iLow(NULL, TF,shift)<=BL) {BL=iLow(NULL, TF,shift); zd=shift;}}}
Swing_n=Swing;
}
para (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
// Print("parametre MV", ExtMapBuffer1[mv];
}
retorno(0);
}
//+------------------------------------------------------------------+
Estou pedindo ajuda para escrever um indicador.
Preciso escrever um indicador ou roteiro (o que vai funcionar e como é melhor) que mostre a possível reversão do preço com base na história.
ToR está no arquivo anexo.
Agradeço antecipadamente.
Sinceramente Kirill.
Se você tiver alguma dúvida, escreva para onepips@bk.ru