[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 23

 
Sergey2011:

Não entendo como estar em 15 minutos, através dos quais o tempo funciona, para organizar um ciclo de enumeração por dia.

Espero que a pergunta seja clara.

Obrigado pela ajuda


Veja a ajuda do iBarShift e/ou você pode trabalhar diretamente com as barras diárias como esta: iOpen(Symbol(),PERIOD_D1,1) - abertura do dia anterior, etc.
 
Ereke:
Outro Smartypants !
Você não tem idéia de como está certo em sua caracterização deste fórum! Espero que você também tire as conclusões corretas sobre si mesmo e sobre a qualidade de suas consultas, já que você se encontrou em tal ambiente.
 
granit77:
Você não tem idéia de como está certo em sua caracterização deste fórum! Espero que você também tire as conclusões corretas sobre si mesmo e sobre a qualidade de suas consultas, já que você entrou em tal ambiente.
+10 :)
 
granit77:
Você não tem idéia de como está certo em sua caracterização deste fórum! Espero que você tire as conclusões corretas sobre si mesmo e sobre a qualidade de suas consultas também, já que você se encontra em tal ambiente.

artmedia70

OBRIGADO !..................... Eu já fui ajudado!

 
artmedia70: Victor disse bem - um tiro no ar...
Isso me faz lembrar uma anedota...
Dois Chukchi estão perdidos na floresta.
-Shoot in the air, talvez alguém ouça e ajude...
Alguns minutos depois...
-Dispare um pouco mais.
-Não posso, estou sem flechas...
 
volshebnik:
O preço de fechamento pode estar bem acima do fractal (se o fractal estiver acima) e então o lucro potencial é perdido. Eu verifico a quebra de preços em cada tick.


Concordo, você pode fazer isso, já que a ordem de compra abre a pedido, você pode compará-la com pedir...

if (Ask > upfractal) { DO IT }

À pergunta - por que nem todas as suas condições de entrada são acionadas, vou explicar novamente em detalhes - é por causa de um cálculo fractal incorreto...

Para calcular corretamente o valor do último fractal, você deve usar esta construção usando uma variável auxiliar.

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3); 
   
   fractal_l = iFractals(Symbol(), PERIOD_H1, MODE_LOWER, 3);
   if(fractal_l!=0)  dwfractal=iFractals(Symbol(),PERIOD_H1, MODE_LOWER, 3); 

Em seu código, ele não está lá e o fractal apareceu, e, sim, você memorizou bem seu valor. Você o escreveu corretamente - não na 3ª barra, mas na 2ª, quando soubermos seu valor na 0ª barra, o que acontece a seguir ... Se o preço não quebra o valor do último fractal na barra seguinte e, por exemplo, "pequenos passos", em cada barra subseqüente, avança em direção à sua ruptura sem formar um novo fractal (o que geralmente acontece), então sua situação é ... seu valor fractal calculado é redefinido para "0" por si só. e não há necessidade de zerá-lo adicionalmente como você faz em seu código (não citarei onde você sabe)... E é por isso que o upfractal !=0 aparece apenas na barra seguinte após a barra calculada (onde estava o último fractal) ...

É por isso que eles se lembram e mantêm o valor do mais novo fractal ao formar barras subseqüentes apenas inserindo uma variável auxiliar, tente fazer essas mudanças em seu código e veja que os acordos são feitos logo no início do último fractal e não faz diferença quantas barras mais tarde essa descoberta ocorre, se você ainda não entender, insira a impressão em vez de seu alerta e veja como a variável upfractal muda com cada nova barra e você entenderá tudo - ela se repõe para "0" na nova barra formada, e o fractal é quebrado, digamos, na 8ª barra - isso é tudo, seu valor em seu sistema tem sido igual a zero por um longo tempo.

É assim que acontece com você:


  
            
                upfractal=iFractals(Symbol(), PERIOD, MODE_UPPER, 3);
                Alert("upfractal вначале = ",upfractal);
if (Двверх==true && upfractal !=0 && Bid > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) // Условие открытия ордера при пробитии фрактала вверх

É assim que deve ser:

 fractal_h = iFractals(Symbol(),PERIOD_H1, MODE_UPPER, 3);
   if(fractal_h!=0)  upfractal=iFractals(Symbol(), PERIOD_H1, MODE_UPPER, 3);
 if (Двверх==true && Ask > NormalizeDouble(upfractal+1*Point,Digits) && Tвверх!=Time[0] && Сделкавверх==false) 
   

"Romano, por quê? Não é a mesma coisa? Por exemplo, se MA_8<MA_2 é o mesmo que (MA_8-MA_2)<0 ?".

É a mesma coisa, mas para uma operação no mundo real e confiabilidade de 100 adivinhe, para não haver motivo para possíveis "falhas" - a 2ª opção é necessária.

P.S. Ao invés de alertas, use impressões e rastreie os valores variáveis resultantes ao longo do tempo no registro do EA para analisar a operação "correta" de sua coruja.

 
Roman.:


Concordo, você pode fazer isso, já que a ordem de compra abre no pedido, você pode comparar com o pedido...

if (Ask > upfractal) { DO IT }

Visualmente, analiso o gráfico de penetração de um fractal e procuro por dependências pelo preço visível, ou seja, a oferta. É por isso que considero uma pausa fractal como uma oferta (e upfractal também dá uma oferta, não uma pergunta).
 
Exemplo:
  datetime some_time=D'2004.03.21 12:00'; int shift=iBarShift("EUROUSD",PERIOD_M1,some_time); Print("shift of bar with open time ",TimeToStr(some_time)," é ",shift);

Procurei na ajuda, não entendo (não entendo) como especificar na variável "algum_tempo" em 15 minutos, que preciso no dia anterior, ou seja, se hoje é 25 de janeiro. 2011 como posso definir 24, 23, 22 de janeiro, etc. para pesquisar.

Obrigado pelo esclarecimento.

 
volshebnik:
Analiso visualmente o gráfico para penetração de um fractal e procuro por dependências pelo preço visível, ou seja, licitação. É por isso que considero uma pausa fractal como uma oferta (e upfractal também dá uma oferta, não uma pergunta).


você também pode fazer isso dessa maneira, não é importante :-)))

Você já descobriu isso agora?

 
Roman.:


Concordo, você pode fazer isso dessa forma, já que a ordem de compra abre no pedido, você pode compará-la com a ordem de compra...

À questão de por que você não tem todas as condições de entrada acionadas, vou explicar novamente em detalhes - é porque o fractal não é calculado corretamente...

Para o cálculo correto do valor do último fractal é necessário utilizar tal construção com o uso de variável auxiliar...

Em seu código, ele não está lá e o fractal apareceu, sim, você memorizou bem seu valor. Você o escreveu corretamente - não na 3ª barra, mas na 2ª, quando já sabemos seu valor na 0ª barra, o que acontece a seguir ... Se o preço não quebra o valor do último fractal na barra seguinte e, por exemplo, "pequenos passos", em cada barra subseqüente, avança para sua penetração sem formar um novo fractal (o que geralmente acontece), então sua situação é ... seu valor fractal calculado é redefinido para "0" por si só. e não há necessidade de zerá-lo adicionalmente como você faz em seu código (não citarei onde você sabe)... E é por isso que upfractal !=0 somente na próxima barra após a barra calculada (onde estava o último fractal) .

A ordem é aberta por asc, então ela pode ser comparada a asc. É por isso que eles se lembram e mantêm o valor do último fractal quando as barras subseqüentes são formadas apenas entrando uma variável auxiliar, tente corrigir essas mudanças em seu código e veja que os negócios são feitos apenas no avanço do último fractal e não importa quantas barras depois esse avanço ocorre,

Sim, Roman, muito obrigado. Adicionei um parâmetro auxiliar para a definição fractal, agora todas as negociações estão abertas.