Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 329

 
alexey1979621:
Это убрал. Но проблема в другом - в нормализации. Почему-то советник видит 4 знака после запятой, а не 5. И как это исправить?


А сколько знаков у брокера?
 
иеновые 3 знака, остальные 5 знаков. Альпари.
 
alexey1979621:
иеновые 3 знака, остальные 5 знаков. Альпари.

Запросите Digits из программы на печать.
 

Упреждаю вопрос - обычно использую простейший вариант:

if( Digits%2>0.5 ){
         Points*=0.1;
         Speed*=0.1;
      }
 
tara:

Упреждаю вопрос - обычно использую простейший вариант:

Не помогла примочка.
 
alexey1979621:
Не помогла примочка.

Не ту примочку, да не к тому боку примочили. DoubleToStr() не пробовали для "поглядеть с нужной точностью"?
 
alexey1979621:
Это убрал. Но проблема в другом - в нормализации. Почему-то советник видит 4 знака после запятой, а не 5. И как это исправить?

Из чего следует этот вывод?
 
artmedia70:
Не ту примочку, да не к тому боку примочили. DoubleToStr() не пробовали для "поглядеть с нужной точностью"?

Почитал Учебник по этой штуке

string DoubleToStr( double value, int digits)
Преобразование числового значения в текстовую строку, содержащую символьное представление числа в указанном формате точности.
Параметры:
value - Величина с плавающей точкой.
digits - Формат точности, число цифр после десятичной точки (0-8).
Пример:
  string value=DoubleToStr(1.28473418, 5);
  // содержимое строки value - "1.28473"


Однако, так и не понял, куда ее прикрутить в нашем случае. Опять спасай шеф.

int init()
{
              if (Digits ==3 || Digits ==5) // для пятизначного брокера
         {
            TakeProfit *= 10;
            StopLoss *= 10;
            Slippage *= 10;
            Step *= 10;
            BULevel *= 10;
            NotBULevel *= 10;
         }
      return(0);
}
 
alexey1979621:

Почитал Учебник по этой штуке

string DoubleToStr( double value, int digits)
Преобразование числового значения в текстовую строку, содержащую символьное представление числа в указанном формате точности.
Параметры:
value - Величина с плавающей точкой.
digits - Формат точности, число цифр после десятичной точки (0-8).
Пример:


Однако, так и не понял, куда ее прикрутить в нашем случае. Опять спасай шеф.

 
Думай. Просто думай, время есть.
Причина обращения: