Подскажите пожалуйста как технически и финансово грамотно транспонировать пяти значные котировки в 4 значные для работы робота. Спасибо
думаю вот так чтобы было 4 знака по аску (аналогично и по биду) NormalizeDouble(MathFloor(MathPow(10,Digits-1)*Ask)/MathPow(10,Digits-1),Digits-1)
Думаю достаточно будет NormalizeDouble(Ask,Digits()-1).
К сожалению округляет... до 1,0004
void OnTick() { Print ("1.00038 ",NormalizeDouble(1.00038,4)); }
Парни, дело не только и не столько в округлении, сколько в том, как этот алгоритм может сказаться на кошельке трейдера.
Все очень просто, но совсем не так...
Да никак, можно округлять математически, вверх, вниз, с точки зрения рынка это не имеет никакого значения.
В одном случае, тот или иной метод округления вам может принести большую прибыль, а в другом больший убыток.
Да никак, можно округлять математически, вверх, вниз, с точки зрения рынка это не имеет никакого значения.
В одном случае, тот или иной метод округления вам может принести большую прибыль, а в другом больший убыток.
Вы прочли мою фразу, но не вдумались в ее смысл. Это почти цитата замечания очень умного человека.
Вас вообще кто/что об округлении заговорить надоумил? Здесь тема об округлении, или о том, как бы не потерять последнее, установив 4-х значный Грааль на 5-ти значный терминал и при этом просто округлив котировки?
Я прочел вашу фразу, вдумываться не во что, там нет смысла. В том то и дело, что почти, одно слово или один знак препинания и фраза уже не та.
Я в своем посте не переходил на личности, а вы перешли и начали хамить. А вас кто надоумил. Тот кто думает о потере последнего, последнее потеряет
и еще останется многократно должен. А тема вообще ни о чем.
Я прочел вашу фразу, вдумываться не во что, там нет смысла. В том то и дело, что почти, одно слово или один знак препинания и фраза уже не та.
Я в своем посте не переходил на личности, а вы перешли и начали хамить. А вас кто надоумил. Тот кто думает о потере последнего, последнее потеряет
и еще останется многократно должен. А тема вообще ни о чем.
Я прочел вашу фразу, вдумываться не во что, там нет смысла. В том то и дело, что почти, одно слово или один знак препинания и фраза уже не та.
Я в своем посте не переходил на личности, а вы перешли и начали хамить. А вас кто надоумил. Тот кто думает о потере последнего, последнее потеряет
и еще останется многократно должен. А тема вообще ни о чем.
Вас вообще кто/что об округлении заговорить надоумил? Здесь тема об округлении, или о том, как бы не потерять последнее, установив 4-х значный Грааль на 5-ти значный терминал и при этом просто округлив котировки?
А чем отличаются 4 или 5 значные котировки, кроме как округлением ?
Вам правильно сказали, как из одних котировок получить другие. Что не так ?
Ну а разговоры о том, что "при округлении будет потеряна большая часть депозита" говорит о том, что советник используют явно зашкаливающую нагрузку депозита, и слив - гарантирован в любом случае, даже вобще без округлений.
К сожалению округляет... до 1,0004
Тогда попробуйте Ask разделить на 0,0001 потом получившееся число преобразовать в целое число (так что бы отбросить последний знак после запятой) после чего результат умножить на 0,0001.
Например int Price =(int)Ask/(Digits()-1);
double PriceAsk = Price*(Digits()-1)
1,12345 / 0,0001 = 11234,5 преобразуем в целое получается 11234 и умножаем на 0,0001 получаем 1,1234

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите пожалуйста как технически и финансово грамотно транспонировать пяти значные котировки в 4 значные для работы робота. Спасибо
думаю вот так чтобы было 4 знака по аску (аналогично и по биду) NormalizeDouble(MathFloor(MathPow(10,Digits-1)*Ask)/MathPow(10,Digits-1),Digits-1)