[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 46
Olá, meu Conselheiro Especialista coloca paradas pendentes. Ao verificar no testador apenas SELL_STOP está funcionando, em vez de BUY_STOP uma ordem de erro Enviar erro/ Abertura de erro Ordem de compra:130 aparece.
externint TrailingStop=30;
//-----------------------------------------------------------------------------------------------+for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// check for trailing stopif(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
else// go to short position
{
// check for trailing stopif(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
return(0);
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
Como entender? Se CELLSTOP, o que o BAI tem a ver com isso?
Como posso saber se as últimas ordens 1-2-3 estavam perdendo?
E em geral, como posso saber qual foi a última encomenda?
Recentemente escrevi uma função que, no caso da última ordem perdida, devolve o tipo desta ordem. Em outras palavras, se fHistory() == 0, a última ordem perdida foi Buy, fHistory() == 1, a última ordem perdida foi Sell. Se quisermos rastrear as ordens lucrativas, então mude o sinal na linha assim: if(OrderProfit() > 0 ).
//+----------------------------------------------------------------------------+// Прибыльно или убыточно закрылся последний ордер, и возврат типа такого ордераint fHistory(){
for(int i=OrdersHistoryTotal(); i >= 0; i--){ // Выборка в историиif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){ // Если есть следующий в историиif(OrderMagicNumber()!=magN) continue; // Ордера не нашего экспертаif(OrderProfit() < 0 ) return (OrderType()); // Если убыток по посл.ордеру вернем тип ордера
}
}
return(-1);
}
A variável magN é a ordem mágica declarada globalmente.
Se você conhece a função para calcular o saldo total de perda de posições FECHADAS por SL e o saldo total de operações lucrativas OPEN, escreva.
O cálculo do saldo de perdas deve começar a partir do último valor máximo de depósito
Boa tarde!!! Minha função é jurar com quarenta palavrões - obviamente eu não sabia muito, e também esqueci como inventar
Boa tarde!!! Minha função é jurar com quarenta palavrões - obviamente eu não sabia muito, e também esqueci como inventar
Diman! Boa noite! Você precisa descansar, não para uma função, mas para algumas besteiras que você escreveu...
Estou lhe dizendo, não me lembro. Vou escrevê-lo. Encomendas. Do que o compilador não gosta?
Não é assim que os f-i's são escritos. Leia o livro didático.
Olá, meu Conselheiro Especialista coloca paradas pendentes. Ao verificar no testador apenas SELL_STOP está funcionando, em vez de BUY_STOP uma ordem de erro Enviar erro/ Abertura de erro Ordem de compra:130 aparece.
Ajude-me a encontrar a razão!
A razão é uma falta de lógica!
Como entender? Se CELLSTOP, o que o BAI tem a ver com isso?Como posso saber se as últimas ordens 1-2-3 estavam perdendo?
E em geral, como posso saber qual foi a última encomenda?
Recentemente escrevi uma função que, no caso da última ordem perdida, devolve o tipo desta ordem. Em outras palavras, se fHistory() == 0, a última ordem perdida foi Buy, fHistory() == 1, a última ordem perdida foi Sell. Se quisermos rastrear as ordens lucrativas, então mude o sinal na linha assim: if(OrderProfit() > 0 ).
A variável magN é a ordem mágica declarada globalmente.