O erro apareceu ao calcular com segurança o restante da divisão no método CAxis::Mod.
Costumava haver um método numérico implementado ali, sem utilizar a função MathMod, mas seu exemplo mostrou que a precisão deste método não é a melhor em alguns casos.
Portanto, tive que mudar este método para:
//+------------------------------------------------------------------+//| Calculate the modulus (remainder) in a safe manner so that divide|//| by zero errors are avoided |//+------------------------------------------------------------------+double CAxis::Mod(constdouble x,constdouble y)
{
//--- check if(y==0)
return(0);
//--- calculate modulusreturn (x>0)? MathMod(x,y): MathMod(x,y)+y;
}
então, quando se muda um parâmetro externo, o gráfico desaparece periodicamente. Não na primeira vez. Você pode mudar o parâmetro 3-5 vezes e ele se perde ao acaso, e não para sempre. Ele pode ser encontrado através de prazos de troca ou comércio automatizado (ativado ou desativado).
Se você criar um gráfico em Expert Advisor, por exemplo:
então, quando o parâmetro externo é alterado, o gráfico desaparece periodicamente. Não desde a primeira vez. É possível mudar o parâmetro 3-5 vezes e então ele é perdido aleatoriamente em algum lugar, e não para sempre. Ele pode ser encontrado através da mudança de prazos ou negociação automática (ativada - não ativada).
Como posso evitar que algumas linhas sejam escritas na lenda? Eu só tenho uma linha que é pontos na coordenada Y e preciso fazer estes pontos em cores diferentes, então é uma linha de cor diferente e mostra a mesma informação, embora seja feita com linhas diferentes, e só preciso colocar informações resumidas sobre esta linha na lenda, existem muitas linhas de cores diferentes. Como posso fazer isso?
E outra pergunta, por que especificar uma cor "Vermelho", mas ela é exibida na tabela como azul, enquanto o verde é exibido corretamente?
if(TypeInfo=="TP_FP")
{
graphicP.HistoryNameSize(Point_K);//Устанавливает размер шрифта имени кривой
graphicP.HistorySymbolSize(Point_K);//Получить/установить размер символов условных обозначений
CCurve *A=graphicP.CurveAdd(X,Y,Green,CURVE_POINTS,N_Model+"("+N+")");//Создает и добавляет кривую на график
A.PointsFill(true);//Устанавливает флаг, указывающий, нужно ли выполнять заливку для точек, определяющих кривую при отрисовке точками.
A.PointsType(POINT_VERTICAL_DASH);//Устанавливает флаг, указывающий на тип точек, использующихся при отрисовке кривой точками.
}
if(TypeInfo=="FN")
{
//graphicP.HistoryNameSize(1);//Устанавливает размер шрифта имени кривой//graphicP.HistorySymbolSize(1);//Получить/установить размер символов условных обозначений
CCurve *A=graphicP.CurveAdd(X,Y,Red,CURVE_POINTS,"");//Создает и добавляет кривую на график
A.PointsFill(false);//Устанавливает флаг, указывающий, нужно ли выполнять заливку для точек, определяющих кривую при отрисовке точками.
A.PointsType(POINT_VERTICAL_DASH);//Устанавливает флаг, указывающий на тип точек, использующихся при отрисовке кривой точками.
}
Anatoly, muito obrigado! Isso ajudou no ponto 1. Sim, eu perdi oCAxis::MaxGrace(const duplo valor) método do eixo.
Aqui está outro pequeno exemplo:
Aplicação #1827124.
Aplicação #1827124.
O problema foi resolvido da seguinte forma:
Equipe deapoio2018.01.15 14:30
O erro apareceu ao calcular com segurança o restante da divisão no método CAxis::Mod.
Costumava haver um método numérico implementado ali, sem utilizar a função MathMod, mas seu exemplo mostrou que a precisão deste método não é a melhor em alguns casos.
Portanto, tive que mudar este método para:
//---
O resultado com os mesmos parâmetros:
Inicialização no especialista em CGraphic.
Se você criar um gráfico no Expert Advisor, por exemplo
então, quando se muda um parâmetro externo, o gráfico desaparece periodicamente. Não na primeira vez. Você pode mudar o parâmetro 3-5 vezes e ele se perde ao acaso, e não para sempre. Ele pode ser encontrado através de prazos de troca ou comércio automatizado (ativado ou desativado).
Podemos fazer com que não seja perdido?
Inicialização no especialista em CGraphic.
Se você criar um gráfico em Expert Advisor, por exemplo:
então, quando o parâmetro externo é alterado, o gráfico desaparece periodicamente. Não desde a primeira vez. É possível mudar o parâmetro 3-5 vezes e então ele é perdido aleatoriamente em algum lugar, e não para sempre. Ele pode ser encontrado através da mudança de prazos ou negociação automática (ativada - não ativada).
Você pode fazer para que não se perca?
Você cria e destrói o objeto no nível local da função OnInit.
Criar um em nível global.O problema foi resolvido com a reinstalação do MT.
Não consigo me acostumar ao fato de que pode não haver um erro quando ocorre um erro.
Você pode me dizer como mudar a largura da lenda, ou remover completamente o espaço destinado a ela?
E outra pergunta, por que especificar uma cor "Vermelho", mas ela é exibida na tabela como azul, enquanto o verde é exibido corretamente?
E outra pergunta, por que especificar uma cor "Vermelho", mas ela é exibida na tabela azul, enquanto o Verde é exibido corretamente?
Eu descobri, a cor tem que ser definida da seguinte forma