Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1221

 

El objetivo es abrir sólo una orden en la barra cero actual.

Si ya había una orden cerrada en la barra actual, no abra una nueva.

Y el código no 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:
pero ¿se puede hacer así? (Sólo el último tipo -con un rectángulo- funcionaría ahora).


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

es eliminar todos los objetos que tienen el tipo OBJ_LABEL o OBJ_RECTANGLE_LABEL

 
HeAic:

El objetivo es abrir sólo una orden en la barra cero actual.

Si ya había una orden cerrada en la barra actual, no abra una nueva.

El código no 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) {

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

   ...

}

las órdenes tendrán que ser memorizadas y ejecutadas por separado. En general, se hace mejor como un complejo

Sobre las órdenes cerradas, comprobación similar por parte de HISTORIA

 

¿Cuál es la forma habitual de mostrar texto en un gráfico? ¿En cualquier lugar, sólo texto?

¿Eshttps://www.mql5.com/ru/docs/objects? Indícame la dirección correcta

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

¿cuál es la forma habitual de mostrar texto en un gráfico? cualquier lugar, sólo texto

¿Eshttps://www.mql5.com/ru/docs/objects? Indíqueme la dirección correcta

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) {

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

   ...

}

Las pausas tendrán que ser memorizadas y procesadas por separado. En general, esto se hace de manera más óptima como un complejo

sobre las cerradas, comprobación similar por parte de HISTORIA

Entonces, encontré un ejemplo para mi propio caso del libro de referencia:

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 ) {//тут открываем ордера по алгоритму
  

Cerraré los pedidos así:

   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
            

Gracias por su ayuda :)

 
Hola. Hola a todos. ¿Pueden ayudarme a encontrar un indicador

Equilibrio de poder. ¿Dónde puedo descargarlo? Gracias.

 
2004sasha:
Hola. Hola a todos. Ayúdenme a encontrar un indicador

Equilibrio de poder. ¿Dónde puedo descargarlo? Gracias.

Una búsqueda en el sitio web dará un resultado.


 
Maxim Kuznetsov:

es eliminar todos los objetos que tienen el tipo OBJ_LABEL o OBJ_RECTANGLE_LABEL

Entiendo que se pueden llamar 2.

, pero mi pregunta es la siguiente

ObjectsDeleteAll

¿la función recorre el bucle especificando OBJ_TREND y selecciona sólo los objetos del tipo de objeto correcto o crea el bucle sólo con los objetos necesarios a la vez?