Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1221

 

L'objectif est d'ouvrir un seul ordre sur la barre zéro actuelle.

S'il y avait déjà un ordre fermé sur la barre actuelle, n'en ouvrez pas un nouveau.

Et le code ne fonctionne pas :

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:
mais peut-on le faire de cette façon ? (Seul le dernier type - avec un rectangle - fonctionnerait maintenant).


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

est de supprimer tous les objets qui ont le type OBJ_LABEL ou OBJ_RECTANGLE_LABEL.

 
HeAic:

L'objectif est d'ouvrir un seul ordre sur la barre zéro actuelle.

S'il y avait déjà un ordre fermé sur la barre actuelle, n'en ouvrez pas un nouveau.

Le code ne fonctionne pas :

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

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

   ...

}

les ordres devront être mémorisés et exécutés séparément. En général, elle est mieux réalisée en tant que complexe.

A propos des commandes fermées vérification similaire par HISTORY

 

Quelle est la manière habituelle d'afficher du texte sur un graphique ? N'importe où, juste du texte ?

Est-ce que c'esthttps://www.mql5.com/ru/docs/objects ? Indiquez-moi la bonne direction.

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

Quelle est la manière habituelle d'afficher du texte sur un graphique ? N'importe où, juste du texte ?

Est-ce que c'esthttps://www.mql5.com/ru/docs/objects ? Indiquez-moi la bonne direction.

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

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

   ...

}

Les pauses devront être mémorisées et traitées séparément. En général, cela se fait de manière plus optimale en tant que complexe.

à propos de ceux qui sont fermés, vérification similaire par l'HISTOIRE

J'ai donc trouvé un exemple pour mon propre cas dans le livre de référence :

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

Je fermerai les commandes comme celle-ci :

   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
            

Merci pour votre aide :)

 
Bonjour. Bonjour, tout le monde. Pouvez-vous m'aider à trouver un indicateur

L'équilibre des pouvoirs. Où puis-je le télécharger ? Merci. (gloussements)

 
2004sasha:
Bonjour. Bonjour à tous. Aidez-moi à trouver un indicateur

L'équilibre des pouvoirs. Où puis-je le télécharger ? Merci.

Une recherche sur le site web donnera un résultat.


 
Maxim Kuznetsov:

est de supprimer tous les objets qui ont le type OBJ_LABEL ou OBJ_RECTANGLE_LABEL.

Je comprends que vous pouvez les appeler 2.

, mais ma question est la suivante

ObjectsDeleteAll

La fonction parcourt-elle la boucle en spécifiant OBJ_TREND et ne sélectionne-t-elle que les objets du type correct ou crée-t-elle la boucle avec les seuls objets requis en une seule fois ?