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
oi codificadores,
criei um indicador muito simples que mostra um alerta quando a última barra está acima da sma10 ou abaixo dela. nada mais. mas gostaria de verificá-lo em 3 períodos de tempo diferentes. nunca trabalhei com indicadores mtf e por isso tenho alguns problemas com ele. esta versão verifica o gráfico m1, m5 e m15. funciona bem, mas há o problema de que o alerta é exibido em cada tic-tac e não apenas uma vez no período de tempo em que as condições são cumpridas.
eu ficaria feliz se alguém me ajudasse com isso. acho que só poderia ser um problema de sintaxe...
obrigado!
Hi,
Tenho que perguntar novamente, porque não consigo encontrar um erro, mas estou recebendo apenas os valores errados :-(
Talvez alguém veja meu fracasso?!
Este é o código do indicador
#property indicator_chart_window
#property indicator_buffers 5
double WidestChannel_high[];
double InsideChannel_high[];
double StandardDeviation[];
double InsideChannel_low[];
double WidestChannel_low[];
extern int STD.Rgres.period=0; /*default 0 means the channel will use the open
time from "x" bars back on which ever time period
the indicator is attached to. one can change to 1,5,
15,30,60...etc to "lock" the start time to a specific
period, and then view the "locked" channels on a different time period...*/
extern int STD.Rgres.length=56; // bars back regression begins
extern double STD.Rgres.width=1.618;// widest channel
extern double STD.width=0.618; // inside channel
int init()
{
SetIndexBuffer(0,WidestChannel_high);
SetIndexLabel(0,"WidestChannel_high");
SetIndexBuffer(1,InsideChannel_high);
SetIndexLabel(1,"InsideChannel_high");
SetIndexBuffer(2,StandardDeviation);
SetIndexLabel(2,"StandardDeviation");
SetIndexBuffer(3,InsideChannel_low);
SetIndexLabel(3,"InsideChannel_low");
SetIndexBuffer(4,WidestChannel_low);
SetIndexLabel(4,"WidestChannel_low");
return(0);
}
int deinit() {
ObjectDelete("regression channel");ObjectDelete("std channel");return(0);
}
int start() {
int counted_bars=IndicatorCounted(),limit, iTF;
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//to refresh properly delete old objects...
ObjectDelete("regression channel");ObjectDelete("std channel");
//widest channel
ObjectCreate("regression channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("regression channel",OBJPROP_DEVIATION,STD.Rgres.width);
ObjectSet("regression channel",OBJPROP_COLOR,Orange);
ObjectSet("regression channel",OBJPROP_RAY,true);
//inside channel
ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
ObjectSet("std channel",OBJPROP_COLOR,Olive);
ObjectSet("std channel",OBJPROP_RAY,true);
for(int i=0; i<limit; i++)
{
double dev = iStdDev(NULL,STD.Rgres.period,STD.Rgres.length,0,MODE_SMA,PRICE_CLOSE,i);
double innerWidth = STD.width*dev;
double outerWidth = STD.Rgres.width*dev;
double price = ObjectGetValueByShift("std channel", i);
WidestChannel_high= price + outerWidth/2;
InsideChannel_high= price + innerWidth/2;
StandardDeviation= price;
InsideChannel_low= price - innerWidth/2;
WidestChannel_low= price - outerWidth/2;
}
return(0);}Hi,
Tenho que perguntar novamente, porque não consigo encontrar um erro, mas estou recebendo apenas os valores errados :-(
Talvez alguém veja meu fracasso?!
Este é o código do indicador
#property indicator_chart_window
#property indicator_buffers 5
double WidestChannel_high[];
double InsideChannel_high[];
double StandardDeviation[];
double InsideChannel_low[];
double WidestChannel_low[];
extern int STD.Rgres.period=0; /*default 0 means the channel will use the open
time from "x" bars back on which ever time period
the indicator is attached to. one can change to 1,5,
15,30,60...etc to "lock" the start time to a specific
period, and then view the "locked" channels on a different time period...*/
extern int STD.Rgres.length=56; // bars back regression begins
extern double STD.Rgres.width=1.618;// widest channel
extern double STD.width=0.618; // inside channel
int init()
{
SetIndexBuffer(0,WidestChannel_high);
SetIndexLabel(0,"WidestChannel_high");
SetIndexBuffer(1,InsideChannel_high);
SetIndexLabel(1,"InsideChannel_high");
SetIndexBuffer(2,StandardDeviation);
SetIndexLabel(2,"StandardDeviation");
SetIndexBuffer(3,InsideChannel_low);
SetIndexLabel(3,"InsideChannel_low");
SetIndexBuffer(4,WidestChannel_low);
SetIndexLabel(4,"WidestChannel_low");
return(0);
}
int deinit() {
ObjectDelete("regression channel");ObjectDelete("std channel");return(0);
}
int start() {
int counted_bars=IndicatorCounted(),limit, iTF;
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//to refresh properly delete old objects...
ObjectDelete("regression channel");ObjectDelete("std channel");
//widest channel
ObjectCreate("regression channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("regression channel",OBJPROP_DEVIATION,STD.Rgres.width);
ObjectSet("regression channel",OBJPROP_COLOR,Orange);
ObjectSet("regression channel",OBJPROP_RAY,true);
//inside channel
ObjectCreate("std channel",OBJ_STDDEVCHANNEL,0,iTime(Symbol(),STD.Rgres.period,STD.Rgres.length),
Close[STD.Rgres.length],Time[0],Close[0]);
ObjectSet("std channel",OBJPROP_DEVIATION,STD.width);
ObjectSet("std channel",OBJPROP_COLOR,Olive);
ObjectSet("std channel",OBJPROP_RAY,true);
for(int i=0; i<limit; i++)
{
double dev = iStdDev(NULL,STD.Rgres.period,STD.Rgres.length,0,MODE_SMA,PRICE_CLOSE,i);
double innerWidth = STD.width*dev;
double outerWidth = STD.Rgres.width*dev;
double price = ObjectGetValueByShift("std channel", i);
WidestChannel_high= price + outerWidth/2;
InsideChannel_high= price + innerWidth/2;
StandardDeviation= price;
InsideChannel_low= price - innerWidth/2;
WidestChannel_low= price - outerWidth/2;
}
return(0);}sunshineh,
Você não precisa dividir o desvio por 2 para obter o alto e o baixo - remova a parte "/2" e deve estar OK desde que o preço médio esteja OK. A largura do canal é sempre constante: a reversão padrão atual deve ser usada para o com, e não para algum outro valor. E o último, tanto quanto vejo, ObjectGetValueByShift("canal std", i); não funciona no canal de desvio padrão, pois funciona em linhas de tendência. Que valor ele está retornando eu não sei (veja o indicador anexo e você verá porque eu digo que não sei qual é esse preço)
HI mladen,
anexar um indicador de amostra usando símbolos internos predefinidos, bastante difícil de compreender por dentro , é possível obter algumas dicas deste indicador para me adaptar aos meus indicadores ou/& os seus indicadores para evitar problemas de repintura ou refrescar a linha de mudança ou fazer algum tipo de sinergia? Obrigado por procurar.
HI mladen,eu anexei um indicador de amostra usando símbolos internos predefinidos, bastante difícil de compreender por dentro , é possível obter algumas dicas deste indicador para me adaptar aos meus indicadores ou/& os seus indicadores para evitar problemas de repintura ou refrescar a linha de mudança ou fazer algum tipo de sinergia? Obrigado por procurar.
kenwa
Eu não trabalho com coisas descompiladas. Desculpe
kenwa eu não trabalho com coisas descompiladas. Desculpe
ok, então eu o removo, mas curiosamente por que ninguém o vê, mas você pode saber que é material de descompilação
Ok, então eu o removo, mas curiosamente por que ninguém o vê, mas você pode saber que é material de descompilação
Todos que conhecem um pouco de codificação sabem que se trata de um código descompilado.
E mesmo que você não saiba nada sobre qualquer codificação, quando você tem uma coisa como esta :
Gerado por EX4-TO-MQ4 descompilador FREEWARE V4.0.451.1 [-]
Website: MetaTrader 5 Trading Platform / MetaQuotes Software Corp.
E-mail : support@metaquotes.net
*/
escrito nas primeiras linhas do indicador que você postou, parece bastante óbvio que qualquer pessoa poderia ver que é um código descompilado, então, por favor ...
Tudo de bom
mladen, meu código não está descompilado. talvez você gostaria de dar uma pequena olhada nele?
mladen, meu código não está descompilado. talvez você gostaria de dar uma pequena olhada nele?
Marbo
Você pode fazer algo como no anexo. Ele o alertará uma vez por barra de tempo alvo ou quando o estado (tipo do alerta) mudar. Se você deseja ignorar o tipo, a verificação do tipo deve ser ignorada no procedimento doAlert. Se você deseja pular a verificação de tempo (neste caso apenas o tipo seria verificado), então pule a verificação de tempo no procedimento doAlert.
Oi mladen,
Você provavelmente se lembrará que pedi alguma ajuda com um MA cross EA na semana passada. e, é claro, me referi indevidamente à seção Elite. Onde você pode sugerir que eu peça isso, por favor. Eu procurei e não encontrei uma resposta óbvia. Para refrescar sua memória, esta foi a especificação:
1.SMA cruz EMA
2.no fechamento da vela
3.OCO com nova ordem em nova direção
4.Capacidade de ajustar o escorregamento
5.sinal sonoro de cruz
6.Cross não é uma verdadeira cruz sem uma abertura de tubulação ajustável
7.Se possível, o monitoramento na vela, portanto, se uma vela for mais de X vezes o ATR (número ajustável para contar), um pedido é colocado com um alarme na direção dessa vela, e também para fechar um pedido, mas depois não iniciar um novo
8. de preferência se um pedido for feito como em 7 para soar um alarme
9. A confiabilidade da cruz é primordial. Em meus gráficos - FXCM, Vantage, FX Choice - alguns EAs, incluindo a Universal Cross, não aceitam negócios ou são muito tardios.
10. SL ajustável, mas pode deixar de fora se não for necessário
11.Trailing Stop
12.SL vai para o breakeven automaticamente após X pips lucro
13. Número máximo de negócios abertos
14. Número mágico
Cumprimentos
Jeff