MetaTrader 4 Build 529 beta lançado com novo compilador - página 108

 

Serei eu o único?

A história, tudo por símbolo, é carregado por F2. Estou fazendo testes em todos os carrapatos. Apenas uma semana. De 2013/12/02 a 2013/12/10.

O testador começa a carregar M1 e é isso... Apague a luz, atire uma granada. 8 minutos de carga de histórico, depois mais cinco minutos de todo o sistema pairando. Depois, por mais três minutos, pressionei Abort nas janelas pop-up da Mozilla, que o roteiro não estava respondendo ... Só começou a testar cerca de 15 minutos depois de pressionar Start no testador. E é assim toda vez que começo com todos os carrapatos. Isto nunca tinha acontecido antes.

 
MetaDriver:

Eu tento nunca dar nomes russos a pastas. Para evitar tais problemas.

// E nenhum patriotismo durante a noite. :)


Somente durante o dia? :)
 
tara:

Somente durante o dia? :)
Também ao pôr-do-sol às vezes
 
artmedia70:
Também ao pôr-do-sol às vezes


Ame a pátria, sua mãe!
 

A função coloca um objeto de texto na janela gráfica dada:

//+----------------------------------------------------------------------------+
void SetArrowText(int ww, string text, color cl, string font="Arial", string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TEXT, ww, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSetText(nm, text,sz, font, cl);
}
//+----------------------------------------------------------------------------+

Eu o chamo assim:

         if(DrawGraphics) {                           // если рисуем графические объекты
            nm=Prefix+"_RPBar_"+TimeToStr(Time[i]);
            SetTLine(RedPointLineColor,0,nm,Time[i],Low[i],Time[i],WindowPriceMin(0),false,redPointLineStile,redPointLineWidth);
            wnd=WindowFind("i_StdDev("+sdperiod+")"); // номер окна индикатора
            if(wnd>0) {                               // если индикатор на графике, нарисуем метку
               nm=Prefix+"_RedPoint"+TimeToStr(Time[i]);
               SetArrowText(wnd, "RP", RedPointArrowColor, RedPointFont, nm, Time[i], dev(i), redPointArrowSize);
               }
            }

Ou seja, primeiro desenhamos a linha de tendência no gráfico de preços, depois, se houver uma janela indicadora, desenhamos um objeto de texto nele. A linha de tendência no gráfico de preços é exibida corretamente e é posicionada onde deveria estar - no momento da ocorrência do evento. Entretanto, o texto na janela indicadora - oh meu deus ... ele se move atrás da barra zero. E aqui começa a coisa mais interessante. Tanto o texto quanto a etiqueta do texto comportam-se exatamente da mesma maneira - eles permanecem onde foram colocados. Assim que você faz o objeto de texto selecionado e, eis que ele fica onde está. Vamos ilustrar. Todos os objetos de texto se amontoaram perto da barra zero (movi o gráfico para frente e para trás, e os objetos ficam onde estavam porque não estão na barra zero):


Mas agora vou apenas clicar neles com o mouse e todos eles tomarão seus lugares:


ZS. Que eles removeram dos nomes dos objetos o caminho para eles do diretório de dados - obrigado.

 
 
artmedia70:



Trabalhando para a vra?))
 
Patrol:

Sim, eu já entendi isso. Eu queria ter certeza de ter entendido corretamente a nova estrutura, por isso me referi à MQL4\Samples\DLLSample\DLLSample.cpp na nova construção 555, mas ela ainda está lá:

Acho que deveria ser assim, como eu o entendo:

Por favor, esclareça.

Sim, você acertou.

PS. A propósito, você pode resolver o problema com pouco esforço.

Forme uma matriz de estruturas no formato antigo e transfira essa matriz para uma DLL, como antes. O que também não precisará ser reescrito.

 
Zhunko:
Substituir a estrutura da barra não é apenas uma emboscada, é uma emboscada!
Este problema é muito fácil de resolver. Você forma um conjunto de estruturas no formato antigo e, como antes, passa-o para a DLL
 
stringo:
Este problema é muito fácil de resolver. Você forma um conjunto de estruturas no formato antigo e, como antes, passa-o para a DLL

Isso é apenas algo que eu disse em tom de brincadeira. O trabalho da antiga função não muda.

Há cerca de 4 anos, comecei a escrever um conjunto de aulas para todas as ocasiões com citações históricas. Eu o faço há 3 anos, junto com testes. No início, eu queria fazer um modelo de estrutura de barra com três parâmetros, mas depois vi que ninguém usa uma variedade tão grande. Decidi fazê-la com dois parâmetros. Mas agora terei que acrescentar mais alguns.

Razão: