[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 425

 
sss2019:

Há alguma maneira de fazer não mais de um pedido aberto no bar atual? Ou seja, preciso que uma ordem seja aberta no fractal atual, mas não mais do que isso, e na próxima, etc.

Pode ser feito de alguma forma?

Sim, isso é possível. Há apenas uma questão dupla. Se abrirmos na barra atual, é a barra zero. E o fractal é formado pelo menos no segundo.

Economize o tempo da barra fractal na variável e, se uma posição já foi aberta para este fractal com tal tempo, não abra mais posições com ela. Assim que um novo fractal for formado, seu tempo de bar mudará e então abrirá uma nova posição e, após sua abertura bem sucedida, armazenará o novo tempo fractal na variável.

 

Não pretendo ser intrusivo. Ajuda com minha pergunta. Não se pode fechar um pedido. Está me dando um erro com o bilhete errado. O problema está no bilhete, como eu o chamo e fecho o pedido? Como fechar uma passagem? Obrigado.

Estou escrevendo minha EA de uma forma que a venda é aberta após a compra e vice-versa, mas por alguma razão apenas a primeira encomenda é fechada e as outras não.


OrderSend(Symbol(),OP_SELLL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Comete um erro, bilhete errado. O problema está no bilhete, como eu o chamo e fecho o pedido? Obrigado.

 

Olá! Na janela em que a EA está anexada, como posso exibir o marcador vermelho do preço de abertura dessa ordem, na barra em que ela abriu?

Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);
 
kolaider:

Não pretendo ser intrusivo. Ajuda com minha pergunta. Não se pode fechar um pedido. Está me dando um erro com o bilhete errado. O problema está no bilhete, como eu o chamo e fecho o pedido? Como fechar uma passagem? Obrigado.

Estou escrevendo minha EA de uma maneira que a venda é aberta após a compra e vice-versa, mas por alguma razão apenas a primeira encomenda é fechada e as outras não.


OrderSend(Symbol(),OP_SELLL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Recebi um erro com um bilhete errado. A questão está no bilhete, como chamá-lo e fechar o pedido? Obrigado.

OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,0,CLR_Blue);

Está faltando uma opção de expiração (destacado em vermelho)

Você quer que uma posição de Venda se abra quando você fecha uma posição de Compra e vice-versa?

Na lista de ordens fechadas, encontre a última ordem fechada, veja seu tipo e abra a ordem oposta.

Para fechar um pedido, você deve primeiro selecioná-lo, pegar seu bilhete e fechá-lo.

 
kolyango:

Olá! Como posso exibir o marcador vermelho de preço certo do preço de abertura dessa ordem, na janela onde a EA está anexada, quando a ordem de mercado de VENDA foi aberta?


bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0,double price3=0)

Cria um objeto com o nome, tipo e coordenadas iniciais especificados na subjanela especificada do gráfico. O número de coordenadas associadas ao objeto pode ser de 1 a 3, dependendo do tipo. A função retorna VERDADEIRA se o objeto for criado com sucesso, caso contrário FALSO. Para obter mais informações sobre o erro, ligue para a função GetLastError().
Objetos do tipo OBJ_LABEL ignoram as coordenadas. Use ObjectSet() para definir as propriedades OBJPROP_XDISTÂNCIA e OBJPROP_YDISTÂNCIA.
Notas: A numeração das subjanelas do gráfico (se o gráfico tiver subjanelas com indicadores) começa a partir de 1. A subjanela do gráfico principal está sempre presente e tem o índice 0.
As coordenadas devem ser passadas em pares - tempo e preço. Por exemplo, o objeto OBJ_VLINE só precisa de tempo, mas o preço (qualquer valor) também deve ser passado.
Parâmetros:
nome - Nome único do objeto.
tipo - Tipo de objeto. Pode ser qualquer tipo de objeto.
janela - Índice da janela à qual o objeto será adicionado. O índice da janela deve ser maior ou igual a 0 e menor do que o WindowsTotal().
tempo1 - Hora da primeira coordenada.
preço1 - Preço da primeira coordenada.
tempo2 - Tempo segunda coordenada.
preço2 - Preço da segunda coordenada.
tempo3 - Tempo para a terceira coordenada.
preço3 - Preço da terceira coordenada.
Exemplo:
 // novo objeto Texto if(!ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)) { Imprimir("erro: não é possível criar objeto_texto! code #",GetLastError()); return(0); } // novo objeto TextLabel if(!ObjectCreate("label_object", OBJ_LABEL, 0, 0)) { Print("error: can't create label_object! code #",GetLastError()); return(0); } ObjectSet("label_object", OBJPROP_XDISTANCE, 200); ObjectSet("label_object", OBJPROP_YDISTANCE, 100);
 

artmedia70:


Você pode. Apenas a questão é dupla. Se você abrir na barra atual, a barra é zero. E o fractal é formado pelo menos na segunda barra.

Economize o tempo da barra fractal na variável e, se esse fractal já tiver uma posição aberta, não abra mais posições com ele. Assim que um novo fractal for formado, seu tempo de bar mudará e você abrirá uma nova posição e, após sua abertura bem sucedida, armazenará o novo tempo fractal na variável.


Como posso salvá-lo, em uma variável global? Criei uma variável simples, mas parece que ela não está salva e as ordens continuam a abrir. Ver

int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     
   datetime opentime;
     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
  }

Openium variável

Gostaria de pedir a alguém que me ajude, por favor.

Eu até tentei tornar a variável global, mas ela ainda abre muitos negócios, como se a variável fosse reiniciada a cada vez.

datetime opentime = 0;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     

     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
 
T-G:

Por favor, aconselhe como lidar com um problema trivial - tenho um buraco na história do EUR para junho de 2011 e depois setembro e um pouco de setembro está perdido

na pasta de downloads doterminal da históriaEURUSD, há estes arquivos

EURUSD_2011_06_81625bcefc91bf488a04d5a1dae0c93f
EURUSD_2011_09_2557787db3eb2fe87073c783f21cdd66

EURUSD_2011_10_15793a4a4f9d001b78a82e248872bc3b

Experimentei vários terminais de diferentes corretores, incluindo o MQ nativo. Também experimentei em diferentes máquinas com XP e Win7. Tentou apagar símbolos.raw e symgroups.raw e baixá-los novamente - não ajudou.


Será que é crucial para você ter uma história deste período em particular?
 
nadya:
Será que é crucial para você ter uma história deste período em particular?
O que você acha? Já que estou perguntando, sim!
 
T-G:
O que você acha? Já que estou perguntando, sim!
Bem, então, peça uma história ao pessoal do depósito.
 
sss2019:


Como posso salvá-lo para uma variável global? Eu fiz uma variável regular, mas não parece ser salva e as ordens continuam abrindo. Aqui está

Openium variável

Estou tentando tornar esta variável global.

Eu até tentei tornar a variável global, mas ela ainda abre muitos negócios, como se a variável fosse reiniciada a cada vez.

OrderSend devolve um valor inteiro, não é uma função booleana, tenha cuidado
Razão: