Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1221

 

O objetivo é abrir apenas uma ordem na barra zero atual.

Se já havia uma ordem fechada no bar atual, não abra uma nova ordem.

E o código não funciona:

bool is = OrderSelect(1, SELECT_BY_POS, MODE_HISTORY);
 
       if ( iTime(NULL,0,0) < OrderOpenTime() || is == false){
 
 
 if (OrdersTotal() < 1) OrderSend(Symbol(), OP_BUY, 1, Ask, 3, 0,0, "", 1212, 0, clrGreen);
  }
 
Pavel Verveyko:
mas isso pode ser feito desta maneira? (Somente o último tipo - com um retângulo - funcionaria agora).


ObjectsDeleteAll(0,"prefix",0,OBJ_LABEL);
ObjectsDeleteAll(0,"prefix",0,OBJ_RECTANGLE_LABEL);

é remover todos os objetos que tenham o tipo OBJ_LABEL ou OBJ_RECTANGLE_LABEL

 
HeAic:

O objetivo é abrir apenas uma ordem na barra zero atual.

Se já havia uma ordem fechada no bar atual, não abra uma nova ordem.

O código não funciona:

datetime openBarTime=iTime(_Symbol,_Period,0);

bool orderFound=false;

for(int pos=OrdersTotal()-1;pos>=0;pos--) {

   ... /// тут всякие проверки на select,magic,symbol,type и проч

   if (OrderOpenTime()>=openBarTime) {

       orderFound=true; // нашёлся ордер открытый на текущем баре

       break;

   }

}

if (!orderFound) {

   // не было ордеров на текущем баре - трам пам пам

   ...

}

as ordens terão que ser memorizadas e executadas separadamente. Em geral, é feito melhor como um complexo

Sobre pedidos fechados verificação semelhante pela HISTÓRIA

 

qual é a maneira usual de exibir texto em um gráfico? em qualquer lugar, apenas texto

éhttps://www.mql5.com/ru/docs/objects ? me apontar na direção certa

Документация по MQL5: Графические объекты
Документация по MQL5: Графические объекты
  • www.mql5.com
Функции, задающие свойства графических объектов, а также операции создания ObjectCreate() и перемещения ObjectMove() объектов на графике фактически служат для отправки команд графику. При успешном выполнении этих функций команда попадает в общую очередь событий графика. Визуальное изменение свойств графических объектов производится в процессе...
 
Fast235:

Qual é a forma usual de exibir texto em um gráfico? Em qualquer lugar, apenas texto?

éhttps://www.mql5.com/ru/docs/objects ? me apontar na direção certa

https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_text

https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_label

 
Maxim Kuznetsov:

datetime openBarTime=iTime(_Symbol,_Period,0);

bool orderFound=false;

for(int pos=OrdersTotal()-1;pos>=0;pos--) {

   ... /// тут всякие проверки на select,magic,symbol,type и проч

   if (OrderOpenTime()>=openBarTime) {

       orderFound=true; // нашёлся ордер открытый на текущем баре

       break;

   }

}

if (!orderFound) {

   // не было ордеров на текущем баре - трам пам пам

   ...

}

As pausas terão que ser memorizadas e processadas separadamente. Em geral, isto é feito de forma mais otimizada como um complexo

sobre os fechados, verificação semelhante pela HISTÓRIA

Então, encontrei um exemplo para meu próprio caso no livro de referência:

bool orderFound=false;

 // retrieving info from trade history 
  int i,accTotal=OrdersHistoryTotal(); 
  for(i=0;i<accTotal;i++) 
    { 
     //---- check selection result 
     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) 
       { 
        Print("Ошибка при доступе к исторической базе (",GetLastError(),")"); break; 
       } 
     // работа с ордером ... 
   if (OrderCloseTime() > iTime(_Symbol,_Period,0))orderFound=true ;// нашёлся ордер закрытый на текущем баре
    }
//-----
 
 if(OrdersTotal() < 1 && orderFound == false ) {//тут открываем ордера по алгоритму
  

Fecharei pedidos como este:

   if( OrdersTotal() > 0) 
 
     {
        for(cnt = 0; cnt < OrdersTotal(); cnt++)
      {
       bool s = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
       
      
       if( TimeCurrent()>= OrderOpenTime()+ (lifetime * 60)) // lifetime - время в минутах
          
          {
           
           if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber())    // long position is opened
            

Obrigado por sua ajuda :)

 
Olá. Olá a todos. Você pode me ajudar a encontrar um indicador

Equilíbrio de poder. Onde posso fazer o download? Obrigado (risos)

 
2004sasha:
Olá. Olá a todos. Ajude-me a encontrar um indicador

Equilíbrio de poder. Onde posso fazer o download? Obrigado.

Uma pesquisa no site trará um resultado.


 
Maxim Kuznetsov:

é remover todos os objetos que tenham tipo OBJ_LABEL ou OBJ_RECTANGLE_LABEL

Entendo que você pode chamá-los de 2.

, mas minha pergunta é a seguinte

ObjectsDeleteAll

a função passa pelo laço especificando OBJ_TREND e seleciona apenas objetos do tipo correto ou cria o laço com apenas os objetos necessários de uma só vez?

Razão: