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 336

 
evillive:
Tente
Obrigado.
 
evillive:
Não, ele então pensou sobre isso e decidiu que 140,15 ou 140,35 também é um preço íngreme e pode ser necessário. O cliente ainda não decidiu o que precisa simplesmente ))))

artmedia70:
Bem... Quando ele finalmente decidir o que quer, deixe-o começar a pensar ...


Bom dia!

Os senhores são muito educados, dado o título deste tópico.

COMEÇO a pensar. E percebeu que o que você aconselhou não resolve o problema.

Não há cliente))), estou escrevendo por mim mesmo. A tarefa era fundamentalmente como explicar o preço do assessor após o ponto decimal, no qual a ação é executada.

O preço pode ser XXX.01 ou XXX.34 - não importa. XXX.00 Eu apontei para um exemplo.

Acabou sendo simples.

int start()                                   // Спец. функция start
  {
//----
   double Price, Level, Level_2;                 // Текущая цена и уровень для расчета
   Price=Bid;                                    // Запрашиваем цену
   Level=MathFloor(Bid);                         // Задаем уровень XXX.00
   Level_2 = MathFloor(Bid)+50*Point;            // Задаем уровень ХХХ.50
                              
//----
   if (Price==Level)                                      // Если цена на уровне ХХХ.00
     {
      Comment("Курс был равен  заданному уровню ", Level);    // Сообщение трейдеру
     }
     
   if (Price==Level_2)                                    // Если цена на уровне ХХХ.50
     {
      Comment("Курс был равен  заданному уровню ", Level_2);   // Сообщение трейдеру
     }
   
   return;// Выход из start()

"Nível2" = 50 pode ser movido para variáveis externas e podemos definir qualquer nível que nos interesse no momento.

A pergunta é retirada.

P.S. O exemplo é para pares de ienes (duas casas decimais). Para 4 dígitos deve ser escrito um pouco diferente (!Beginners, se interessados, perguntem a um profissional como)) ).

Eu escrevo em fóruns muito raramente. O desejo de mudar os hábitos não apareceu.


Bom dia para todos vocês e boa sorte.

 
Os alertas e as impressões no código afetam o tempo de otimização?
Isto é, a otimização sabe como contorná-las ou precisa ser feita no nível do usuário?
 
chief2000:
Os alertas e as impressões no código afetam o tempo de otimização?
Isto é, a otimização sabe como contorná-las ou precisa ser feita no nível do usuário?


Afete, especialmente se você emitir o resultado de um cálculo faminto de tempo. Melhor inserir IsOptimization() verificar antes dos alertas.
 
evillive:

Eles o fazem, especialmente se você emitir o resultado de um cálculo faminto de tempo. É melhor inserir a verificação IsOptimization() antes dos alertas.

Referia-me aos próprios comandos de Alerta e Impressão em vez de cálculos de saída. Eles não são úteis durante a otimização, mas eles podem ser automaticamente desativados pelo otimizador ou não? (Cada verificação adicional também afeta a velocidade de otimização).
 
chief2000:

Eu não estava me referindo aos cálculos de saída, mas aos próprios comandos de Alerta e Impressão. Eles não são úteis durante a otimização, mas eles são automaticamente desativados pelo otimizador ou não? (cada verificação adicional também afeta a velocidade de otimização)


Tanto Alerta, Impressão e Verificação têm um efeito. Mas o controle é menos demorado.
 
evillive:

Tanto o alerta como a impressão e o cheque são afetados. Mas a verificação é menos demorada.

Tanto quanto sei, Alerta e Impressão em modo de otimização (não teste) são simplesmente ignorados pelo testador, não afetando, portanto, nada... O MarketInfo tem um impacto muito maior na velocidade, ele pode realmente retardar o processo. Ajuda realmente se(IsTesting()) e se(IsOptimization()); por exemplo, se o programa monitora constantemente a propagação atual, não é necessário no testador.

 
alsu:

Tanto quanto sei, Alerta e Impressão em modo de otimização (não teste) são simplesmente ignorados pelo testador, não afetando, portanto, nada... O MarketInfo tem um impacto muito maior na velocidade, ele pode realmente retardar o processo. Aqui realmente ajuda se(IsTesting()) e se(IsOptimization()); por exemplo, se o programa controla constantemente a dispersão atual, não há necessidade no testador.


Se isto não for corrigido, então os comentários podem realmente retardar o MT.
Sobre MarketInfo - você quer dizer o próprio comando? E por exemplo o uso de Bid/Ask (em sua forma pura, para o símbolo atual)?
 
chief2000:

Se isto não for corrigido, os comentários podem realmente retardar a MT.
Sobre MarketInfo - você está se referindo diretamente ao próprio comando? E por exemplo usando Bid/Ask (em sua forma pura, para o símbolo atual)?

No testador MarketInfo() não funciona, e Bid and Ask são lentos e distorcidos. Assim, a conselho de Xrust, recebo-os de iClose(NULL,0,0):

  if(IsOptimization() || IsTesting() || IsVisualMode())
  {
    Spread = 21; 
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = NormalizeDouble(iClose(Symbol(),0,0),Digits);
    ask = NormalizeDouble(iClose(Symbol(),0,0)+spr,Digits);
  }
  else
  {
    Spread = MarketInfo(Symbol(),MODE_SPREAD);
    spr = NormalizeDouble(Spread*Point,Digits);
    bid = MarketInfo(Symbol(),MODE_BID);
    ask = MarketInfo(Symbol(),MODE_ASK);
  }
 
borilunad:

No testador MarketInfo() não funciona, e Bid and Ask são lentos e distorcidos. Portanto, a conselho de Xrust, recebo-os de iClose(NULL,0,0):


muletas, imho.