Ajude-me a fechar a ordem no final do bar! - página 3

 
RaptorUK:

Sim, o start() é chamado para cada tick, a menos que ainda esteja executando . . .

Sim, mas não foi isso que você pediu em seu primeiro post neste tópico ... agora você está dizendo que não há problema em atrasar o fechamento por Período e depois por outro Período, etc. Se você quiser Fechar tão perto do final da barra, então você tem que fazê-lo no primeiro tique da próxima barra, e você deve verificar se o Fechamento falhou e tentar novamente da maneira correta para que você consiga Fechá-lo.

Eu não tenho outras soluções. Se eu tivesse, então eu as teria feito.


SDC:

É bastante raro que o preço fechado de uma barra não seja repetido na barra susequente, não necessariamente seu preço aberto ...

Sim, às vezes uma barra se abre abaixo ou acima da vela anterior está próxima e às vezes exatamente nesse nível. Mas às vezes há estas lacunas que arruínam tudo, é por isso que eu gostaria de uma solução melhor, para evitá-las, mas agora vejo que não é possível.
 

Problema, grande problema:

/////////////////OrderSelect() and other stuff

if( OrderType() == OP_BUY ){
    
if( /* blablabla condition && */ Time[0]>OrderOpenTime()  ){

OrderClose( OrderTicket(), OrderLots(),OrderClosePrice() ,TAKEPROFITPIPS,CLR_NONE);             
RefreshRates();    

}}

Então eu usei este código para fechar aquele negócio desagradável no mais próximo do fim da vela, mas o problema é que ao fazer o teste de fundo, ele funciona como mágica, mas quando eu o experimentei em uma conta demo ao vivo, foi muito bobo. É apenas um disparate.

Mas ainda assim é isso, de modo a descartar qualquer erro que eu tenha usado apenas:

if( Time[0]>OrderOpenTime()  )

Isto no se, para descartar outras interferências, mas sim, o problema é com este teste:

Time[0]>OrderOpenTime() 

Como posso contorná-lo, ou alguns1 também podem encontrar outro teste equivalente a este que funcione em conta real, por favor, ajude-me!

 
Proximus:

Problema, grande problema:

Então eu usei este código para fechar aquele negócio desagradável no mais próximo do fim da vela, mas o problema é que ao fazer o teste de fundo, ele funciona como mágica, mas quando eu o experimentei em uma conta demo ao vivo, foi muito bobo. É apenas um disparate.

Aconteceu, então encontre a razão . . . por exemplo, se seu OrderSelect() falhar ( você verifica se funcionou ou falhou ? ) então OrderType() retornará o valor errado ou o certo apenas por acaso, OrederOpenTime() retornará o valor errado . . talvez zero e zero seja menor que o Tempo[0] . . . você imprimiu o valor para OrderOpenTime() ao tentar descobrir o que estava errado ? por que não ?

Há boas razões para que eu continue postando este link . . O que são valores de retorno de funções ? Como eu os utilizo ? por que vocês ignoram continuamente os bons conselhos ?

 
Proximus:

Eu não tenho outras soluções. Se eu tivesse, então eu as teria feito.

Sim, às vezes uma barra se abre abaixo ou acima da vela anterior está próxima e às vezes exatamente nesse nível. Mas às vezes há estas lacunas que arruínam tudo, é por isso que eu gostaria de uma solução melhor, para evitá-las, mas agora vejo que não é possível.

Tem que ser exatamente o preço próximo? Que tal tentar algo como ... cronometrar a diferença entre a chegada dos carrapatos durante a formação do bar ... se eles estão chegando rápido como 1 por segundo, tomar o preço se ele chegar a menos de 5 segundos do tempo de fechamento do bar, se os carrapatos estão chegando lento como 1 por minuto, tomar o preço se um carrapato chegar nos últimos 30 segundos do bar, se nenhum carrapato chegar durante esse tempo, tomar o preço aberto do bar subseqüente.

 
SDC:

Tem que ser exatamente o preço próximo? Que tal tentar algo como ... cronometrar a diferença entre a chegada dos carrapatos durante a formação do bar ... se eles estão chegando rápido como 1 por segundo tomar o preço se ele chegar a menos de 5 segundos do tempo de fechamento do bar, se os carrapatos estão chegando lento como 1 por minuto tomar o preço se um carrapato chegar nos últimos 30 segundos do bar, se nenhum carrapato chegar durante esse tempo tomar o preço aberto do bar subseqüente.


Não precisa ser exatamente o Close[1] já que nos posts anteriores descartamos que é impossível atingir exatamente esse nível, mas o segundo melhor / o mais próximo disso também o fará.
 

Volume[0]==1 ;// nova barra = última barra fechada.

ou.

bool Nova barra()

{

data/hora estática última barra;

barra de data/hora = Hora[0];

if(lastbar!=curbar)

{

lastbar=curbar;

return (verdadeiro);

}

senão

{

retorno(falso);

}

}


se (Signal=="BUY" && NewBar())

 
Ty por ajuda eu resolvi o problema, na verdade era que eu tinha muitos gráficos abertos ao mesmo tempo, mas e todos eles tinham o mesmo número mágico, agora eles geraram os aleatoriamente, então está tudo bem.
 

Hi,

Há uma maneira de fechar a posição aberta 5min antes que a barra termine no H4 Time frame? obrigado

 
jonjon:

Hi,

Há uma maneira de fechar a posição aberta 5min antes que a barra termine no H4 Time frame? obrigado



sim, há
 
Mehmet: Volume[0]==1 ;// nova barra = última barra fechada.
  1. Se você perder o primeiro tique de uma barra, seu código falha e perde a barra inteira. SEMPRE use o tempo.
  2. Não colar código
    Reproduzir vídeo
    Por favor, edite seu post.
    Para grandes quantidades de código, anexá-lo.