Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1221

 

L'obiettivo è quello di aprire un solo ordine sulla barra zero corrente.

Se c'era già un ordine chiuso sulla barra corrente, non aprirne uno nuovo.

E il codice non funziona:

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:
ma si può fare in questo modo? (Solo l'ultimo tipo - con un rettangolo - funzionerebbe ora).


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

è rimuovere tutti gli oggetti che hanno il tipo OBJ_LABEL o OBJ_RECTANGLE_LABEL

 
HeAic:

L'obiettivo è quello di aprire un solo ordine sulla barra zero corrente.

Se c'era già un ordine chiuso sulla barra corrente, non aprirne uno nuovo.

Il codice non funziona:

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

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

   ...

}

gli ordini dovranno essere memorizzati ed eseguiti separatamente. In generale, si fa meglio come un complesso

A proposito di ordini chiusi controllo simile per STORIA

 

Qual è il modo usuale di visualizzare il testo su un grafico? Ovunque, solo il testo?

èhttps://www.mql5.com/ru/docs/objects ? indicami la direzione giusta

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

Qual è il modo usuale di visualizzare il testo su un grafico? Ovunque, solo il testo?

èhttps://www.mql5.com/ru/docs/objects ? indicami la direzione giusta

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

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

   ...

}

Le pause dovranno essere memorizzate ed elaborate separatamente. In generale, questo viene fatto in modo più ottimale come un complesso

su quelli chiusi, controllo simile per STORIA

Così, ho trovato un esempio per il mio caso dal libro di riferimento:

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

Chiuderò gli ordini in questo modo:

   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
            

Grazie per il vostro aiuto :)

 
Salve. Salve a tutti. Potete aiutarmi a trovare un indicatore

Equilibrio di potere. Dove posso scaricarlo? Grazie.

 
2004sasha:
Salve. Ciao a tutti. Aiutami a trovare un indicatore

Equilibrio di potere. Dove posso scaricarlo? Grazie.

Una ricerca sul sito web darà un risultato.


 
Maxim Kuznetsov:

è rimuovere tutti gli oggetti che hanno il tipo OBJ_LABEL o OBJ_RECTANGLE_LABEL

Capisco che puoi chiamarli 2.

, ma la mia domanda è questa

ObjectsDeleteAll

la funzione passa attraverso il ciclo specificando OBJ_TREND e seleziona solo gli oggetti del tipo di oggetto corretto o crea il ciclo con solo gli oggetti richiesti in una volta?