Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 595

 
realgentleman:

Il Debugger ha smesso di funzionare - perché?

Da metà giornata del 5 maggio, il Debugger ha smesso di dare valori variabili al breakpoint. In tutti i programmi per tutte le variabili. Allo stesso tempo, i programmi stessi funzionano come prima. A quel tempo (e fino ad oggi) l'editor era"ver. 5.00 build 934" e MetaTrader "ver. 4.00 build 646".

Ecco un semplice script, e questo è ciò che mostra il Debugger. Puoi dirmi per favore cosa c'è che non va?

 
realgentleman:

Il Debugger ha smesso di funzionare - perché?

Da metà giornata del 5 maggio, il Debugger ha smesso di dare valori variabili al breakpoint. In tutti i programmi per tutte le variabili. Allo stesso tempo i programmi stessi funzionano come prima. A quel tempo (e fino ad oggi) l'editor era"ver. 5.00 build 934" e MetaTrader "ver. 4.00 build 646".

Ecco un semplice script, e questo è ciò che mostra il Debugger. Puoi dirmi per favore cosa c'è che non va?

Qui
 

Come posso scoprire la commissione e lo swap su un simbolo in $ prima di aprire una posizione?

 
Ciao..... Una volta ho trovato una libreria sul forum con tutti i possibili tipi di pesca a strascico... ora non riesco a trovarla, ho scavato in un mucchio di link e non riesco a trovarla, qualcuno può darmi un link ad essa o la libreria stessa
 
Zver4991:
Ciao..... Una volta ho trovato una libreria sul forum con tutti i possibili tipi di pesca a strascico... ora non riesco a trovarla, ho scavato un sacco di link e non riesco a trovarla, qualcuno può darmi un link ad essa o la libreria stessa
https://www.mql5.com/ru/code/7108
 
esattamente esattamente quello che stavo cercando ...grazie mille
 

la domanda è abbastanza vecchia ed è stata posta al 100% prima, ma di nuovo la funzione non funziona, cazzo, e non riesco a ricordare perché....

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 domanda è abbastanza vecchia ed è stata posta al 100% prima, ma di nuovo la funzione non funziona, cazzo, e non riesco a ricordare perché....

E perché pensate che "stupidamente ignorato..." forse funziona così bene che restituisce sempre falso. Cioè, semplicemente non vede gli ordini aperti o peggio... questo è il modo in cui è progettato :)))
 
AlexeyVik:
Perché pensate che "stupidamente ignorato..." possa funzionare così bene da restituire sempre falso. Cioè, semplicemente non vede gli ordini aperti o peggio... questo è il modo in cui è progettato :)))


è una funzione presa da un ramo
/*Предназначена для проверки наличия открытых покупок или продаж. Аналогична функции 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:

Questa è una funzione presa dal ramo
Non ho mai visto un codice peggiore di quello di Kim, ma è pubblicizzato in tutto il web.

Ma se vi è difficile scrivere un tale assegno da soli, usate ciò che è disponibile... Prova così.

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