Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 613

[Удален]  
mila.com:

Шутите? Пробел не помог.

Потому  что, хочу получить текст объекта расположенного на первом баре.

пробел там все таки есть

выводите для себя куда нибудь в Print() имя объекта и сравнивайте - как называется и что Вы запрашиваете, т.е. похоже ли это на имя объекта:

Print("L_V"+Time[1]);
 
mila.com:

Да, имя объекта получаю верное, а значения никакого не получаю.

Если задаю имя так :

показывает верное значение.

Не показывает если так:

string Znachenie=ObjectGetString(0,"L_V "+Time[1],OBJPROP_TEXT); 
[Удален]  
mila.com:

Да, имя объекта получаю верное, а значения никакого не получаю.

Если задаю имя так :

показывает верное значение.

Не показывает если так:

ну дак Print - что выводит???
 
mila.com:

Да, имя объекта получаю верное, а значения никакого не получаю.

Если задаю имя так :

показывает верное значение.

Не показывает если так:

   double Znachenie=0;
   string name="L_V "+TimeToString(Time[1]);
   //--- если объект с именем name найден на основном графике
   if(ObjectFind(0,name)==0) {
      //--- присвоим переменной значение описания объекта
      Znachenie=StringToDouble(ObjectGetString(0,name,OBJPROP_TEXT)); 
      }
   Comment("Name=",name,", Znachenie=",DoubleToString(Znachenie));
попробуйте так.
 

Нашла.

В индикаторе имя без секунд L_V 2016.08.26 00:00

А так "L_V "+Time[1] получается с секундами L_V 2016.08.26 00:00:00


 
TimeToString(Time[1],TIME_DATE|TIME_MINUTES)
 
Artyom Trishkin:
попробуйте так.

Да! Помогло.

string name="L_V "+TimeToString(Time[1]);

Спасибо всем, за оперативную помощь)

 

Здравствуйте! Подскажите, пожалуйста, мне необходимо чтобы в сигнале стандартной библиотеки параметр Parameter=Ka,int,21

Выбирался в процессе оптимизации из перечисления типа

enum intType
  {
   p0 = 15, 
   p1 = 21, 
   p2 = 29 
}

Но, когда сигнал пропадает из выбора при генерации советника, а компилируется нормально, то трудно сделать выводы – что не так......, помогите с кодом, не было ли уже реализации?

p.s. приходится в итоговом советнике менять каждый раз int на intType

 
newnek:

Здравствуйте! Подскажите, пожалуйста, мне необходимо чтобы в сигнале стандартной библиотеки параметр Parameter=Ka,int,21

Выбирался в процессе оптимизации из перечисления типа

Но, когда сигнал пропадает из выбора при генерации советника, а компилируется нормально, то трудно сделать выводы – что не так......, помогите с кодом, не было ли уже реализации?

p.s. приходится в итоговом советнике менять каждый раз int на intType

Укажите точный файл модуля сигналов и строку кода...
 
Karputov Vladimir:
Укажите точный файл модуля сигналов и строку кода...

например вот часть верхняя кода SignalRVI.mqh.      В данном случае он пропадает из выбора сигналов когда меняю тип int на intType

Если не то с областью видимости, то выносил в отдельный файлс перечислением #include <Libraries\myfunc.mqh>
//+------------------------------------------------------------------+
//|                                                    SignalRVI.mqh |
//|                   Copyright 2009-2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#include <Expert\ExpertSignal.mqh>
// wizard description start
//+------------------------------------------------------------------+
//| Description of the class                                         |
//| Title=----------------Signals of oscillator 'Relative Vigor Index'               |
//| Type=SignalAdvanced                                              |
//| Name=Relative Vigor Index                                        |
//| ShortName=RVI                                                    |
//| Class=CSignalRVI                                                 |
//| Page=signal_rvi                                                  |
//| Parameter=PeriodRVI,intType,15,Period of calculation                 |
//+------------------------------------------------------------------+
// wizard description end
//+------------------------------------------------------------------+
//| Class CSignalRVI.                                                |
//| Purpose: Class of generator of trade signals based on            |
//|          the 'Relative Vigor Index' oscillator.                  |
//| Is derived from the CExpertSignal class.                         |
//+------------------------------------------------------------------+
enum intType
  {
   p0 = 15, 
   p1 = 21, 
   p2 = 29 
}
;
class CSignalRVI : public CExpertSignal
  {
protected:
   CiRVI             m_rvi;            // object-oscillator
   //--- adjusted parameters
   intType               m_periodRVI;      // the "period of calculation" parameter of the oscillator
   //--- "weights" of market models (0-100)
   int               m_pattern_0;      // model 0 "the oscillator has required direction"
   int               m_pattern_1;      // model 1 "crossing of main and signal line"

public:
                     CSignalRVI(void);
                    ~CSignalRVI(void);
   //--- methods of setting adjustable parameters
   void              PeriodRVI(intType value)            { m_periodRVI=value;                 }
   //--- methods of adjusting "weights" of market models
   void              Pattern_0(int value)            { m_pattern_0=value;                 }
   void              Pattern_1(int value)            { m_pattern_1=value;                 }
   //--- method of verification of settings
   virtual bool      ValidationSettings(void);
   //--- method of creating the indicator and timeseries
   virtual bool      InitIndicators(CIndicators *indicators);
   //--- methods of checking if the market models are formed
   virtual int       LongCondition(void);
   virtual int       ShortCondition(void);

protected:
   //--- method of initialization of the oscillator
   bool              InitRVI(CIndicators *indicators);
   //--- methods of getting data
   double            Main(int ind)                   { return(m_rvi.Main(ind));           }
   double            DiffMain(int ind)               { return(Main(ind)-Main(ind+1));     }
   double            Signal(int ind)                 { return(m_rvi.Signal(ind));         }
   double            DiffSignal(int ind)             { return(Signal(ind)-Signal(ind+1)); }
   double            DiffMainSignal(int ind)         { return(Main(ind)-Signal(ind));     }
  };
//+------------------------------------------------------------------+
//| Constructor                                                      |
//+------------------------------------------------------------------+
CSignalRVI::CSignalRVI(void) : m_periodRVI(15),
                               m_pattern_0(60),
                               m_pattern_1(100)
  {
  }