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

 

Questões teóricas:

1. Como escrever uma função (onde ler sobre ela)?

2. Com que extensão deve ser compilada e guardada?

3. Em qual pasta eu a salvo?

4. Preciso escrever um roteiro separado para executá-lo (ou o Expert Advisor se encarregará de executá-lo)?

Muito obrigado aos que não passaram na minha pergunta!))

 

Olá, o indicador não desenha novos valores. Somente quando eu o coloco novamente no gráfico, ele atualiza os valores.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 White

//---- input parameters

extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0, val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);
   SetIndexBuffer(1, val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for(int i=3; i< limit; i++)
{ 

	F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
	F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
	F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
	F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
	F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
	F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
	val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
	val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }

Se você puder consertar o código!

Obrigado

 
Kostay писал(а) >>

Olá, o indicador não desenha novos valores. Somente quando eu o coloco novamente no gráfico, ele atualiza os valores.

Se você puder consertar o código!

Obrigado

int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   if ( limit<3) limit+=3;
   for(int i=3; i< limit; i++)
{ 

F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }
 

Vinin, obrigado pela ajuda. Fixou o indicador para visualizá-lo, mas ainda não desenha novos valores!!!!

Eu não entendo nada.

 
Kostay писал(а) >>

Vinin, obrigado pela ajuda. Fixou o indicador para visualizá-lo, mas ainda não desenha novos valores!!!!

Eu não entendo nada.

Acho que o número de barras atualizadas é sempre inferior a três e a condição do laço nunca é satisfeita

for(int i=3; i< limite; i++)
porque novos bares chegam um de cada vez. Talvez algo como

for(int i=3; i< limite+3; i+++)

 
Kostay писал(а) >>

Vinin, obrigado pela ajuda. Fixou o indicador para visualizá-lo, mas ainda não desenha novos valores!!!!

Eu não entendo nada.

É assim que o indicador de múltiplas moedas não deve funcionar na visualização. Ele retira dados de outros períodos de tempo do gráfico atual. É preciso fazer a sincronização do tempo para este tipo de trabalho.

 
Vinin >> :

Esta não é a forma como a ferramenta de múltiplas moedas deve funcionar na visualização. Ele retira dados de outros períodos de tempo do gráfico atual. A sincronização de tempo tem que ser feita para este tipo de trabalho.

Agora eu entendo. muito obrigado!!!!!!!!!!!!

 

Hi!

É possível alterar as configurações do MT4 com um EA, por exemplo, o tamanho do lote?

Se sim, por favor, avise!

 
vikon >> :

Hi!

É possível alterar as configurações do MT4 com um EA, por exemplo, o tamanho do lote?

Se sim, avise!

O tamanho do lote não é relevante para as configurações do MT4. :) É especificado como um parâmetro da função OrderSend ao enviar um pedido para abrir um pedido.

 
Everlost >> :

O tamanho do lote não está relacionado com as configurações do MT4. :) É especificado como um parâmetro da função OrderSend ao enviar um pedido para abrir um pedido.

Eu sei como abrir um pedido usando código.

Preciso criar um sistema semi-automático com propriedades de gerenciamento.

Abro uma posição manualmente, mas a EA monitora o tamanho do lote e o altera por padrão na MT (serviço/definições/volume comercial/defaultos)

É possível fazer isso?