А вы можете помочь со скриптом МТ4 (универсальный расчет для любого инструмента, как в статье https://www.mql5.com/ru/articles/113?source=metaeditor_article, но для МТ4), который на входе получает лот, валютную пару, цену и направление сделки, sl, tp. Потом определяет и выводит выводит в левом верхнем углу плечо для счета, необходимый размер залога, потери по sl в деньгах и процентах от депозита, прибыль по tp в деньгах и процентах от депозита, спред и потери на спред в деньгах и процентах от депозита?
P.S. А с меня другой способ расчета функции...
Хотелось бы увидеть более оптимальные методы расчета Гамма-функции
http://algolist.manual.ru/maths/count_fast/gamma_function.php
Большое спасибо.
Второй вариант расчета
//+------------------------------------------------------------------+ //| GAMMA-F.mq4 | //| Copyright © 2011, Victor Niclolaev aka Vinin | //| vinin@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2011, Victor Niclolaev aka Vinin" #property link "vinin@mail.ru" #define PI 3.141592653589793238462643 #property stacksize 1024 #property show_inputs extern double Z=-0.5; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { double Res=gamma(Z); Print("Значение Гамма-функции для ",DoubleToStr(Z,8)," равно ", DoubleToStr(Res,8)); return(0); } //+------------------------------------------------------------------+ //************************************************************************************************************* // аппроксимация гамма-функции в интервале от 1 до 2 // отношением полиномов 8 степени double gammaapprox(double x){ double p[]={ -1.71618513886549492533811, 24.76565080557591991083140, -379.80425647094563509757700, 629.33115531281844266105200, 866.96620279041321129506400, -31451.27296884836752543570000, -36144.41341869117298070690000, 66456.14382024054406278550000}; double q[]={ -3.08402300119738975254353, 31.53506269796041615291440, -101.51563674902191416614600, -310.77716715723110944044400, 2253.81184209801510330112000, 475.58462775278811076781500, -13465.99598649693063924560000, -11513.22596755534834972110000}; double z = x - 1.0; double a = 0.0; double b = 1.0; for(int i = 0; i<8; i++){ a =(a+p[i])*z; b = b*z+q[i]; } return (a/b+1.0); } //************************************************************************************************************* // Гамма-функция вещественного агрумента // возвращает значение гамма-функции аргумента z double gamma(double z){ if(z<=0.0) return (PI/(MathSin(PI*z)*gamma(1.0-z))); // рекурентное соотношение для z<=0 if(z< 1.0) return(gamma(z+1.0)/z); // рекурентное соотношение для 0 if(z>2 .0) return ((z-1)*gamma(z-1)); // рекурентное соотношение для z>2 return(gammaapprox(z)); // 1<=z<=2 использовать аппроксимацию } //*************************************************************************************************************
Второй вариант расчета
Я очень рад, что Вы занимаетесь этим вопросом, поскольку скоро нам надо будет разрабатывать именно вариант индикатора с Гамма - функцией при n=n, рассчитанной по (12). Советую сравнивать результаты с вариантом, который имеется в экзель.
Я очень рад, что Вы занимаетесь этим вопросом, поскольку скоро нам надо будет разрабатывать именно вариант индикатора с Гамма - функцией при n=n, рассчитанной по (12). Советую сравнивать результаты с вариантом, который имеется в экзель.
Сравнивать пока нечего. Это разные функции
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хотелось бы увидеть более оптимальные методы расчета Гамма-функции
Решение в лоб есть
Для расчета использовалась следующая формула http://dic.academic.ru/pictures/enc_mathematics/010404-184.jpg