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 69

 

Olá!

Por favor, explique aos que têm mais experiência, por que preciso usar a função NormalizeDouble "em todos os valores calculados"? Já escrevi uma dúzia de EAs, já fiz sem ela em todos os lugares. Tudo funciona. E agora eu folheei o livro didático e encontrei alguns exemplos, e não entendo sua lógica. Aqui está um exemplo:

if (NormalizeDouble(SL,Digits)<NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Bid-TS*Point;
string Text="Buy"; // Texto para Buy
Modify=true; // Atribuído a modificar.
}

Por que você precisa do NormalizeDouble, ? Tudo funciona bem sem ele. Você pode escrever o código desta maneira:

Se(SL<Bid-TS*Point)
{
SL=Bid-TS*Point;
string Text="Compre "; // Texto para compra
Modify=true; // Atribuído para modificar.

}

E você terá o mesmo resultado.

Então, qual é o objetivo? Por que eu deveria arredondar algo se minha equação tem um sinal (<) em vez de (==)?

 
seu direito
 

Boa tarde.

Ajude-me aqui.

dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

O código encontra a distância do nível de preço atual até a tendência de acordo com a TrendLineName. Mas há um problema: aparentemente a tendência é transmitida de forma imprecisa entre as metades, razão pela qual a distância até o preço é diferente para as diferentes metades. Como contornar este problema? Idealmente, mesmo que a linha de tendência seja exibida apenas no H1, no horário aberto W1 (na verdade, em qualquer horário aberto) a distância calculada deve ser a mesma.

 
MauzerVII:
Qual é o número máximo de elementos em uma matriz?
10 000 000
 
Se não houver comparação de igualdade, você não precisa se preocupar com isso. A normalização também é necessária para a fixação de preços e lotes nas funções de abertura e modificação.
 
Olá, recentemente comecei a estudar o mql4, agora estou desenvolvendo um EA em 4 índices. O código compila, mas no testador, não funciona, ou seja, sem resultados. Por favor, ajude-me a corrigir um erro lógico ou outro, aqui está parte do código, pois acho que o problema pode estar nos índices da linha do indicador, obrigado antecipadamente
 // Торговые критерии
   FT_t=iCustom(NULL, 0, "ForexTrend", 1, 0);                       // forex trend если что менять индекс на 2 или 3
   TL_t=iCustom(NULL, 0, "TrendLord", 1, 0);                          // trend lord
   HA_t=iCustom(NULL, 0, "Heiken_Ashi_Smoothed", 1, 0);               // heiken ashi sm. менять индекс на 2-3
   FI_t=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0);            // FI

   {
   if ((HA_t == Lime) && FT_t == DeepSkyBlue && TL_t == LightSkyBlue && FI_t >= 0)   // условия 
   {
   Opn_B=true;
   }
   if (HA_t == Red || FT_t == Red || TL_t == LightSalmon || FI_t <= 0)
   {
   Cls_B=true;
   }
   }
   {
   if (HA_t == Red && FT_t == Red && TL_t == LightSalmon && FI_t <= 0)
   {
   Opn_S=true;
   }
   if (HA_t == Lime || FT_t == DeepSkyBlue || TL_t == LightSkyBlue || FI_t >= 0)
   {
   Cls_S=true;
   }
   }
 
bistreevseh:
Olá, acabo de começar a aprender o mql4, estou atualmente desenvolvendo um Expert Advisor com 4 índices. Comecei a desenvolver um mql4 Expert Advisor com 4 indicadores. O código deve ser compilado, mas não está funcionando no Strategy Tester, ou seja, não tenho resultados. Por favor, ajude-me a corrigir um erro lógico ou outro, aqui está parte do código, pois acho que o problema pode estar nos índices da linha do indicador, obrigado antecipadamente

Você está comparando o valor do buffer com a cor em que o buffer é exibido.

Levante os olhos para o topo do site - há material mais do que suficiente para pelo menos entender o básico.

 
bistreevseh:
Olá, acabo de começar a aprender o mql4, estou desenvolvendo atualmente um Expert Advisor com 4 índices. O código se compila bem, mas não está funcionando no testador, ou seja, sem resultados. Por favor, ajude-me a corrigir um erro lógico ou outro, parte do código aqui, eu acho que o problema pode estar nos índices da linha indicadora, obrigado antecipadamente.


Então, só por curiosidade, você tem estes índices com mais de uma linha? Você usa o segundo em todos os lugares, é assim que deve ser?

E sobre o testador, que modo você usa?

E sobre o código, você está comparando números fracionários sem normalização. A igualdade será difícil de ser alcançada.

 

Como posso exibir um indicador no gráfico diário para o qual o sinal é calculado com base na leitura de 15 minutos do EMA?

 
VladislavVG:

Você está comparando o valor do buffer com a cor em que o buffer é exibido.

Levante os olhos para o topo do site - há material mais do que suficiente para pelo menos entender o básico.


Peço desculpas pelo absurdo escrito acima, acabo de começar a estudar, é difícil entrar logo no assunto. Estive estudando por um dia inteiro e entendi sobre os amortecedores. Tenho um indicador personalizado, é um histograma, todos os valores são máximos, só importa a cor das barras no histograma, não tem parâmetros de entrada, buffers 2: 0 - com a barra vermelha, e 1 - barra azul, o método imperial, descobri que em 0 buffer não muda de valor, e 1 muda. Como escrever os critérios para a transação que eu não consigo entender, por favor explique como, obrigado antecipadamente.

Roger:


Então, só por curiosidade, você tem esses índices com mais de uma linha? Você usa a segunda linha em todos os lugares, é suposto ser assim?

E sobre o testador, que modo você usa?

E sobre o código, você está comparando números fracionários sem normalização. A igualdade seria difícil de ser alcançada.

Depois do posto superior, acho que não há mais perguntas)) sobre o testador, não compreendido realmente, com ou sem visual?