[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 289

 
TheXpert >> :

A rigor, não. Mas muito perto.

Mais especificamente, onde fica por perto?

Gostaria de ouvir algumas reflexões sobre os posts anteriores, sobre código, lógica, etc.

>> obrigado antecipadamente.

 

Obrigado por sua atenção.

Esta é a aparência da EA

//+------------------------------------------------------------------+
//| Bibliot.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2009, MetaQuotes Software Corp."
#link da propriedade "http://www.metaquotes.net"

#Incluir <PointZigZag.mqh>

int init()
{retorno(0);}
int deinit()
{retorno(0);}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{PointZigZag();
Comentário("Prod.-y21 = ",y21," ", "Pok.-x21 = ",x21);
retorno(0);
}
//+------------------------------------------------------------------+


E é este o aspecto do arquivo. Ela funciona no terminal onde foi criada. Mas ao compilá-lo, escreve - Função Start não encontrada e não pode ser executada.

//+------------------------------------------------------------------+
//| PointZigZag.mqh |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#propriedade copyright "Copyright © 2009, MetaQuotes Software Corp.
#link da propriedade "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| EX4 importações |
//+------------------------------------------------------------------+
#importar "PointZigZag.ex4".

ExtDepth externo interno = 12; //------- variáveis ZigZag
ExtDeviação externa interna = 5; //------- variáveis ZigZag
intBackstep externo = 3; //------- variáveis ZigZag
ShiftBars externo interno = 2; //------- variáveis ZigZag
//------- variáveis ZigZag ------------------------------------------
duplo y3, y2, y1, zz;//
int x3, x2, x1, sh;//
duplo x31, x21, x11; // ponto de inflexão ZigZag
duplo y31, y21, y11; // ponto de inflexão ZigZag
duplo TimeZZ, TimeOOO;
//------------------------------------------------------------------------------

duplo PointZigZag()
{y3=0;y2=0;y1=0;
sh=ShiftBars;
enquanto (y3==0)
{zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
se (zz!=0 && zz!=EMPTY_VALUE)
{ se (y1==0) { x1=sh; y1=zz; }
senão se (y2==0) { x2=sh; y2=zz; }
senão se (y3==0) { x3=sh; y3=zz; }}}sh+++;
}
se (Alto[x1]>Alto[x2])
{x11=Alto[x1]; x21=Baixo[x2]; x31=Alto[x3];
y11=0;y21=0;y31=0;TimeZZ=Time[x2];
}else
{y11=Baixo[x1]; y21=Alto[x2]; y31=Baixo[x3];
x11=0;x21=0;x31=0;TimeZZ=Time[x2];}

}
#importar
//+------------------------------------------------------------------+
 

Eu não sou especialista, mas os arquivos da biblioteca não precisam ser compilados separadamente. Portanto, a função Start não foi encontrada e não pode ser executada. O arquivo da biblioteca será automaticamente incluído no código e compilado ao compilar a EA (onde há uma função Start).

Além disso, não está claro para mim. Aconselho comentar o #import "PointZigZag.ex4" e #importar. Deve funcionar.

 

Melhor ainda, junte tudo isso em um EA. e jogue tudo o resto fora.

//+------------------------------------------------------------------+
//| Библиот.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

extern int ExtDepth = 12; //------- переменные ZigZag
extern int ExtDeviation = 5; //------- переменные ZigZag
extern int ExtBackstep = 3; //------- переменные ZigZag
extern int ShiftBars = 2; //------- переменные ZigZag
//------- переменные ZigZag ------------------------------------------
double y3, y2, y1, zz;//
int x3, x2, x1, sh;//
double x31, x21, x11; // Точки перегиба ZigZag
double y31, y21, y11; // Точки перегиба ZigZag
double TimeZZ, TimeOO;
//------------------------------------------------------------------------------

int init()
{return(0);}
int deinit()
{return(0);}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ PointZigZag();
Comment("Прод.-y21 = ", y21," ","Пок.-x21 = ", x21);
return(0);
}
double PointZigZag()
{ y3=0; y2=0; y1=0;
sh= ShiftBars;
while ( y3==0)
{ zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh);
if ( zz!=0 && zz!=EMPTY_VALUE)
{if ( y1==0) { x1= sh; y1= zz; }
else if ( y2==0) { x2= sh; y2= zz; }
else if ( y3==0) { x3= sh; y3= zz; }} sh++;
}
if (High[ x1]>High[ x2])
{ x11=High[ x1]; x21=Low[ x2]; x31=High[ x3];
y11=0; y21=0; y31=0; TimeZZ=Time[ x2];
}else
{ y11=Low[ x1]; y21=High[ x2]; y31=Low[ x3];
x11=0; x21=0; x31=0; TimeZZ=Time[ x2];}

}
//+------------------------------------------------------------------+
 
