MQL4 - automated forex trading   /  

Code Base

Code Base  Скрипты  Pi Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый код


Скачай MetaTrader 5 и посети MQL5.community Code Base
и торгуй мобильно!
Библиотека программ на новом MQL5
Готовься к Чемпионату -
Не нашёл подходящий код? Закажи его в разделе Работа

Этот скрипт для
MetaTrader 4

и торгуй мобильно!

Имя:
Pi [ en ]
Автор: Prival (08.08.2008 10:08)
Скачано: 652
Скачать:
 Pi.mq4 (1.0 Kb) View

Может кому-то и пригодится. Расчет числа пи производится по формуле:

8 комментариев  Авторизуйтесь или зарегистрируйтесь, чтобы добавить новый комментарий
VBAG писал(а):

Да, действительно, точность вполне, проверял: 3.141592653589793!

Но, на мой взгляд, инкремент с даблом ну никак не вяжется. Все дело в автоматическом приведении типов, так работает:

   for(int i=0; i<11; i++) 
      Pi+= 1/MathPow(16,i)*(4.0/(8*i+1)-2.0/(8*i+4)-1.0/(8*i+5)-1.0/(8*i+6));

С уважением,

Владимир

Ну, блин, вы бы еще пи через интегралы вычислять стали!!!

pi = 4*MathArctan(1);
15.11.2008 22:57 alsu

Да, действительно, точность вполне, проверял: 3.141592653589793!

Но, на мой взгляд, инкремент с даблом ну никак не вяжется. Все дело в автоматическом приведении типов, так работает: 

   for(int i=0; i<11; i++) 
      Pi+= 1/MathPow(16,i)*(4.0/(8*i+1)-2.0/(8*i+4)-1.0/(8*i+5)-1.0/(8*i+6));

С уважением,

Владимир

13.10.2008 02:09 VBAG
VBAG писал(а):

Надо иметь ввиду тот факт, что в MQL4 все функции имеют ограниченную точность вычислений после запятой. После 9 знака может быть мусор.

В Вашем случае это также буде иметь место.

   for(int i=0; i<11; i++) Pi+= 1/MathPow(16,i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6));

нужно doulbe i, так как сделано у меня в скрипте. Если int, то расчеты не верные будут. Я проверял число и довольно глубоко, все совпадает

03.09.2008 22:34 Prival

Надо иметь ввиду тот факт, что в MQL4 все функции имеют ограниченную точность вычислений после запятой. После 9 знака может быть мусор.

В Вашем случае это также буде иметь место.

   for(int i=0; i<11; i++) Pi+= 1/MathPow(16,i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6));
18.08.2008 01:21 VBAG

Дело вот в чем, для работы нескольких своих индикаторов я использую БПФ, все расчеты производил в MathCad, при подготовке к чемпионату начал все переносить на MQL. В качестве БПФ использую вот эту библиотеку http://codebase.mql4.com/ru/672. Столкнулся с тем, что расчеты отличаются, и после долгих поисков нашел, что отличия заключены в точности задания числа Pi. Нашел алгоритм его расчета и привел, возможно кому то и пригодиться.

В приведенном варианте (глубине расчета) Pi совпадает со встроенной константой Pi в MathCad.

11.08.2008 17:15 Prival

#define ABC          100
#define PI           0.314

#define COMPANY_NAME "MetaQuotes Software Corp."

ничего не скажеш, ну , просто красавцы :)

10.08.2008 07:15 xrust

А вот тут разработчики запросто переопределили этот самый Пи  :)


10.08.2008 02:03 Parabellum

привет! спасибо!

сможешь сделать так

я задаю число(комбинация цифр) допустим: 29856234563405863458

а скрипт находит это число в своей цепочке (+можно добавить на каком месте определилось эта комбинация цифр)

08.08.2008 14:27 Jingo