Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 595

 
realgentleman:

El depurador ha dejado de funcionar, ¿por qué?

Desde el mediodía del 5 de mayo, el depurador ha dejado de dar valores de variables en el punto de interrupción. En todos los programas para todas las variables. Al mismo tiempo, los propios programas funcionan como antes. En ese momento (y hasta ahora) el editor era"ver. 5.00 build 934" y MetaTrader "ver. 4.00 build 646" .

Aquí hay un script simple, y esto es lo que muestra el depurador. ¿Puede decirme qué pasa?

 
realgentleman:

El depurador ha dejado de funcionar, ¿por qué?

Desde el mediodía del 5 de mayo, el depurador ha dejado de dar valores de variables en el punto de interrupción. En todos los programas para todas las variables. Al mismo tiempo, los propios programas funcionan como antes. En ese momento (y hasta ahora) el editor era"ver. 5.00 build 934" y MetaTrader "ver. 4.00 build 646" .

Aquí hay un script simple, y esto es lo que muestra el depurador. ¿Puede decirme qué pasa?

Aquí
 

¿Cómo puedo saber la comisión y el swap de un símbolo en $ antes de abrir una posición?

 
Hola..... Hace tiempo encontré una biblioteca en el foro con todos los tipos de arrastre posibles... ahora no la encuentro, he rebuscado en un montón de enlaces y no la encuentro, ¿alguien puede darme un enlace a ella o a la propia biblioteca
 
Zver4991:
Hola..... Hace tiempo encontré una biblioteca en el foro con todos los tipos de arrastre posibles... ahora no la encuentro, he rebuscado en un montón de enlaces y no la encuentro, ¿alguien puede darme un enlace a ella o a la propia biblioteca
https://www.mql5.com/ru/code/7108
 
exactamente exactamente lo que estaba buscando ...muchas gracias
 

la pregunta es bastante antigua y se ha preguntado antes al cien por cien, pero de nuevo la función no funciona, joder, y no recuerdo por qué....

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 pregunta es bastante antigua y se ha preguntado antes al cien por cien, pero de nuevo la función no funciona, joder, y no recuerdo por qué....

Y por qué crees que "estúpidamente ignorado..." tal vez funciona tan bien que siempre devuelve falso. Es decir, simplemente no ve las órdenes abiertas o peor... así es como está diseñado :)))
 
AlexeyVik:
Por qué crees que "estúpidamente ignorado..." puede funcionar tan bien que siempre devuelve falso. Es decir, simplemente no ve las órdenes abiertas o peor... así es como está diseñado :)))


es una función tomada de una rama
/*Предназначена для проверки наличия открытых покупок или продаж. Аналогична функции 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:

Esta es una función tomada de la rama
Nunca he visto un código peor que el de Kim, pero se anuncia en toda la web.

Pero si le resulta difícil escribir ese cheque usted mismo, utilice lo que hay... Pruébalo así.

if(ExistPositions(Symbol(),-1,-1,0)==false)
Razón de la queja: