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

 
alexey1979621:
Obrigado. Eu sei sobre a chamada do indicador. Mas os parâmetros ajustáveis do indicador devem ser listados quando os aplicamos em testes ou em operação e como este EA não pode ser testado no testador (já que dois pares estão envolvidos na negociação), simplesmente não podemos escolher estes parâmetros no histórico.

Algo me diz que você não entende totalmente do que estamos falando. Este indicador faz a leitura de dois pares de moedas diferentes, estes pares são definidos em configurações externas do indicador. E se você aplicar a este indicador com parâmetros padrão em diferentes pares de moedas, você receberá valores errados dele. E não importa se você testá-lo ou falsificá-lo - você tem que prescrever o trabalho com o indicador corretamente!
alexey1979621:
Outra pequena pergunta que temos em dois negócios de instrumentos abertos para vender ou para comprar, mas se precisamos de um para abrir para vender por um instrumento e de outro para abrir para comprar, então como?

Como você especifica as condições de abertura, é assim que as ordens serão abertas. Se você não sabe o que o indicador diz, eu não posso ajudá-lo.

alexey1979621:
Havia 5 EAs trabalhando (irmãos gêmeos - para pares diferentes), é claro, com Majics diferentes.

Em sua versão, o trabalho com o Mágico não está especificado corretamente. As ordens são abertas com a Magik especificada, mas a verificação de ordens no mercado é feita com a Magik padrão. Deveria ser assim:

NumberOfPositions (/*рабочий символ*/, -1, Magic);
 

alexey1979621, por que você não tenta primeiro escrever uma EA em um par sem erros, e depois em várias moedas?

 

Tentando organizar um tique para um especialista - sem sorte. O fim de semana me pegou de surpresa. Como organizá-lo adequadamente? Por exemplo, temos o seguinte Expert Advisor elementar:

int delay = 180;
datetime read_now;
int init(){
   read_now = TimeCurrent() + delay;
}
int start(){
   int how_many_remains = read_now - TimeCurrent();
   Comment(StringConcatenate(
      StringSubstr("-", (how_many_remains%60 >= 0), 0),
      StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
      MathAbs(how_many_remains/60),
      ":",
      StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
      MathAbs(how_many_remains%60)
   ));
   return(0);
}

- como simular carrapatos e iniciar um temporizador?

Entendo que é fim de semana, mas no mercado o calendário de feriados não coincide com o de RF, e há trabalho a fazer...

 
gyfto:

Tentando organizar um tique para um especialista - sem sorte. O fim de semana me pegou de surpresa. Como organizá-lo adequadamente? Por exemplo, temos o seguinte Expert Advisor elementar:

- como simular carrapatos e iniciar um temporizador?

Entendo que é um fim de semana, mas no mercado o horário dos feriados não coincide com os de RF, e ainda é preciso trabalhar...


Por que sofrer por algo que você não tem que sofrer?

haverá um lançamento oficial das novas construções por volta do dia 20 de janeiro e.

Há um cronômetro implementado, com que freqüência você precisa com isso e será chamado.

É melhor gastar sua energia no estudo dos 5, de modo a não ter milhares de perguntas estúpidas.

 
ALXIMIKS:


Há um cronômetro implementado


Isto é para indicação até a próxima análise de dados. Às 03h00 a análise é iniciada a partir da própria EA por um script de terceiros, às 00h00 os dados são exibidos no gráfico, e tudo é iniciado novamente com a taxa de atualização de dados configurada em segundos. Uma contagem regressiva como esta seria mais fácil de implementar em um cinco?
 
Infelizmente, não sou competente nesta matéria, mas guardei o https://forum.mql4.com/ru/59441 para lê-lo à sua vontade, talvez seja útil para você.
 
#property indicator_separate_window
#property indicator_buffers 3
#property  indicator_color1 Gold
#property  indicator_color2 Gold
#property  indicator_color3 Gold
//+---------------------------------------------------------------------+
extern double _N_ = 1; 
extern double _M_ = -1; 
extern int History = 10000;
//+---------------------------------------------------------------------+
int p; 
//+---------------------------------------------------------------------+
double Buf_0[];
double Buf_1[];
double Buf_2[];
double RSI;
double ADX_Main; 
double ADX_dD;
double ADX_DD;
double price;
//+---------------------------------------------------------------------+  
bool R_adx;
bool R_time;
bool R_adx_time;
bool R_rsi_time;
bool R_rrsi_time;
//+---------------------------------------------------------------------+
int init()
{
//+---------------------------------------------------------------------+  
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(1,Buf_1);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(2,Buf_2);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
return;
}
//+---------------------------------------------------------------------+
int start()
{
//+---------------------------------------------------------------------+  
for(
p=0;
p<History;
p++)
{
//+---------------------------------------------------------------------+  
price = Bid;
//+---------------------------------------------------------------------+  
ADX_Main    = iADX(Symbol(),0,25,0,0,p);
ADX_dD      = iADX(Symbol(),0,25,0,1,p);
ADX_DD      = iADX(Symbol(),0,25,0,2,p);
RSI         = iRSI(Symbol(),0,25,0,p);
//+---------------------------------------------------------------------+  
R_adx         = (ADX_DD - ADX_dD) * ADX_Main; 
R_time        = Seconds() * Minute() * Hour(); 
//+---------------------------------------------------------------------+  
R_adx_time    = _N_ * (R_time + R_adx); 
R_rsi_time    = _N_ * (R_time + RSI);
R_rrsi_time   = _M_ * (R_time + RSI);
//+---------------------------------------------------------------------+  
Buf_0[p] = R_adx_time;
Buf_1[p] = R_rsi_time;
Buf_2[p] = R_rrsi_time;
//+---------------------------------------------------------------------+  
return; 
}
}
//+---------------------------------------------------------------------+  
Olá novamente!
Feliz Ano Novo, a todos!

Outro boato por ajuda.
O indicador "H" não está mostrando nenhuma linha.

Eu não consigo entender do que se trata.

O código para o indicador "H" é mostrado acima.
 
ALXIMIKS:
Salvei https://forum.mql4.com/ru/59441 para ler à vontade, talvez você o ache útil.

Eu já implementei a análise em si, por quê. Estou interessado em como emular o tick para fazer este temporizador funcionar. Preciso de tempo para me reciclar até o mql5 que vou perder e tempo é dinheiro.
 
Link_x:
Olá novamente!
Feliz Ano Novo, a todos!

Outro boato por ajuda.
O indicador "H" não está mostrando nenhuma linha.

Eu não consigo entender do que se trata.

O código para o indicador "H" é mostrado acima.

Valores extremos estão saindo algo como resultado do cálculo...
 
evillive:

Valores excepcionais saem algo como resultado do cálculo...
O importante é que eles sejam exibidos. :)

R_adx_time    = _N_ * (R_time + R_adx) / 500; 
R_rsi_time    = _N_ * (R_time + RSI) / 50 0;
R_rrsi_time   = _M_ * (R_time + RSI) / 50 0;
Faça isso e os valores-limite evaporam, mas o problema permanece.