[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 593
Dimka-novitsek: Obrigado!!!! Sim, há ali um ponto. E como você muda as configurações regionais para os delimitadores corretos?
Por que tocar os cenários regionais? É por isso que eles são regionais, porque só são criados uma vez. As configurações estão em EXCEL. Você também pode dar uma olhada na FAC. Há um dos últimos posts sobre esses separadores.
Desculpe, você pode me dar um link para um dos últimos posts sobre estes delimitadores!
Googled, Yandexed - tentou aplicar o formato numérico através do formato home-number-number, nada aconteceu. Não sobrescreva manualmente quatrocentos pontos em zapatye! Poderosos e espertos que se destacam, mas burros!
eu tenho uma pergunta simples, mas ainda não entendo a essência do fechamento de várias encomendas)
Por favor me explique porque a primeira variante do código funciona da mesma forma que a segunda (na primeira variante via select_by_pos, todas as 4 negociações abertas foram fechadas via 0th index, mas na segunda, 1stand 2nd 3rd e 4th)
preciso de algum manual útil ou algo para ver como as pessoas fecham os pedidos para não perdê-los, ou um manual sobre como fechá-los corretamente e como o select_by_pos funciona) porque todos os exemplos são alguns truncados, e o manual não tem nenhum exemplo de seu uso)
Posso lhe dar um bom tutorial em vídeo sobre programação em MQL4).
OPÇÃO 1 (nesta variante todas as 4 ordens abertas foram fechadas durante o teste, embora todas as 4 ordens tenham sido selecionadas com índice 0 quando foram fechadas):
Boa noite, estou pedindo ajuda com um consultor especialista em MACD com várias moedas. A EA segue os critérios de abertura de posição corretamente, mas o fechamento "em condição" não funciona. Certamente comecei a usar uma parada de trilha, mas o fechamento correto não me dá uma pausa.
//+------------------------------------------------------------------+string lSymbol;
int init ()
{
lSymbol = Symbol();
return (0);
}
int deinit()
{return(0);}
int start()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
double bid, ask, point, digits;
int cnt, ticket, total;
total = SymbolOrdersTotal (lSymbol);
if (total<1);
{
bid = MarketInfo(lSymbol,MODE_BID);
ask = MarketInfo(lSymbol,MODE_ASK);
point = MarketInfo(lSymbol,MODE_POINT);
digits= MarketInfo(lSymbol,MODE_DIGITS);
Esta é a parte principal
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==lSymbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*point))
{
OrderClose(OrderTicket(),OrderLots(),bid,3,Violet); // close positionreturn(0); // exit
}
// check for trailing stopif(TrailingStop>0)
{
if(bid-OrderOpenPrice()>point*TrailingStop)
{
if(OrderStopLoss()<bid-point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),bid-point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else// go to short position
{
// should it be closed?if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*point))
{
OrderClose(OrderTicket(),OrderLots(),ask,3,Violet); // close positionreturn(0); // exit
}
// check for trailing stopif(TrailingStop>0)
{
if((OrderOpenPrice()-ask)>(point*TrailingStop))
{
if((OrderStopLoss()>(ask+point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),ask+point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
int SymbolOrdersTotal(string lSymbol)
{
int Res=0;
int total=OrdersTotal();
for (int i=0;i<total;i++)
{
if (OrderSelect(i, SELECT_BY_POS))
{
if (OrderSymbol()==lSymbol)
{
Res++;
}
}
}
return(Res);
}
// the end.
E este é um bloqueio próximo. Por favor, ajude-me a encontrar o erro!
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Desculpe, quais delimitadores?
uma parada completa e uma vírgula. Bem, os delimitadores da lista são diferentes, vírgula e ponto-e-vírgula.
Tente importar com os delimitadores corretos. Ou refazer os cenários regionais com os delimitadores certos. Boa sorte.
Obrigado!!!! Sim, há ali um ponto. E como você muda as configurações regionais para os delimitadores corretos?
Obrigado!!!
Desculpe, você pode me dar um link para um dos últimos posts sobre estes delimitadores!
Googled, Yandexed - tentou aplicar o formato numérico através do formato home-number-number, nada aconteceu. Não sobrescreva manualmente quatrocentos pontos em zapatye! Poderosos e espertos que se destacam, mas burros!
Ugh, eu minerei!
Obrigado!!!
Desculpe, você pode me dar um link para um dos últimos posts sobre essas divisórias!
eu tenho uma pergunta simples, mas ainda não entendo a essência do fechamento de várias encomendas)
Por favor me explique porque a primeira variante do código funciona da mesma forma que a segunda (na primeira variante via select_by_pos, todas as 4 negociações abertas foram fechadas via 0th index, mas na segunda, 1stand 2nd 3rd e 4th)
preciso de algum manual útil ou algo para ver como as pessoas fecham os pedidos para não perdê-los, ou um manual sobre como fechá-los corretamente e como o select_by_pos funciona) porque todos os exemplos são alguns truncados, e o manual não tem nenhum exemplo de seu uso)
Posso lhe dar um bom tutorial em vídeo sobre programação em MQL4).
OPÇÃO 1 (nesta variante todas as 4 ordens abertas foram fechadas durante o teste, embora todas as 4 ordens tenham sido selecionadas com índice 0 quando foram fechadas):
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
2ª OPÇÃO (todas as 4 negociações foram fechadas aqui também, mas os índices 1,2,3 e 4):
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
Boa noite, estou pedindo ajuda com um consultor especialista em MACD com várias moedas. A EA segue os critérios de abertura de posição corretamente, mas o fechamento "em condição" não funciona. Certamente comecei a usar uma parada de trilha, mas o fechamento correto não me dá uma pausa.
Esta é a parte principal
E este é um bloqueio próximo. Por favor, ajude-me a encontrar o erro!
O diretório existe?
Sim, ambos na pasta Expert... e na pasta de teste.
mas a captura de tela ainda não funciona.