Pergunte! - página 43

 

ok, estou pedindo...

como usar as funções do arquivo para que ele anexe dados ao final do arquivo, ao invés de substituí-lo.

https://www.mql5.com/en/forum/174700/page77

por favor, responda na linha que este link vai para onde eu normalmente leio.

 

Como recuperar uma ordem fechada especificada usando o HistoryTotal() ?

Olá a todos

existe uma maneira de usar a função HistoryTotal para poder encontrar um determinado pedido (comprar ou vender) fechado?

Eu tentei com este código, mas parece não funcionar:

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Talvez não seja suportado OrderComment usando o modo MODE_HISTORY? E se sim, como posso resolver este problema?

thx muito

Skyline

 
skyline:
Olá a todos

existe uma maneira de usar a função HistoryTotal para poder encontrar um determinado pedido (compra ou venda) fechado?

Eu tentei com este código, mas parece não funcionar:

int hstTotal=HistoryTotal();

for(i=0;i<hstTotal;i++)

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

Talvez não seja suportado OrderComment usando o modo MODE_HISTORY? E se sim, como posso resolver este problema?

thx muito

Skyline

Skyline,

Esteja ciente de que o corretor anexará o comentário com seus próprios comentários sobre o pedido por diferentes razões, e sempre quando o pedido for encerrado por SL ou TP. Quais são os critérios para procurar os negócios? Uma vez que você defina que então terá sua solução.

 
Nicholishen:
Skyline,Esteja ciente de que o corretor anexará o comentário com seus próprios comentários sobre o pedido por diferentes razões, e sempre quando o pedido for encerrado por SL ou TP. Quais são os critérios para procurar os negócios? Uma vez que você defina que então você terá sua solução.

Oh, isso não é uma boa notícia :|

De qualquer forma, estou tentando explicar meu problema: em minha EA eu tenho um tipo diferente de compra (ou venda), eu tenho um tipo que tem que ser aberto sempre que uma condição é atendida também muito tempo em um dia (algo do tipo quando o preço penetra em um EMA e depois é feito um pedido), e outro tipo que tem que ser acionado apenas uma vez por dia, dependendo das diferentes condições baseadas em diferentes EMA. Então o que eu tenho que fazer é deixar o primeiro tipo de compra/venda abrir/fechar pedidos muito tempo em um dia enquanto o segundo tipo de ordem de compra/venda tem que ser aberto apenas uma vez por dia, então eu pensei que se eu pudesse localizar de alguma forma qualquer tipo de ordem de compra/venda na história eu poderia resolver meu problema, mas parece que não é possível

 

valores dos gráficos diários

codersguru:
Olá, pessoal,

Tenho muitas mensagens particulares me pedindo ajuda com algumas peças de código.

Aqui você pode postar suas perguntas relacionadas à MQL4, e eu farei o meu melhor para respondê-las.

Hi,

Estou tentando conseguir o alto, baixo, aberto, fechado para o dia anterior @ 0 GMT para minha EA. Funciona bem para todos os dias, exceto domingo em MIG & IBFX onde recebe valores para domingo a partir de sábado e não sexta-feira. A FXDD recebe-o cristalizadamente a partir de sexta-feira, pois não tem um novo bar para sábado.

Seu código é codificado como:

Alto[1], Baixo[1], Fechar[1] etc. Como faço para corrigir o código para domingo de modo que ele só receba valores a partir de sexta-feira, fechar e não a partir de sábado. Por favor, ajude-me!

 
payal:
Hi,

Estou tentando conseguir o alto, baixo, aberto, fechado para o dia anterior @ 0 GMT para minha EA. Funciona bem para todos os dias, exceto domingo em MIG & IBFX onde recebe valores para domingo a partir de sábado e não sexta-feira. A FXDD recebe-o cristalizadamente a partir de sexta-feira, pois não tem um novo bar para sábado.

Seu código é codificado como:

Alto[1], Baixo[1], Fechar[1] etc. Como faço para fixar o código para domingo de modo que ele só receba valores a partir de sexta-feira feche e não a partir de sábado. Por favor, ajude-me!

pela sua descrição, estou assumindo que você está usando isto no gráfico diário????

para responder sua pergunta, aqui está como eu resolveria o problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)

É claro, você arranjaria a alta baixa e próxima da forma como os está usando.

 
payal:
Hi,

Estou tentando conseguir o alto, baixo, aberto, fechado para o dia anterior @ 0 GMT para minha EA. Funciona bem para todos os dias, exceto domingo em MIG & IBFX onde recebe valores para domingo a partir de sábado e não sexta-feira. A FXDD recebe-o cristalizadamente a partir de sexta-feira, pois não tem um novo bar para sábado.

Seu código é codificado como:

Alto[1], Baixo[1], Fechar[1] etc. Como faço para fixar o código para domingo de modo que ele só receba valores a partir de sexta-feira feche e não a partir de sábado. Por favor, ajude-me!

Confira este arquivo https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

U encontrará aí a resposta para sua pergunta.

Cumprimentos

Kale

 

Obrigado

Eaglehawk:
pela sua descrição, presumo que você esteja usando isto no gráfico diário????

para responder à sua pergunta, eis como eu resolveria o problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)
é claro, você arranjaria a alta baixa e perto da forma como os está usando

Muito obrigado. Tenha um ótimo dia!!

 

Obrigado

Kalenzo:
Confira este arquivo https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

U encontrará aí a resposta para sua pergunta.

Cumprimentos

Kale

Obrigado, tenha um ótimo dia!!

 

Existe algum indicador que possa nos mostrar o valor alto0low ao ech bar em cima ou em baixo de cada barra?