granit77 >> :

Ou, melhor ainda, reuni-los todos juntos em um Expert Advisor, e jogar todo o resto fora.

Tudo isso é compreensível. Mas esse foi um exemplo abstrato.

Gostaria simplesmente de criar uma biblioteca de diferentes funções para outros fins, e depois usá-las.

Por favor, pense um pouco mais sobre o que poderia ser a razão. >> Obrigado.

 
gvi2504 >> :

Tudo isso é compreensível. Mas esse foi um exemplo abstrato.

Gostaria apenas de criar uma biblioteca de diferentes funções para outros fins, e depois usá-las.

Por favor, pense novamente, qual poderia ser a razão. >> Obrigado.

Obrigado pela sugestão. Gostei tanto de sua última frase, que a devolvo a você. Meu palpite é que o arquivo da biblioteca não está escrito corretamente, existem #incluir e #importar e uma função embutida. É amanteigado. Jogá-lo fora, ler um livro e escrevê-lo novamente.

 

Como vocês testam seus EAs, digamos em um período de um ano? Li tantas informações, mas não posso fazer nada sobre o fato de que meu gráfico M1 não pode ir além de 5 de março de 2009. De forma correspondente, não posso definir o período de testes antes de 5 de março. Tentei carregar as cotações para a MT através do arquivo serviço>cotações, isso não ajuda. A rolagem manual também não ajuda.... Isto é o que recebi do suporte técnico da empresa de corretagem:


"Infelizmente, Metaquotes não fornece um programa especial, o chamado "servidor histórico" para os centros de negociação, portanto, existem estas limitações. Também quando você selecionar o menu "Service-Archive" e clicar em "Download" - você receberá o aviso de que os dados históricos do servidor MetaQuotes serão baixados.

p.s. Vários centros de negociação (e nós estamos entre eles) tentaram fazer com que a MetaQuotes permitisse baixar dados (sem restrições) de uma corretora em particular. No entanto, até agora eles só prometeram disponibilizar este serviço no MT5.


E o que devo fazer se eu quiser verificar meu consultor especializado a longo prazo?

 
Noterday >> :

Como vocês testam seus EAs, digamos em um período de um ano? Li tantas informações, mas não posso fazer nada sobre o fato de que meu gráfico M1 não pode ir além de 5 de março de 2009. De forma correspondente, não posso definir o período de testes antes de 5 de março. Tentei carregar as cotações para a MT através do arquivo serviço>cotações, isso não ajuda. A rolagem manual também não ajuda.... Isto é o que recebi do suporte técnico de minha corretora:


"Infelizmente, Metaquotes não fornece um programa especial, o chamado "servidor histórico" para os centros de negociação, portanto, existem estas limitações. Também quando você selecionar o menu "Service-Archive" e clicar em "Download" - você receberá o aviso de que os dados históricos do servidor MetaQuotes serão baixados.

p.s. Vários centros de negociação (e nós estamos entre eles) tentaram fazer com que a MetaQuotes permitisse o download (sem limitação) de dados de uma determinada corretora. No entanto, até agora eles só prometem disponibilizar este serviço no MT5".


E o que devo fazer se eu quiser verificar minha EA por um longo período de tempo?

Além disso, no MT5 não se espera apenas isso, tudo é construído em М1 e a outra TF é calculada a partir de М1 (esse histórico será apenas em М1) Bem, coloque uma janela maior e baixe a partir de MetaQuotes , caso contrário não há como. Se você não tiver executado MT antes da data de início e MQ, e não tiver guardado seus próprios movimentos, de jeito nenhum.

Embora pergunte quem poderia tê-los salvo, há pessoas que têm salvo citações mesmo desde o MT-2.

(Desculpe, não sei o que aconteceu antes do MT-2, mas não tenho tido muito tempo em Forex).

 
Histórico de carga e (escrever) teste o Consultor Especialista em "Preços de Abertura" em pelo menos n1...
 
rid >> :
Histórico de carga e (escrita) teste de um EA sobre "Preços de abertura" em af, pelo menos n1...

Sim, de fato, começou os testes :) Mas algo me parece que por causa de tal confusão o sistema não se mostrará. Talvez o indicador não seja calculado corretamente sobre tais dados ou algo mais ... especialmente porque o sistema foi projetado para minutos. Obrigado de qualquer forma!

Razão: