Baixa e Alta - página 3

 

Descobri onde estava o problema (com sua ajuda) ;)

Obrigado a todos vocês!

Agora--->TESTE! (os testes anteriores parecem muito bem)

 

Acho que o problema é que ele abre ordens nos níveis em que você anexou a EA ao gráfico, porque Hora() retorna o tempo em Horas que você a anexou. Mas você quer usar isto, eu acho:

TimeHour(Timecurrent())

Dê uma olhada na documentação para ver o que eu quero dizer...

EP

 

Se conseguirmos consertar isso, então eu tenho meu Santo Graal! :D
 
ErrorProgrammer:

Acho que o problema é que ele abre ordens nos níveis em que você anexou a EA ao gráfico, porque Hora() retorna o tempo em Horas que você a anexou.

Na verdade, isso não ajuda a resolver o problema do 01005379, mas não acho que isso seja correto. Por exemplo, a execução da seguinte EA no testador de estratégia mostra um valor variável para Hora() correspondente ao tempo do corretor simulado.


int start() {Comment("Hour: " + Hour() + "   @ " + TimeToStr(TimeCurrent(), TIME_DATE | TIME_MINUTES));}

Acho que o que a documentação está tentando dizer é que Hora(), Minuto() etc. não mudam durante uma chamada para iniciar(). Mas eles mudam ao longo da vida útil da EA.


 
01005379:

Se conseguirmos consertar isso, então eu tenho meu Santo Graal! :D

Essa barra parece bastante grande. A mesma coisa acontece com outras encomendas? Talvez por causa da volatilidade daquela barra em particular.

 
fxcourt:

Essa barra parece bastante grande. A mesma coisa acontece com outras encomendas? Talvez por causa da volatilidade daquela barra em particular.

Agora, é o mesmo com outros pedidos. A ordem é aberta uma barra depois que o valor se torna mais baixo do que o valor baixo. Para ordem de venda, eu gostaria que essa ordem fosse aberta assim que o Bid se tornar mais baixo que o LowValue.

 

você precisa ter o seu código de colocação de pedidos executando cada tic. no momento, ele só colocará um pedido no bar aberto, desde que o aberto esteja acima ou abaixo da entrada.

int start()

{

// no bar aberto ficar alto e baixo

{

if(got_high_and_low)

{

readytotrade = verdadeiro;

}

}

// sempre que estiver pronto para negociar, verifique se o preço de entrada foi atingido

if(readytotrade)

{

//comprar ou vender

readytotrade = falso;

}

}

 
fxcourt:
você precisa ter o seu código de colocação de pedidos executando cada tic. no momento, ele só colocará um pedido no bar aberto, desde que o aberto esteja acima ou abaixo da entrada.

Hm, e como eu faço isso?

 

Você precisará reestruturar seu código. não deve ser muito difícil. basta dividi-lo em duas partes. a primeira parte executa uma vez por barra para coletar sua entrada e outros dados, a segunda parte vai ficar atenta para que a entrada seja acertada.

 
fxcourt:

você precisa ter o seu código de colocação de pedidos executando cada tic. no momento, ele só colocará um pedido no bar aberto, desde que o aberto esteja acima ou abaixo da entrada.

int start()

{

// no bar aberto ficar alto e baixo

{

if(got_high_and_low)

{

readytotrade = verdadeiro;

}

}

// sempre que estiver pronto para negociar, verifique se o preço de entrada foi atingido

if(readytotrade)

{

//comprar ou vender

readytotrade = falso;

}

}

wuh, estou um pouco perdido neste momento. Mais ajuda será ótima ;)