[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 79

 
albion:
Прошу всех спецов глянуть топик https://forum.mql4.com/ru/38745#429784.

прошу начать самостоятельно составлять код и непонятные моменты обсуждать в этом топике, при этом не забывать показывать часть кода, где возникли трудности
 
drknn:

есть какие нибудь идеи?
 
NameLess:


point_low=NormalizeDouble(iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0),Digits);

воть)


А дигитс чему равен? Создайте новый скрипт, в котором напишите всего одну строку:

Print("Дигитс данной валютной пары нормализует до ",Digits," знаков после запятой");
 
drknn:


А дигитс чему равен? Создайте новый скрипт, в котором напишите всего одну строку:


уже проверил, всё корректно( это константа терминала.
 
drknn:


А дигитс чему равен? Создайте новый скрипт, в котором напишите всего одну строку:


пытаюсь найти исходник iMA может там приведение криво работает, т.к. все рассчёты идут от има, у мну идей больше никаких((
 
NameLess:

уже проверил, всё корректно( это константа терминала.

Вы не ответили на мой вопрос. Чему равен дигитс по данной валютной паре? И кстати, что за пара-то? и сколько знаков после запятой в этой паре и по скольку пунктов за тик она ходит?
 
drknn:

Вы не ответили на мой вопрос. Чему равен дигитс по данной валютной паре. И кстати, что за пара-то?

дигитс равен 5, эта константа ведь и не может принять другое значение. пара евробакс
 
NameLess:

дигитс равен 5, эта константа ведь и не может принять другое значение. пара евробакс


Попробуйте иначе. Первой же строкой в функции Старт напишите следующее:

string SMB=Symbol();
int DGS=MarketInfo(SMB,MODE_DIGITS);
Print("Дигитс = ",Digits,"  DGS = ",DGS);
string Val="";
Val = iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
double point_low=iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
Print("Val = ",Val,"  point_low до нормализации = ",point_low);
point_low = NormalizeDouble(point_low,5);
Print("point_low после нормализации = ",point_low);
 

Может там значение заканчивается нулём и в процессе нормализации этот последний ноль просто отбрасывается? Отбрасывается потому, что запись 0,1 эквивалентна 0,10 и ноль лучше отбросить?

P.S.

Знаете, вообще не имея доступа к терминалу и к тем котировкам, которые Вы юзаете, проблематично сходу разобраться что к чему - остаётся только одно - эксперименты.

 
drknn:


Попробуйте иначе. Первой же строкой в функции Старт напишите следующее:


спасибо! щас попробую!
Причина обращения: