Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 595

 
realgentleman:

Le débogueur a cessé de fonctionner - pourquoi ?

Depuis le 5 mai en milieu de journée, le débogueur ne donne plus de valeurs de variables au point d'arrêt. Dans tous les programmes pour toutes les variables. En même temps, les programmes eux-mêmes fonctionnent comme avant. À l'époque (et jusqu'à présent), l'éditeur était"ver. 5.00 build 934" et MetaTrader "ver. 4.00 build 646" .

Voici un script simple, et voici ce que montre le débogueur. Pouvez-vous me dire ce qui ne va pas ?

 
realgentleman:

Le débogueur a cessé de fonctionner - pourquoi ?

Depuis le 5 mai en milieu de journée, le débogueur ne donne plus de valeurs de variables au point d'arrêt. Dans tous les programmes pour toutes les variables. En même temps, les programmes eux-mêmes fonctionnent comme avant. À l'époque (et jusqu'à présent), l'éditeur était"ver. 5.00 build 934" et MetaTrader "ver. 4.00 build 646" .

Voici un script simple, et voici ce que montre le débogueur. Pouvez-vous me dire ce qui ne va pas ?

Ici
 

Comment puis-je connaître la commission et le swap sur un symbole en $ avant d'ouvrir une position?

 
Bonjour..... Il était une fois une bibliothèque sur le forum avec tous les types de chaluts possibles ... maintenant je ne peux pas le trouver, j'ai creusé à travers un tas de liens et je ne peux pas le trouver, quelqu'un peut-il me donner un lien vers lui ou la bibliothèque elle-même.
 
Zver4991:
Hello..... Il était une fois une bibliothèque sur le forum avec tous les types de chaluts possibles ... maintenant je ne peux pas le trouver, j'ai creusé à travers beaucoup de liens et je ne peux pas le trouver.
https://www.mql5.com/ru/code/7108
 
exactement exactement ce que je cherchais... Merci beaucoup.
 

la question est assez ancienne et a déjà été posée à 100 % mais, une fois de plus, la fonction ne fonctionne pas et je ne me souviens pas pourquoi.....

void OnTick()
  {
//---
   if(IsNewBar()==true)
     {

     if(TimeHour(TimeCurrent()) >= StartHour && TimeHour(TimeCurrent()) <= EndHour)
     {
          if(ExistPositions(NULL,-1,0,-1)==false)
{
OpenPosition(Symbol(),OP_SELL,0.1,Bid+sl*Point,Bid-tp*Point);
OpenPosition(Symbol(),OP_BUY,0.1,Ask-sl*Point,Ask+tp*Point);
}
}
   }  
  }
должны просто открываться два ордера при условии что нету открытых ордеров и в определенное время 
функции брал из ветки кима
пробовал магик добавлять все равно не работает
тупо игнорируется функция на проверку открытых ордеров
и открываются позиции на каждом баре
 
Zver4991:

la question est assez ancienne et a déjà été posée à 100 % mais, une fois de plus, la fonction ne fonctionne pas et je ne me souviens pas pourquoi.....

Et pourquoi pensez-vous que "stupidement ignoré..." peut-être que ça fonctionne si bien que ça renvoie toujours faux. C'est-à-dire qu'il ne voit pas les ordres ouverts ou pire... c'est ainsi qu'il est conçu :))))
 
AlexeyVik:
Pourquoi pensez-vous que "stupidement ignoré..." pourrait fonctionner si bien qu'il renvoie toujours faux. C'est-à-dire qu'il ne voit pas les ordres ouverts ou pire... c'est ainsi qu'il est conçu :))))


c'est une fonction prise sur une branche
/*Предназначена для проверки наличия открытых покупок или продаж. Аналогична функции ExistOrders. По умолчанию осматривает все позиции: текущего и других инструментов. Конкретизировать отбор можно комбинацией фильтров - параметров функции:

sy - Накладывает ограничение на наименование инструмента. По умолчанию параметр равен "" - отсутствие ограничений, то есть любой инструмент. Если передать NULL, то отбор позиций будет ограничен текущим инструментом.
op - Накладывает ограничение на тип позиции (Buy/Sell). По умолчанию ограничение отсутствует, то есть проверяется наличие позиции любого типа. Допустимые значения параметра -1, OP_BUY и OP_SELL.
mn - Накладывает ограничение на идентификационное ("магическое") число позиции. По умолчанию ограничение отсутствует, то есть проверяется наличие позиции с любым магическим числом.
ot - Накладывает ограничение на время открытия позиции. Проверяется, чтобы позиция была открыта позже значения данного параметра. По умолчанию ограничение отсутствует, то есть проверяется наличие позиции с любым временем открытия.
*/
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 06.03.2008                                                     |
//|  Описание : Возвращает флаг существования позиций                          |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//|    ot - время открытия             ( 0   - любое время открытия)           |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="",int op=-1,int mn=-1,datetime ot=0)
  {
   int i,k=OrdersTotal();

   if(sy=="0") sy=Symbol();
   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==sy || sy=="")
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(op<0 || OrderType()==op)
                 {
                  if(mn<0 || OrderMagicNumber()==mn)
                    {
                     if(ot<=OrderOpenTime()) return(True);
                    }
                 }
              }
           }
        }
     }
   return(False);
  }
хелп плиз если что то не так в ней
 
Zver4991:

Il s'agit d'une fonction tirée de la branche
Je n'ai jamais vu un code pire que celui de Kim, mais il est annoncé partout sur le web.

Mais si vous avez du mal à rédiger vous-même un tel chèque, utilisez ce qui est disponible... Essayez comme ça.

if(ExistPositions(Symbol(),-1,-1,0)==false)