Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 498

 
Artyom Trishkin :

Eh, bir hata değil: global i (mavi) ile bir döngü ve yerel i (kırmızı) ile başka bir döngü

Derleyici şikayet edecek
 
pako :
Derleyici şikayet edecek
Evet, olacak. Ancak tartışılan konuya asla daha uygun olmadığı için;)
 
Artyom Trishkin :

Eh, bir hata değil: global i (mavi) ile bir döngü ve yerel i (kırmızı) ile başka bir döngü

Ben bile anladım... ben (mavi) bir apartman ve ben (kırmızı) bir tuvalet. :))))

 
İyi günler Bana bir baykuşta ZigZag'ı nasıl çalıştıracağımı söyle Danışman genellikle çalışıyor, ancak çok fazla sol sinyal var, ZZ'yi yapıştırdım, çalışmayı bıraktım. Testte Zigzag dosyası açılamıyor, hiç hata ayıklama yok, demoda tek bir sipariş satın almadı.
xtern string    ZigZag                       = "Данные ZigZag" ;
extern int       InpDepth                      = 20 ;
extern int       InpDeviation                  = 5 ;
extern int       InpBackstep                   = 3 ;

double MacdCurrent,SignalCurrent,SignalMAPrevious,SignalMAThis,
       PriceCurrentOpen,PriceCurrentClose,SignalParabolic,ZZThis,ZZPrevious;
int     ticket;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
{
 if ( Digits == 3 || Digits == 5 )
 {
  slippage*= 10 ;
 }   
 return ( INIT_SUCCEEDED );
} 
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
{
 datetime EaStartTime = StringToTime (StartTime);   // время начала работы советника
 datetime EaEndTime = StringToTime (EndTime);       // время окончания работы советника
 datetime CurrTime = TimeCurrent ();               // это если нужно взять время терминала
 if (CurrTime < EaStartTime || CurrTime >= EaEndTime)
   return ;                                         // если еще не время торговать - выход
 {
  MacdCurrent= iMACD ( NULL , 0 ,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_MAIN, 0 );
  SignalCurrent= iMACD ( NULL , 0 ,InpFastEMA,InpSlowEMA,InpSignalSMA,Macd_Applied_Price,MODE_SIGNAL, 0 );
  SignalMAPrevious= iMA ( NULL , 0 ,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price, 1 );
  SignalMAThis= iMA ( NULL , 0 ,InpMAPeriod,InpMAShift,InpMAMethod,MA_Applied_Price, 0 );
  SignalParabolic= iSAR ( NULL , 0 ,InpSARStep,InpSARMaximum, 0 );
  ZZThis= iCustom ( NULL , 0 ,ZigZag,InpDepth,InpDeviation,InpBackstep, 0 , 0 );
  ZZPrevious= iCustom ( NULL , 0 ,ZigZag,InpDepth,InpDeviation,InpBackstep, 0 , 4 );
   if (CountTrades()== 0 ) CheckForOpen();
 }
}  
void CheckForOpen()
 
Alexey Viktorov :

Ben bile anladım... ben (mavi) bir apartman ve ben (kırmızı) bir tuvalet. :))))

Her şeyi basit bir şekilde açıklamak için açık bir yetenek olan popüler bilim literatürü yazmanız gerekiyor))

duyurulan ile

 #property strict

sadece yerel i'nin global olanı geçersiz kıldığı konusunda bir uyarı verecektir.

'i' beyanı, 20. satırdaki küresel beyanı gizler test.mq4 25 on üç

 
Alexey Volchanskiy :

Her şeyi basit bir şekilde açıklamak için açık bir yetenek olan popüler bilim literatürü yazmanız gerekiyor))

duyurulan ile

sadece yerel i'nin global olanı geçersiz kıldığı konusunda bir uyarı verecektir.

'i' beyanı, 20. satırdaki küresel beyanı gizler test.mq4 25 on üç

Artyom bunu böyle açıkladı. Böyle yeteneklerim yok ... Chukchi bir yazar değil, Chukchi bir okuyucu ...
 
Alexey Viktorov :
Artyom bunu böyle açıkladı. Böyle yeteneklerim yok ... Chukchi bir yazar değil, Chukchi bir okuyucu ...
Pekala... biz Sibirya kapitone ceketleriyiz;)
 
Nickolay72 :
İyi günler Bana bir baykuşta ZigZag'ı nasıl çalıştıracağımı söyle Danışman genellikle çalışıyor, ancak çok fazla sol sinyal var, ZZ'yi yapıştırdım, çalışmayı bıraktım. Testte Zigzag dosyası açılamıyor , hiç hata ayıklama yok, demoda tek bir sipariş satın almadı.

Özel göstergelerde bir ZigZag dosyası var, varsa, bir danışmandan erişirken olduğu gibi tam olarak orada mı çağrılıyor?

  ZZThis= iCustom ( NULL , 0 , ZigZag ,InpDepth,InpDeviation,InpBackstep, 0 , 0 );
  ZZPrevious= iCustom ( NULL , 0 , ZigZag ,InpDepth,InpDeviation,InpBackstep, 0 , 4 );
 
Vladimir Zubov :

Özel göstergelerde bir ZigZag dosyası var, varsa, bir danışmandan erişirken olduğu gibi tam olarak orada mı çağrılıyor?

Dosya adını uzantı olmadan tırnak içinde almak gerekir. Hiç derlenmiş olması garip. Orijinal ZigZag değişkeni neydi?

ZZThis= iCustom ( NULL , 0 , "ZigZag" ,InpDepth,InpDeviation,InpBackstep, 0 , 0 );
 

Beşteki tek negatif düşüşler nasıl eşitlenir veya telafi edilir?

bir fonksiyon var ama çalışmıyor

 //+------------------------------------------------------------------+
//| Считаем лот в зависимости от полученного профита                 |
//+------------------------------------------------------------------+
double Volume( void )
  {
   double lot=Lots;
//--- Получим доступ к истории
   HistorySelect ( 0 , TimeCurrent ());
//--- Сделки в истории
   int orders= HistoryDealsTotal ();
//--- Тикет последней сделки  
   ulong ticket= HistoryDealGetTicket (orders- 1 );
   if (ticket== 0 )
     {
       Print ( "Нет сделок в истории! " );
      lot=Lots;
     }
//--- Профит сделки
   double profit= HistoryDealGetDouble (ticket, DEAL_PROFIT );
//--- Лот сделки
   double lastlot= HistoryDealGetDouble (ticket, DEAL_VOLUME );
//--- Профит отрицательный
   if (profit< 0.0 )
     {
       //--- Увеличиваем следующий лот
      lot=lastlot*KLot;
       Print ( " Cделка закрыта по стопу! " );
     }
//--- Приводим лот к минимальному
   double minvol= SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_MIN );
   if (lot<minvol)
      lot=minvol;
//--- Если лот больше максимального то начальный лот
   if (lot>MaxLot)
      lot=Lots;
//--- Возвращаем торговый объем
   return (lot);
  }
//+------------------------------------------------------------------+
//| Смотрим тип последней закрытой сделки                            |
//+------------------------------------------------------------------+
int LastDealType( void )
  {
   int type= 0 ;
//--- Получим доступ к истории
   HistorySelect ( 0 , TimeCurrent ());
//--- Сделки в истории
   int orders= HistoryDealsTotal ();
//--- Тикет последней сделки  
   ulong ticket= HistoryDealGetTicket (orders- 1 );
//--- Нет сделок в истории
   if (ticket== 0 )
     {
       Print ( "Нет сделок в истории! " );
      type= 0 ;
     }
   if (ticket> 0 )
     {
       //--- Последняя сделка BUY 
       if ( HistoryDealGetInteger (ticket, DEAL_TYPE )== DEAL_TYPE_BUY )
        {
         type= 2 ;
        }
       //--- Последняя сделка SELL
       if ( HistoryDealGetInteger (ticket, DEAL_TYPE )== DEAL_TYPE_SELL )
        {
         type= 1 ;
        }
     }
//---
   return (type);
  }