uma estratégia comercial baseada na Teoria da Onda de Elliott - página 76

 
Um ponto importante - os objetos não são criados ou desenhados? As propriedades dos objetos não pintados podem ser lidas?
 
Aqui está uma nova surpresa - o desenho de flechas não altera o tempo de execução, é interessante.
O tempo é de 4,5 minutos, na verdade não mudou.

2006.07.08 19:35:45 HistoryChannells EURUSD,M30: Deinitialized<br / translate="no"> 2006.07.08 19:35:45 HistoryChannells EURUSD,M30: Running deinit()
2006.07.08 19:35:45 PM HistoryChannells EURUSD,M30: Tempo de algoritmo otimizado 261281 ms
2006.07.08 19:31:24 HistóriaCanais EURUSD,M30: inicializados
2006.07.08 19:31:19 HistóriaCanais EURUSD,M30: carregados com sucesso
2006.07.08 19:31:11 Compilando 'HistoryChannells
 
Um ponto importante - os objetos não são criados ou desenhados? As propriedades dos objetos não pintados podem ser lidas? <br / translate="no">


Os objetos são criados - eu verifiquei especificamente, você pode até mesmo ver a propriedade da seta "invisível". Aqui está o código:
     centerLR=BestChannels[0][2]*(últimaBar-1)+BestChannels[0][3]; ObjectCreate("up "+UpArrowCounter,OBJ_ARROW,0,Time[últimaBar-1],centerLR+BestChannels[0][5]);
      ObjectSet("up "+UpArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("up "+UpArrowCounter,OBJPROP_COLOR,Red);
      ObjectCreate("down "+DownArrowCounter,OBJ_ARROW,0,Time[lastBar-1],centerLR-BestChannels[0][5]); ObjectSet("down")+DownArrowCounter,OBJPROP_ARROWCODE,158); ObjectSet("down "+DownArrowCounter,OBJPROP_COLOR,Red); UpArrowCounter++; DownArrowCounter++;



mas aqui está o desenho:

 
Hmmm... afinal a culpa é minha, terei que verificar isso amanhã. Isso é suficiente por hoje.
 
Sim, eu também o verifiquei com este código
 for (i=0; i<50000;i++) { obj_name = i; ObjectCreate(obj_name,OBJ_TREND,0,Time[0],i,Time[1],i); ObjectSet(obj_name, OBJPROP_STYLE, DRAW_NONE);
    j = ObjectGet(obj_name, OBJPROP_PRICE1); Print(j); } for (i=0; i<50000;i++) { obj_name = i; ObjectDelete(obj_name); }


 
<br / translate="no">
As imagens devem estar apenas em caracteres latinos e de preferência no formato *.png (gif não é mostrado por link neste fórum).


