Как с Обьекта на МТ4 чарте вытащить double в робот ?

 
 

Есть объекты созданные Индикатором в МТ4 и их имена не меняются но меняются только значения. 

Пробывал через ObjectGet - выдает то нули то не те значения в принтах ( 

double EUR_Metter=iCustom(iSymbol,0,"Currency Strength",ObjectGet("EUR_val",OBJ_TEXT),0);  

double USD_Metter=StringToDouble(iCustom(iSymbol,0,"Currency Strength",ObjectGet("USD_val",OBJ_TEXT),0));   


Эти варианты нерабочие

 
Документация по MQL5: Графические объекты / ObjectGetDouble
Документация по MQL5: Графические объекты / ObjectGetDouble
  • www.mql5.com
ObjectGetDouble - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alex Renko #:

Есть объекты созданные Индикатором в МТ4 и их имена не меняются но меняются только значения. 

Пробывал через ObjectGet - выдает то нули то не те значения в принтах ( 


Эти варианты нерабочие

Просто ObjectGet(), iCustom() в данном случае не нужен.

 
Ihor Herasko #:

Просто ObjectGet(), iCustom() в данном случае не нужен.

Пробывал тоже! Не помогло )  :


double EUR_Metter=StringToDouble(ObjectGet("EUR_val",OBJ_TEXT));   
Print(iSymbol," EUR=",EUR_Metter);

Нули выдает в EUR_Metter принтах) Хотя Инд присоединен на Чарт и Объект такой есть со значением 4.14. Робот присоединен на тот же чарт



В идеале мнее бы канеш через iCustom както вытащит эти значения - не дело индикатор цеплять на каждый чарт перед установкой робота

 

Кажись получилось через 

ObjectGetString(0,"CHF_val",OBJPROP_TEXT,0);
 

на графике есть обьект и я его умею читать вот так :

string AUD1=ObjectGetString(0,"_obj_0_0",OBJPROP_TEXT,0);

Вывожу его в принт :

2023.05.19 16:49:28.527 EAv1 EURUSD,H1: AUDUSD  0.81

Как мне с этого стринга вытащить с помощью StringToDouble 0.81 отдельно в double и AUDUSD отдельно в String ? ) 

______


Кажись разобрался ) 

string AUD_Pair1=StringSubstr(AUD1,0,6);
double AUD1_Val=StringToDouble(StringSubstr(AUD1,8,4));

 
Alex Renko #:

В идеале мнее бы канеш через iCustom както вытащит эти значения - не дело индикатор цеплять на каждый чарт перед установкой робота

iCustom() в данном случае как раз можно использовать для подключения индикатора к чарту без ручного вмешательства. Просто для получения данных индикатора в данном случае он не помогает.

 
вам выше Ренат ответ дал.
Так же не забудьте проверить существование объекта.
if(ObjectFind(...
 
Ihor Herasko #:

iCustom() в данном случае как раз можно использовать для подключения индикатора к чарту без ручного вмешательства. Просто для получения данных индикатора в данном случае он не помогает.

Хм, спасибо - типа вызвать его роботом не добавляя на чарт ? прикольно... не знал.. А где тогда обьекты хранятся ? Или они полноценно тогда в роботе отрисовуются при запуске робота ? 

 
Timur Islamgaliev #:
вам выше Ренат ответ дал.
Так же не забудьте проверить существование объекта.
if(ObjectFind(...

Ренат дал ссылку на objectGet в котором ни слова о том как вытащить отдельно кусок строки, вот что я искал : 

StringSubstr

if(ObjectFind(... тоже не панацея - если не забывать индикатор атачить к роботу перед его запуском

Причина обращения: