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

 
Kira27 :

Vergi)) Sorulara verilen son cevaplar Güvenlik Konseyi'nin yapısını anlamada çok yardımcı oldu. Böyle bir soru vardı, sondaki sınıfta böyle bir soru var

değişken -- *konum. Kırmızı işaretli. Böyle bir ada sahip böyle bir değişken mi yoksa * bir şey ifade ediyor mu? Bu sondaki derler ve #include içerir

Ve hiçbirinde böyle bir değişken yok. Nereden geliyor, bir yerde ilan edildi mi??)) Ayrıca, bu arada, ne olduğu daha az ilginç değil - double &sl ???

Önce özelliklerine bakın. Orada ve fonksiyon bildirimindeki değişkenler hakkında.

Ayrıca düğmeyi kullanarak doğru kodu girin kod

 

Söyle bana, lütfen, sorun ne olabilir? Danışmanı çizelgeye koydum, konmadı, uzmanlar şunu yazıyor:

 2021.01 . 24 22 : 11 : 44.019 Nova V6 (EURUSD,H1) cannot load custom indicator 'Standard Deviation smoothing' [ 4802 ]
2021.01 . 24 22 : 11 : 44.020 Nova V6 (EURUSD,H1) Failed to create handle of the iCustom indicator for the symbol EURUSD/ PERIOD_H1 , error code 4802



Günlükte bu:  

 2021.01 . 24 22 : 18 : 04.506 Experts expert Nova V6 (EURUSD,H1) loaded successfully
2021.01 . 24 22 : 18 : 07.274 Experts initializing of Nova V6 (EURUSD,H1) failed with code 1
2021.01 . 24 22 : 18 : 07.288 Experts expert Nova V6 (EURUSD,H1) removed
Standard Deviation - Трендовые индикаторы - Справка по MetaTrader 5
Standard Deviation - Трендовые индикаторы - Справка по MetaTrader 5
  • www.metatrader5.com
Технический Индикатор Стандартное отклонение (Standard Deviation, StdDev) измеряет волатильность рынка. Этот индикатор характеризует размер...
 
pit84 :

Söyle bana, lütfen, sorun ne olabilir? Danışmanı çizelgeye koydum, konmadı, uzmanlar şunu yazıyor:



Günlükte bu:  

"Gösterge" klasöründe " Standart Sapma yumuşatma" göstergesi yok

 
pit84 :

Söyle bana, lütfen, sorun ne olabilir? Danışmanı çizelgeye koydum, konmadı, uzmanlar şunu yazıyor:



Günlükte bu:  

Özel bir gösterge göstergesi yoktur.

 

En ilginç şey, bir göstergenin olması ve grafiğe sorunsuz bir şekilde yerleştirilmesidir, ancak danışman bunu istemiyor.

 
pit84 :

En ilginç şey, bir göstergenin olması ve grafiğe sorunsuz bir şekilde yerleştirilmesidir, ancak danışman bunu istemiyor.

Dikkatlice okuyunuz: Belirttiğiniz yerde herhangi bir gösterge bulunmamaktadır.

Düğmeyi kullanarak MQL5 kodunuzu yapıştırın kod ve göstergenin varlığını kanıtlamak için Windows Gezgini'nden bir ekran görüntüsü yapıştırın.
 
BillionerClub :

Yazar kasadan çok uzakta değil, uzaklaşıyor, aynı hata, koddaki hatanın ne olduğunu söyle?

Tüm telepatlar tatilde. Ne yazık ki düşüncelerinizi okuyacak kimse yok.

 
BillionerClub :

Yazar kasadan çok uzakta değil, uzaklaşıyor, aynı hata, koddaki hatanın ne olduğunu söyle?

Kasadan, uzaklaşarak, uzaklaşarak, kasadan - diyeceğim, git, s - XZ)))))))))))

 
Vladimir Karputov :

Tüm telepatlar tatilde. Ne yazık ki düşüncelerinizi okuyacak kimse yok.

Temel olarak, kodumda hata arıyorum, bununla ilgili bir sorun yok, ancak burada tartışıldığı için atmaya karar verdim, belki bu da tartışılan şeydir, belki kodum çözülür

 
//+------------------------------------------------------------------+
//|                                 Standard Deviation smoothing.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.000"
#include <MovingAverages.mqh>
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots    1
//--- the iStdDev plot
#property indicator_label1    "StdDev smoothing"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrGreenYellow
#property indicator_style1    STYLE_SOLID
#property indicator_width1    2
//--- input parameters 
input int                   Inp_StdDev_ma_period    = 20 ;           // period of averaging
input int                   Inp_StdDev_ma_shift     = 0 ;           // shift
input ENUM_MA_METHOD        Inp_StdDev_ma_method    = MODE_SMA ;     // type of smoothing
input ENUM_APPLIED_PRICE    Inp_StdDev_applied_price= PRICE_CLOSE ; // type of price
//--- indicator buffer 
double StdDevBuffer[];
double StdDevBufferTemp[];
int     handle_iStdDev;         // variable for storing the handle_iStdDev of the iStdDev indicator 
string short_name;             // name of the indicator on a chart 
int     bars_calculated= 0 ;     // we will keep the number of values in the Standard Deviation indicator 
int     m_weightsum;
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
int OnInit ()
  {
   m_weightsum= 0 ;
//--- assignment of array to indicator buffer 
   SetIndexBuffer ( 0 ,StdDevBuffer, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,StdDevBufferTemp, INDICATOR_CALCULATIONS );
//--- set shift 
   PlotIndexSetInteger ( 0 , PLOT_SHIFT ,Inp_StdDev_ma_shift);
//--- create handle_iStdDev of the indicator iStdDev   
   handle_iStdDev= iStdDev ( Symbol (), Period (),Inp_StdDev_ma_period,
                          Inp_StdDev_ma_shift,Inp_StdDev_ma_method,Inp_StdDev_applied_price);
//--- if the handle_iStdDev is not created 
   if (handle_iStdDev== INVALID_HANDLE )
     {
       //--- tell about the failure and output the error code 
       PrintFormat ( "Failed to create handle_iStdDev of the iStdDev indicator for the symbol %s/%s, error code %d" ,
                   Symbol (),
                   EnumToString ( Period ()),
                   GetLastError ());
       //--- the indicator is stopped early 
       return ( INIT_FAILED );
     }
//--- show the symbol/timeframe the Standard Deviation indicator is calculated for 
   short_name= StringFormat ( "StdDev smoothing(%d)" ,Inp_StdDev_ma_period);
   IndicatorSetString ( INDICATOR_SHORTNAME ,short_name);
//--- normal initialization of the indicator   
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+ 
//| Custom indicator iteration function                              | 
//+------------------------------------------------------------------+ 
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//--- number of values copied from the iStdDev indicator 
   int values_to_copy;
//--- determine the number of values calculated in the indicator 
   int calculated= BarsCalculated (handle_iStdDev);
   if (calculated<= 0 )
     {
       PrintFormat ( "BarsCalculated() returned %d, error code %d" ,calculated, GetLastError ());
       return ( 0 );
     }
//--- if it is the first start of calculation of the indicator or if the number of values in the iStdDev indicator changed 
//---or if it is necessary to calculated the indicator for two or more bars (it means something has changed in the price history) 
   if (prev_calculated== 0 || calculated!=bars_calculated || rates_total>prev_calculated+ 1 )
     {
       //--- if the iStdDevBuffer array is greater than the number of values in the iStdDev indicator for symbol/period, then we don't copy everything  
       //--- otherwise, we copy less than the size of indicator buffers 
       if (calculated>rates_total)
         values_to_copy=rates_total;
       else
         values_to_copy=calculated;
     }
   else
     {
       //--- it means that it's not the first time of the indicator calculation, and since the last call of OnCalculate() 
       //--- for calculation not more than one bar is added 
      values_to_copy=(rates_total-prev_calculated)+ 1 ;
     }
//--- fill the array with values of the Standard Deviation indicator 
//--- if FillArrayFromBuffer returns false, it means the information is nor ready yet, quit operation 
   if (!FillArrayFromBuffer(StdDevBufferTemp,Inp_StdDev_ma_shift,handle_iStdDev,values_to_copy))
       return ( 0 );
   if (prev_calculated== 0 )
       for ( int i= 0 ;i<Inp_StdDev_ma_period- 1 ;i++)
         StdDevBufferTemp[i]= 0.0 ;
   switch (Inp_StdDev_ma_method)
     {
       case    MODE_SMA :
         SimpleMAOnBuffer(rates_total,prev_calculated, 0 , 3 ,StdDevBufferTemp,StdDevBuffer);
         break ;
       case    MODE_EMA :
         ExponentialMAOnBuffer(rates_total,prev_calculated, 0 , 3 ,StdDevBufferTemp,StdDevBuffer);
         break ;
       case    MODE_SMMA :
         SmoothedMAOnBuffer(rates_total,prev_calculated, 0 , 3 ,StdDevBufferTemp,StdDevBuffer);
         break ;
       default :
         LinearWeightedMAOnBuffer(rates_total,prev_calculated, 0 , 9 ,StdDevBufferTemp,StdDevBuffer,m_weightsum);
         break ;
     }
//--- memorize the number of values in the Standard Deviation indicator 
   bars_calculated=calculated;
//--- return the prev_calculated value for the next call 
   return (rates_total);
  }
//+------------------------------------------------------------------+ 
//| Filling indicator buffers from the iStdDev indicator             | 
//+------------------------------------------------------------------+ 
bool FillArrayFromBuffer( double &std_buffer[],   // indicator buffer of the Standard Deviation line 
                         int std_shift,         // shift of the Standard Deviation line 
                         int ind_handle,         // handle_iStdDev of the iStdDev indicator 
                         int amount             // number of copied values 
                         )
  {
//--- reset error code 
   ResetLastError ();
//--- fill a part of the iStdDevBuffer array with values from the indicator buffer that has 0 index 
   if ( CopyBuffer (ind_handle, 0 ,-std_shift,amount,std_buffer)< 0 )
     {
       //--- if the copying fails, tell the error code 
       PrintFormat ( "Failed to copy data from the iStdDev indicator, error code %d" , GetLastError ());
       //--- quit with zero result - it means that the indicator is considered as not calculated 
       return ( false );
     }
//--- everything is fine 
   return ( true );
  }
//+------------------------------------------------------------------+ 
//| Indicator deinitialization function                              | 
//+------------------------------------------------------------------+ 
void OnDeinit ( const int reason)
  {
//--- clear the chart after deleting the indicator 
   Comment ( "" );
  }
//+------------------------------------------------------------------+

Vladimir Karputov :

Dikkatlice okuyunuz: Belirttiğiniz yerde herhangi bir gösterge bulunmamaktadır.

Düğmeyi kullanarak MQL5 kodunuzu yapıştırın ve göstergenin varlığını kanıtlamak için Windows Gezgini'nden bir ekran görüntüsü yapıştırın.
Dosyalar:
tvkzq3.PNG  145 kb
xfwzp8.PNG2.PNG  148 kb