Está tudo feito, eu digo na janela do editor, parece normal, e assim que pressiono o botão adicionar ou salvar, dependendo do que eu adicionar ou modificar a mensagem ela desaparece e até desaparece que eu digitei :(
 
Ok, eu fui pelo outro caminho (eles começaram a me mandar embora por 30 segundos, embora esperar 10 minutos não ajude :( ) mas de qualquer forma, eu só queria mostrar que no momento eu tenho um judeu, mas provavelmente não é relevante
 
Eis uma nova surpresa - desenhar setas não muda o tempo de execução, o que é interessante.

Tenho este efeito, dependendo de como eu execute o algoritmo discutido aqui, o tempo de execução é de 0 ou 16 ms. Suponho que em alguns casos o algoritmo é executado continuamente, enquanto em outros casos ele é interrompido e o ciclo terminal completo é executado (porque os números se repetem de forma estável). Por analogia - o desenho não pode ser realizado após o final dos cálculos?
 
Vladislav 02.06.06 11:26 <br / translate="no"> Quanto à implementação prática, ou melhor, aos métodos subjacentes, tudo é bastante simples: a função quadrática tem coeficientes que você precisa escolher de uma maneira ideal - a regressão dá uma estimativa linear, mais precisa para sua construção. E, portanto, você poderá estimar até que limites (amplitude se espalha) na expansão do Taylor (construção da forma quadrática) este coeficiente pode ser utilizado. Além disso, como para outros coeficientes, pense por si mesmo. E para encontrar o mínimo de energia potencial você não precisa saber a trajetória dos preços, mas o que é mais importante saber - gradiente potencial;). Ou seja, o estado dinâmico de seu potencial zero - você tem que contar algo para o potencial zero. E tudo isso é suficiente para estimar - a diferenciação direta não é necessária.
Se figurativamente, "em seus dedos", aplicando imagens geométricas:
imagine que há uma bola rolando sobre uma superfície (análoga a algum terreno áspero) (este é o preço). Você não precisa conhecer os meandros da construção da bola para determinar as áreas de atração da trajetória da bola. É muito mais útil conhecer as propriedades deste "terreno acidentado".

Vladislav 14.06.06 21:06
Muito bem - escrevi sobre isso, na verdade, que o mínimo do potencial energético funcional serve como um dos critérios para a seleção de canais. E é uma propriedade da potencialidade do campo de preços, enquanto eu não estou procurando a trajetória em si devido (novamente) ao fato de que todas as trajetórias que se encaixam dentro do intervalo de confiança devem ser consideradas equivalentes para uma dada probabilidade. Ou seja, a construção das projeções desce primeiro para a seleção da amostra, depois para a álgebra linear.

Em continuação ao tópico sobre o qual já escrevi na página 33, tive mais uma idéia sobre como encontrar um canal com o mínimo potencial de energia em série de canais consecutivos satisfazendo as condições já mencionadas. O que temos ao construir um canal de regressão linear? Temos uma região limitada por suas fronteiras, dentro da qual o preço pode se mover como quiser. A única condição que foi cumprida é a condição de que o preço permaneça dentro desse canal. Além disso, Vladislav disse que todas as trajetórias que estão dentro do intervalo de confiança devem ser consideradas iguais para uma dada probabilidade. Então assumimos que o preço poderia se mover por uma função quadrática durante seu movimento - ou seja, não violamos a afirmação acima. Especialmente porque esta declaração parte do pressuposto de que o campo de preços é potencial. Ou seja, para qualquer momento no tempo (e para qualquer amostra) podemos construir uma parábola aproximada e dizer que, com base nesta amostra, o preço teve tal trajetória, em torno da qual ele se moveu nesta amostra. Figurativamente falando, é uma calha com tal inclinação parabólica e uma bola com múltiplas inomogeneidades em sua superfície. Agora o que podemos tomar como o estado dinâmico do potencial de ponto zero? Como a bola rola desde o início do canal até seu final se movendo ao longo de nossa calha condicional parabólica oblíqua, o mínimo de energia potencial para esta calha será, naturalmente, no momento atual na trajetória desta calha e, conseqüentemente, no momento atual a força (gradiente de potencial) que tende a deslocar a bola para a trajetória da calha parabólica atuará sobre a bola (preço). Agora, como encontrar a magnitude e a direção deste gradiente? É muito simples - encontrar a parábola pelo método do ISC e depois encontrar a diferença entre o preço atual e esta parábola (mínimo de potencial). É claro que esta diferença pode ser tanto positiva quanto negativa. Além disso, devido ao fato de que o canal de regressão linear escolhido deve ser o "verdadeiro" para a previsão, a amostra deve ter tanto as condições de convergência conhecidas (RMS<SCO2/3) quanto quaisquer outras condições que confirmem tal convergência. A menção de Vladislav ao mínimo de energia potencial funcional me levou à idéia de que para isso é necessário que a soma de gradientes potenciais seja a menor possível para o canal em que construímos esses canais parabólicos de aproximação sobre os quais a bola rola e que são a melhor descrição de nosso terreno acidentado. É claro que tentei verificar imediatamente esta suposição na prática e compartilho os resultados neste link https://c.mql5.com/mql4/forum/2006/07/min_poten_energy.zip

O que vemos nestes gráficos? Podemos ver o canal de uma regressão linear desenhada usando o método de RMS mínimo em uma série, que eu uso em meu Expert Advisor no momento atual. Em um gráfico separado, desenhamos um gráfico do algébrico (ou seja, realizo a soma dos gradientes levando em conta seus sinais (+/-)) soma dos gradientes do potencial da bola em relação à linha da parábola construída para a amostra atual. Para simplificar a compreensão, posso dizer que aqui é usada absolutamente a mesma abordagem que é usada para a determinação do coeficiente de Hurst com a diferença de que, em vez de aproximar o canal de regressão linear, é tomada uma parábola (função quadrática), e também a própria parábola é construída para todas as amostras atuais, incluindo a barra calculada para a qual o gradiente potencial é pesquisado. Só por precaução, deixe-me lembrar que, para encontrar o coeficiente de Hurst, tomamos uma amostra que não inclui a barra atual.
A linha vertical azul indica o mínimo local para a soma algébrica dos gradientes potenciais para o canal a partir desta mesma barra. Se você olhar cuidadosamente os gráficos para EURUSD e USDCHF, você pode ver que os mínimos locais são exatamente (+/-1 bar) os mesmos que os máximos/mínimos locais de preço. Atribuo o erro de 1 barra às peculiaridades do preparo da amostra. Eu escolho (O+H+L+C)/4 valores de barra como amostra. Provavelmente, neste caso deveríamos escolher seletivamente entre Alto ou Baixo que eliminaria definitivamente um erro de determinação do canal com o mínimo potencial de energia. E então os canais da série coincidirão exatamente com os mostrados na foto mostrada anteriormente por Vladislav por USDCHF. Bem, vou tentar implementar esta suposição em minha EA. Acho que está muito próximo do método de seleção de canais usado por Vladislav e compartilhado por ele.

PS: O gráfico mostra a soma algébrica do módulo de gradientes (para maior clareza). Para calcular o potencial de inclinação na barra atual, construir uma parábola para a amostra desde o início do canal até a barra atual, incluindo a própria barra calculada. Ou seja, se você selecionar 100 barras, você precisa calcular 97 parábolas, porque para construir uma parábola usando o método ANC você deve ter pelo menos 4 amostras (eu descobri isso experimentalmente hoje ;o)). Assim, eu simplesmente tomo o gradiente de potencial nas 3 primeiras barras para ser igual a zero. Rosh, acho que aqui você será livre para otimizar algoritmos computacionais, pois o cálculo de uma parábola leva algumas vezes mais tempo do que o cálculo de um canal de regressão linear ;o)))))
 
А вот и новый сюрприз - рисование стрелочек не меняет времени прогона, это интересно.

Tenho este efeito, dependendo de como eu execute o algoritmo aqui discutido, o tempo de execução é de 0 ou 16 ms. Presumo que em alguns casos o algoritmo é executado continuamente, e em alguns casos é interrompido e o ciclo terminal completo é executado (porque os números são repetidos constantemente). Por analogia - o desenho não pode acontecer após o final dos cálculos?



Neste link - "MQL4, MQL2, EasyLanguage, Wealth-Lab 3.0 e VC++: Comparação de Velocidade" - Renat escreveu


Renat 14.01.05 14:18

Simplesmente, enfrentei o comportamento inadequado do GetTickCount() mais de uma vez; embora, se os resultados de muitas medidas fossem estáveis +/- algum pequeno delta, isso confirma a fidelidade dos testes.


Sim, a precisão do GetTickCount() salta de 10 para 16 ms e não podemos medir pequenos períodos com ele, mas em nosso caso seu uso é razoável. Especialmente quando é tão facilmente acessível a partir de quase qualquer código.