[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 10

 
E outra questão relacionada com o funcionamento da biblioteca.
Eu criei o arquivo da biblioteca, compilei-o, tudo transcorreu sem erros.
Eu importei a função para o código indicador, compilei-o, tudo está bem também.
Quando inicio o indicador, a função a ser importada não é executada, quando uso

código indicador, tudo funciona. Aqui está o código da biblioteca.

//+------------------------------------------------------------------+
//|                                                         lib1.mq4 |
//|                                         Copyright © 2012, Fox.RM |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, Fox.RM"
#property link      "http://www.metaquotes.net"
#property library
//+------------------------------------------------------------------+
//| My function                                                      |
//+------------------------------------------------------------------+
double Sredn(double ArrSr[])
{
double a=1,c,step=1/20;
for (int i=0;i<=20;i++)
{if (ArrSr[i]==0){a*=1;}else{a*=MathAbs(ArrSr[i]);}}
c=MathPow(a, step);
  return(c);
}
//+------------------------------------------------------------------+

Esta é uma chamada no código indicador:

#import "lib1.ex4"
    double Sredn(double& ArrSr[]);
    void SetText(string name, string name2, string text, string text2, color c, 
int size);
#import

 
Fox_RM:
Bom dia a todos!
Decidi reescrever o código do meu indicador para que um Expert Advisor possa rastrear
Decidi mudar o código do meu indicador para rastrear o funcionamento de seus sinais.
Eu não tenho erros ao compilá-lo e ele funciona no Testador de Estratégia sem erros.

Não sei como utilizá-lo.

Z.I. Tenho certeza de que há muitos erros e estúpidos, por favor, atire em espaços em branco.

int counted_bars=IndicatorCounted(); 

Você mesmo escreve que tem um Expert Advisor e a função é de um indicador.

Conte o número de barras que você quer à força e não mais.


Em segundo lugar, acrescente uma verificação de que já houve uma abertura por este sinal ou você receberá um novo pedido a cada sinal.

Terceiro, verifique a função iCustom

 
ilunga:

Você mesmo escreve que tem um Expert Advisor, e a função é de um indicador.

Conte o número de barras que você quer à força e não mais.

E como você força o cálculo?
 
Fox_RM:
Bom dia a todos!
Decidi reescrever o código do meu indicador para que um Expert Advisor possa rastrear
Decidi mudar o código do meu indicador para rastrear o processamento de seus sinais.
Eu não tenho erros ao compilá-lo e ele funciona no Testador de Estratégia sem erros.

Não sei como utilizá-lo.

Z.I. Tenho certeza de que há muitos erros e estúpidos, por favor, atire em espaços em branco.


Preço de abertura
if (Sredn(TP_UP)>=2.5)OrderSend(Symbol(),OP_SELL,0.1,Close[i],2,50,20);
 if (Sredn(TP_DN)>=2.0)OrderSend(Symbol(),OP_BUY,0.1,Close[i],2,50,20);
 
Fox_RM:
Como você força uma contagem?
Apenas o sinal na barra 0 é importante para os Expert Advisors e para a abertura de negócios, não é? Portanto, reduza o ciclo de cálculo do número de barras para o número necessário para este cálculo
 
r772ra:

Preço de abertura

Ou seja, usar esta condição para o recálculo das barras?

Mas em meu indicador, a cada tique as arrays TP_UP e TP_DN são calculadas.Portanto, devemos calculá-las antes de tudo.

 
ilunga:
Para seu Expert Advisor e para abrir negócios, o único sinal na 0ª barra é importante, não é? Portanto, reduza o ciclo de cálculo do número de barras para o número necessário para este cálculo

Eu tentei abrir pedidos em um novo bar lá usando a função NewBar(). Se for utilizado para este fim?

Por exemplo, if (NewBar())i++; Algo assim.

 
ilunga:
Para seu Expert Advisor e abertura comercial é apenas o sinal na barra 0 que importa, não é? Portanto, reduza o ciclo de cálculo do número de barras para o número necessário para este cálculo
E eu ainda não entendo bem qual é a diferença fundamental entre estes dois cálculos para um consultor especializado;(
 
Fox_RM:
E outra questão relacionada com o funcionamento da biblioteca.
Eu criei o arquivo da biblioteca, compilei-o, tudo transcorreu sem erros.
Eu importei a função para o código indicador, compilei-o, tudo está bem também.
Quando inicio o indicador, a função a ser importada não é executada, quando uso

código indicador, tudo funciona. Aqui está o código da biblioteca.

Esta é uma chamada no código indicador:

Talvez você não tenha preparado a matriz corretamente no indicador init()? Eu o entendi corretamente - a função importada não funcionava lá?
 
TarasBY:
Talvez a matriz não tenha sido preparada corretamente no indicador init()? Eu o entendi corretamente - a função importada não funcionou lá?
Não, não foi. Eu verifiquei, tudo parece estar correto. E além disso, por que funciona corretamente quando é usado no programa?
Razão: