Как получить котировки с точностью 5 знаков после запятой?

 

Здравствуйте, дамы и господа :-)

Помогите плиз. Работаю с ДЦ Альпари. ДЦ дает котировки с точностью 5 знаков после запятой, т.е. десятые доли пункта.

Собственно вопрос - как эти котировки передать в программу с точностью в 5 знаков?

Происходит округление цены до 4 знаков. В результате программа работает неправильно.

Единственное что удалось получить это строковое выражение с необходимой точностью, например:

string a=DoubleToStr(Low[0], 5);

но при перегонке из строки в число

double a2=StrToDouble(a);

цена округляется до 4 знаков после запятой

 

Откуда и куда Вы собираетесь передавать данные?

 

известные мне мт4 с 5ти значными котировками:

http://www.uwcfx.com/ru/default.html

http://www.mbtrading.com/

кто еще знает другие?

 

Вот специально проверил:

   string A = "1.2893454334";
   double B = StrToDouble(A);
   string S = DoubleToStr(B, 8);
   Print(S);    

Результат 1.28934543

 

To Roger:

Передать нужно цену из МТ4 в советник, скрипт или индикатор.

To sab1uk:

http://alpari.ru/download/mt/mt4setup.exe - ссылка на терминал от Альпари

To Scriptong:

Твой пример не в тему, он вообще из другой оперы, я говорю про цены из терминала, а не про обычные строковые числа

Попробуй набрать мой пример.

To all:

Впринципе я задачку уже решил, используем NormalizeDouble и будет счастье, но может кто-нить предложит другое решение?

 

Вот теперь ясно, что ничего никуда передавать не надо.:-)

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

Точность в знаках нужна только при выставлении цен, стопов и тейков, в остальных случаях можно пользоваться данными как есть. Т.е. нормализацию надо проводить непосредственно перед выставлением ордеров, модификацией или сравнением.

 
a_n_d_r_e_y >>:

Твой пример не в тему, он вообще из другой оперы, я говорю про цены из терминала, а не про обычные строковые числа

То есть вот это:

но при перегонке из строки в число

мне привиделось? Если у тебя недостаточно опыта работы с дробными числами так и скажи. Но это  еще не повод грубить.

 
a_n_d_r_e_y >>:

To Roger:

Передать нужно цену из МТ4 в советник, скрипт или индикатор.

To sab1uk:

http://alpari.ru/download/mt/mt4setup.exe - ссылка на терминал от Альпари

алпари естесно я знаю

интересует кто еще успел перейти на 5ый знак

 

To Scriptong:

Не хотел тебя обидеть, но ты разобрал совершенно другой пример.

Твой пример работает как ты и написал, тоже проверил:-) А мой работает как я написал :-)

Ты перепутал местами строчки, я сначала из числа получаю строку а затем из строки число, а ты наоборот - из строки число, а затем из числа строку :-)

 
y=NormalizeDouble(xxx,Digits);
 

To Parabellum:

Такое решение я и сам уже нашел, читай внимательней мои посты :-) Интересуют другие возможные варианты решения задачи :-)

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