Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 289

 
Arch #:
Кароче со временем сами всё поймёте,как с этим работать.(Когда нибудь).Я не мать Тереза 

Уже спасибо, даже за отклик на мой вопрос. От каждого по мысли и рождается цепочка логики в правильном направлении. 

 
Uladzimir Izerski #:

Нужна помочь в казалось бы простом вопросе.

Как получить в новую переменную значение переменной в терминале от другого индикатора?

Привет, Владимир. Запиши Symbol в глобальную переменную терминала одним индикатором, а потом читай другим.

И да, глобальная переменная имеет тип double, значит нужно перевести название символа в число.

Дам пример записи в переменную. С чтением сделай по аналогии.


//представляем символ в виде числа   
string eText=Symbol();
StringToUpper(eText);
int eLen=StringLen(eText);
long eResult=(long)MathPow(100,eLen);
for(int i=0; i<eLen; i++) eResult+=StringGetChar(eText,i)*(long)MathPow(100,eLen-1-i);
//создаём глобальную переменную, если оне не существует 
if(!GlobalVariableCheck("Symbol")) GlobalVariableSet("Symbol",eResult);
 
Uladzimir Izerski #:

Нужна помочь в казалось бы простом вопросе.

Как получить в новую переменную значение переменной в терминале от другого индикатора?

Вот рисунок.

EURUSD это значение переменной от другого индикатора?

А "Тх2т_smotr1" это её имя.

Мне надо получить string значение этой переменной т.е.(EURUSD) в другом индикаторе.

Кажется просто, но никак не получается. На экране вижу, а взять не могу.)

не мучайся с глобалками. Они подходят для семафоров,флагов, счётчиков и атомарных значений. Для более сложных типов - SQLite (можно на рам-диске или вообще :memory: - это чертовски быстро и удобно)

пиши любые значения в базу и читай из базы. Опционально через глобалку разве что серийность и признак что "поменялось", чтобы на каждом тике к базе не лезть

 
Спасибо Алексей и Максим за хорошие предложения. Я тоже размышлял о таких вариантах, но подумал, а вдруг есть более простые решения задачи. Буковки то уже лежат на экране, а клацнуть по ним мышкой не получается. Не отзываются.
 
Э, чтобы клацнуть нужно сделать кнопку
 
Aleksei Stepanenko #:
Э, чтобы клацнуть нужно сделать кнопку

Не обязательно. Можно просто клацать на текстовую метку. Тот же эффект. Будет та же кнопка, но без кнопки.