Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 595

 
realgentleman:

Der Debugger funktioniert nicht mehr - warum?

Seit Mitte des Tages am 5. Mai gibt der Debugger am Haltepunkt keine Variablenwerte mehr aus. In allen Programmen für alle Variablen. Gleichzeitig funktionieren die Programme selbst wie bisher. Zu dieser Zeit (und bis heute) war Editor "ver. 5.00 build 934" und MetaTrader "ver. 4.00 build 646" .

Hier ist ein einfaches Skript, und das zeigt der Debugger. Können Sie mir bitte sagen, was los ist?

 
realgentleman:

Der Debugger funktioniert nicht mehr - warum?

Seit Mitte des Tages am 5. Mai gibt der Debugger am Haltepunkt keine Variablenwerte mehr aus. In allen Programmen für alle Variablen. Gleichzeitig funktionieren die Programme selbst wie bisher. Zu dieser Zeit (und bis heute) war Editor "ver. 5.00 build 934" und MetaTrader "ver. 4.00 build 646" .

Hier ist ein einfaches Skript, und das zeigt der Debugger. Können Sie mir bitte sagen, was los ist?

Hier
 

Wie kann ich die Kommission und den Swap für ein Symbol in $ herausfinden, bevor ich eine Position eröffne?

 
Hallo..... Es war einmal eine Bibliothek im Forum mit allen möglichen Arten von Schleppnetzen ... jetzt kann ich sie nicht mehr finden, ich habe mich durch einen Haufen Links gegraben und kann sie nicht finden, kann mir jemand einen Link dazu oder die Bibliothek selbst geben
 
Zver4991:
Hallo..... Es war einmal eine Bibliothek im Forum mit allen möglichen Arten von Schleppnetzen ... jetzt kann ich sie nicht mehr finden, ich habe viele Links durchforstet und kann sie nicht finden, kann mir jemand einen Link dazu oder die Bibliothek selbst geben
https://www.mql5.com/ru/code/7108
 
genau genau das, wonach ich gesucht habe ... vielen Dank
 

die Frage ist schon ziemlich alt und wurde schon einmal zu 100 Prozent gestellt, aber die Funktion funktioniert wieder einmal nicht, und ich kann mich nicht erinnern, warum....

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:

die Frage ist ziemlich alt und wurde schon einmal zu 100 Prozent gestellt, aber die Funktion funktioniert wieder einmal nicht und ich kann mich nicht erinnern, warum....

Und warum denken Sie, dass "dummerweise ignoriert..." vielleicht so gut funktioniert, dass es immer falsch zurückgibt. Das heißt, es sieht einfach keine offenen Aufträge oder schlimmer noch... so ist es gedacht :)))
 
AlexeyVik:
Warum glauben Sie, dass "dummerweise ignoriert..." so gut funktionieren könnte, dass es immer falsch zurückgibt. Das heißt, es sieht einfach keine offenen Aufträge oder schlimmer noch... so ist es gedacht :)))


es ist eine Funktion aus einer Verzweigung
/*Предназначена для проверки наличия открытых покупок или продаж. Аналогична функции 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:

ist eine Funktion aus dem Zweig
Ich habe noch nie einen schlechteren Code als den von Kim gesehen, aber er wird überall im Internet beworben.

Aber wenn es Ihnen schwerfällt, einen solchen Scheck selbst auszustellen, nutzen Sie die vorhandenen Möglichkeiten... Versuchen Sie es so.

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