[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 298

 
Croaker:

Saudações a todos os conhecedores e leitores experientes deste tópico! E qualquer um que possa me ajudar=)

Qual é a maneira mais fácil e "correta" de atingir a periodicidade? Isto é, para simplificar, quero executar automaticamente alguma ação a cada 15 minutos.

No meu caso, é salvar um arquivo em disco com algumas estatísticas. Agora eu tenho um roteiro que faz o que eu quero, e são literalmente 20 linhas de código. Então, como faço para que essas 20 linhas se repitam em intervalos? Como eu entendi, não há temporizadores na MQL. Preciso usar um EA que fará algum tipo de verificação a cada tique?

Espero por sua ajuda e dicas)

Por exemplo, verifique a existência de um novo bar aos 15 minutos de duração.

Ou lembre-se da hora de início e verifique a hora atual.

https://docs.mql4.com/ru/dateandtime/TimeCurrent

et=timecurrent();

se (et-bt>15*60) {bt=timecurrent(); dados de carga}

 
Croaker:

Quero que uma determinada ação seja realizada automaticamente a cada 15 minutos.

datetime save_time;
int tf=15;

start()===============================================

if(save_time!=iTime(0,tf, iBarShift(0,tf,Time[0]))){
        save_time =iTime(0,tf, iBarShift(0,tf,Time[0]));
        Alert("Новая свеча ТФ=" tf);
     }
 
pvm117:

Os estimados gurus não podem ajudar?

pvm117 20.10.2011 18:26

Boa tarde!

Como primeira experiência, decidi implementar o seguinte algoritmo: posso esperar um forte movimento de mercado para cima ou para baixo em algum tempo depois que as linhas Bollinger convergirem em um corredor estreito. Em meu consultor especializado, analiso o estado das linhas Bollinger e quando elas estão chegando muito perto(pips Delta), colocamos uma ordem de venda pendente na direção inferior (no stepOpen pips abaixo da linha inferior), esperando que o mercado vá de repente nessa direção. Se o mercado seguisse em outra direção, simplesmente apagávamos esta ordem.

O algoritmo funciona de forma instável, às vezes abre duas ordens em intervalos curtos, dá constantemente erros OrderSend Error 130 e OrderSend Error 138, e remove ordens abertas caso o mercado se mova em outra direção não funcione de forma alguma.

Por favor, avise-nos! Obrigado!

Para um testador e para não prestar atenção ao erro 130, simplesmente não é possível fazer um pedido de parada a este preço.

A seguir é com você.

Arquivos anexados:
temp_2.mq4  21 kb
 

Pessoal, eu sou novo nisso, me ajudem a encontrar um bug, por favor.

Tentei escrever um indicador para calcular o número de velas em ascensão e em queda para um determinado período da história. Eu tentei escrever um indicador para isto, ele não aparece quando o coloco na janela do indicador. O que está errado? Aqui está meu código. Obrigado de antemão.

#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 2
#indicador de propriedade_color1 Verde
#indicador de propriedade_color2 Vermelho

int Wh;
int Bl;
int a[];b[];
história int externa=500;
//+------------------------------------------------------------------+
int init(){
SetIndexBuffer(0,a);
SetIndexBuffer(1,b);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
retorno(0);}
//+------------------------------------------------------------------+
int deinit(){return(0);}
//+------------------------------------------------------------------+
int start()
{
int CountedBars=IndicatorCounted();
int i=Bars-CountedBars-1;
se (i>História-1) i=História-1;
while(i>=0)
{
se (Close[i]>Open[i])Wh++;
se (Close[i]<Open[i])Bl++;
a[i]=Wh;
b[i]=Bl;
i--;
}
retorno(0);}

 
Ellie:

Pessoal, eu sou novo nisso, me ajudem a encontrar um bug, por favor.

Tentei escrever um indicador para calcular o número de velas em ascensão e em queda para um determinado período da história. Eu tentei escrever um indicador para isto, ele não aparece quando o coloco na janela do indicador. O que está errado? Aqui está o meu código. Obrigado de antemão.



Substituir por

int a[],b[];

Ir para

double a[],b[];
 
Ooh, obrigado, está funcionando. Eu só não entendo porque tem que ser assim. O número de velas é um número inteiro. Você poderia explicar em poucas palavras, por favor?
 
Ellie:
Ooh, obrigado, está funcionando. Eu só não entendo porque tem que ser assim. O número de velas é um número inteiro. Você poderia explicar em poucas palavras, por favor?


Preste atenção aos tipos de parâmetros passados para a função SetIndexBuffer() .

 
Muito obrigado. Quero dizer, ontem li sobre este recurso oito vezes, mas não me chegou a 10
 
Roll:
Se você corrigir um pouco mais:
seria melhor...

Sim, obrigado, eu já notei))))
 
Ellie:
Sim, obrigado, eu já notei))))
Há mulheres em aldeias russas. E isso é uma coisa boa.