[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 65
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Vou fazer do meu jeito e a contagem regressiva será diferente. Eu vou sempre do passado para o presente. Mas é uma questão de gosto. De fato, com a abordagem correta, não importa realmente.
Olá,
Por favor, ajude com a página. (Posto 56, 58 páginas).
Provavelmente muito rápido, eu deveria ter estudado um pouco. :-)
Então, você saberia que compra à ordem e vende à ordem. Se os vendêssemos, o preço deles seria inferior ao preço da oferta.
Não, é exatamente o oposto do que você escreveu. É claro, obrigado por sua atenção. Pensei muito, descobri desta e daquela maneira, e você está errado.
De modo geral, vejo que o problema não está nos Aks and Bids, e eu não o resolvi.
Desculpe, eu também tenho o meu. Aqui, eu acabei de jorrar o código e ele não funciona.
//+------------------------------------------------------------------+
//| tipo de pedido.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2011, MetaQuotes Software Corp.
#link da propriedade "http://www.metaquotes.net"
//+------------------------------------------------------------------+
//| função de iniciação de especialista |
//+------------------------------------------------------------------+
int init()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização de especialistas |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
duplo New_Time=0,razniza, r;int i=0,h=0,q=0,w=0,s=0,g=0;
int start()
{int M,Y;
//----
bilhete duplo,Lots=0,2,fractal_u=Ask,TakeProfit=50,Points = MarketInfo (Symbol(), MODE_POINT);
//----
se (i<10)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time);i++; }
Alerta("OrderTypeOP_BUYSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Bid,5, 0 );
se (h<10)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time);h++; }
Alerta("OrderTypeOP_SELLSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );
se (q<10)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,0,5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time); q++; }
Alerta("OrderTypeOP_BUY",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Bid,5, 0 );
se (w<10)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time);w++; }
Alerta("OrderTypeOP_SELL",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );
se (s<10)
{
ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time); s++; }
Alerta("OrderTypeOP_BUYLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket,Lots,Ask,5, 0 );
se (g<10)
{
ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alerta("New_Time",New_Time);g++; }
Alerta ("OrderTypeOP_SELLLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket, Lots, Bid, 5, 0 );
//----
retorno(0);
}
//+------------------------------------------------------------------+
Eu o fiz bem rápido, eu o preparei com o propósito de obter um valor numérico do tipo de pedido, ele abre e fecha todos os pedidos em uma fila, quero dizer, todos os tipos. Eu verifiquei OrderClose com as instruções, os parâmetros parecem ser prescritos razoavelmente, corretamente e em seus lugares. O que mais ele precisa?????
Alert("Current time day", iTime(NULL,PERÍODO_D1,5));
isto me dá 0, acrescentou:
Alerta("",GetLastError());
dá um erro 4054
O que eu estou fazendo de errado?
Por favor, ajude. O código deve apagar todas as ordens do mercado em todos os pares, mas na prática ele só apaga aquelas na janela onde a EA é jogada. Por favor, ajude-me a encontrar o erro.
void CloseAll_b(int Prosk){
string SMB=Símbolo();
para (int i=OrdensTotal()-1;i>=0;i--){
se (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
Alerta("Erro ",GetLastError()," quando o número do pedido é selecionado ",OrderTicket()," por par ",Symbol()));
}
senão{
if(OrderSymbol()!=Symbol()){continuar;}
RefreshRates();
if(OrderType()==OP_BUY){
if(!OrderClose(OrderTicket(),OrderLots(),Bid,Prosk,CLR_NONE)){
Alerta("Erro ",GetLastError(),",OrderTicket(),",Symbol()) ao fechar a ordem de compra;
}
}
if(OrderType()==OP_SELL){
if(!OrderClose(OrderTicket(),OrderLots(),Ask,Prosk,CLR_NONE)){
Alerta("Erro ",GetLastError(),{ quando o número da ordem de venda é fechado ",OrderTicket(),{ por par ",Symbol()));
} } } } }
Agradecemos antecipadamente.
Por favor, ajude. O código deve apagar todas as ordens do mercado em todos os pares, mas na prática ele só apaga aquelas na janela onde a EA é jogada. Por favor, ajude-me a encontrar o erro.
mas você mesmo estabelece a restrição :))
if(OrderSymbol()!=Symbol()){continuar;}
mas você mesmo estabelece a restrição :))
if(OrderSymbol()!=Symbol()){continuar;}
Eu concordo - estúpido :)) Como deve ser?
Eu concordo - estúpido :))) Qual é o caminho certo?
Eu o removi, mas minhas ordens para outros pares não estão fechando de qualquer forma. Erro 129 (preço errado) continua aparecendo
logo aparece.
Você tem que fazer o Bid and Ask da função MarketInfo
like - ask= MarketInfo(OrderSymbol(), MODE_ASK);
e não se esqueça de normalizar
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS))