[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 536

 
Se você excluir todos os arquivos com extensões *.ex4 na pasta Indicadores
- posso então compilar todos os arquivos *.mq4 disponíveis de uma só vez?
(isto é, não cada um separadamente, mas todos juntos)
Obrigado!
 
chief2000:
Se você excluir todos os arquivos com extensões *.ex4 na pasta Indicadores
- posso então compilar todos os arquivos *.mq4 disponíveis de uma só vez?
(isto é, não cada um separadamente, mas todos juntos)
Obrigado!

Feche o terminal, depois abra-o e todos eles se compilarão.
 
fore-x:
Feche o terminal, depois abra-o e ele se compilará.

Era com isto que eu contava, mas apenas alguns indicadores compilados e nada mais.

 

Boa tarde como escrever um conselheiro padrão por outro período de tempo. Isto é, coloque este indicador no gráfico de 1 hora que mostrará o indicador de 4 horas.

пытался //+------------------------------------------------------------------+
//| às 4 horas.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2012, MetaQuotes Software Corp."
#link da propriedade "https://www.metaquotes.net/"

#janela_do_cartão_indicador de propriedade
#property indicator_buffers 3
#indicador de propriedade_color1 LightSeaGreen
#indicador de propriedade_color2 LightSeaGreen
#indicador de propriedade_color3 LightSeaGreen
//---- parâmetros indicadores
Int. Ext. Período = 20;
bandas externas internasShift=0;
Faixas duplas externasDeviações=2,0;
//---- buffers
duplo MovingBuffer[];
duplo UpperBuffer[];
duplo LowerBuffer[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,MovingBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,UpperBuffer);
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,LowerBuffer);
//----
SetIndexDrawBegin(0,BandsPeriod+BandsShift);
SetIndexDrawBegin(1,BandsPeriod+BandsShift);
SetIndexDrawBegin(2,BandsPeriod+BandsShift);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Bandas de Bollinger |
//+------------------------------------------------------------------+
int start()
{
int i,k,counted_bars=IndicatorCounted();
duplo desvio;
soma dupla, oldval, newres;
int B=iBars( NULL,PERÍODO_H4);
duplo C=iClose(NULL,PERÍODO_H4,0);
//----
if(B <=BandsPeriod) return(0);
//---- inicial zero
if(counted_bars<1)
for(i=1;i<=BandsPeriod;i++)
{
MovingBuffer[B-i]=EMPTY_VALUE;
UpperBuffer[B-i]=EMPTY_VALUE;
LowerBuffer[B-i]=EMPTY_VALUE;
}
//----
int limit=B-counted_bars;
if(counted_bars>0) limit++;
para(i=0; i<limite; i++)
MovingBuffer[i]=iMA(NULL,PERÍODO_H4,PERÍODO_H4,PERÍODO_Bandas,Mudança de Bandas,MODE_SMA,PREÇO_CLOSE,i);
//----
i=B-B-BandsPeriod+1;
if(counted_bars>BandsPeriod-1) i=B-counted_bars-1;
while(i>=0)
{
soma=0,0;
k=i+BandsPeriod-1;
oldval=MovingBuffer[i];
while(k>==i)
{
newres=C[k]-oldval;
sum+=newres*newres;
k--;
}
desvio=Deviações de Banda*MathSqrt(soma/Período de Banda);
UpperBuffer[i]=oldval+deviation;
LowerBuffer[i]=oldval-deviation;
i--;
}
//----
retorno(0);
}
//+------------------------------------------------------------------+

não funcionou

este lado newres=C[k]-oldval;- '[' - ficha inesperada

O indicador Bollinger Bands.

 
Eu tentei usar o tutorial para fazer uma operação de acordo com o horário, tudo parece estar correto, mas o Expert Advisor não está ativo, por exemplo, eu preciso executar a função às 12.00 horas.

tempo duplo externo_Cls=12,00;

int start()
{
int Cur_Hour=Hour();
Cur_Min duplo =Minuto();
Cur_time duplo=Cur_Hour + Cur_Min100;
se (Cur_time==Time_Cls)
//minha função
retornar;
}
 
audiomoroz:

Estou tentando fazer uma operação baseada no tempo do tutorial, e tudo parece correto, mas o Expert Advisor não está ativo, por exemplo, a função deve ser executada às 12h00;


se (Cur_time==Time_Cls)
//minha função
retornar;
}
Porque disparar a execução do algoritmo por timer ou capturar a chegada de um tick com precisão de milissegundos são conceitos diferentes.
 

Camaradas,

Meu testador de estratégia no mesmo intervalo de tempo (01.05.2011 - 27.01.2012), o par de moedas EURUSD, nas barras horárias (H1), de uma corretora (Alpari) e do mesmo Expert Advisor, mas em computadores diferentes (laptop, desktop) mostra resultados opostos! No PC - $2000, no laptop +3000. E lá, e lá testado por 2-3 vezes.

Por favor, informe a causa e o que fazer e/ou me dê um link onde isso sobre o tópico possa ser lido.

 
chief2000:

Era isto que eu esperava, mas só compilou alguns indicadores e nada mais.

É necessário excluir previamente o arquivo mqlcache.dat da pasta com indicadores.
 
Zhunko:
Você tem que apagar o arquivo mqlcache.dat da pasta com os indicadores antes.

Sua solução funcionou!

Muito obrigado!

 

Tenho uma pergunta -
É possível saber pelo código do Indicador personalizado se a janela em que ele está rodando está ou não ativa no momento?
Por exemplo, o mesmo Indicador está funcionando em duas janelas - você precisa dele para trabalhar apenas na janela cujo gráfico está ativo e inativo na segunda janela.

Obrigado!