вопрос по матьематьике - страница 2

 
sabluk >>:

нада делать расчет отдельно для каждого полупериода чтобы симетрия была


для осциляторов перекупленности/перепроданности я так и делал уже с логарифмом

  if(А>=SD) Result=MathLog(1.11*А/SD);
  if(А<=-SD) Result=-MathLog(-1.11*А/SD);

щас понял что и для трендовых индюков нада также если присутствует логарифм

 
Prival писал(а) >>

Логарифм отрицаетльного числа существует. Получается комплексное число. MQL к сожалению не понимает SQRT(-1). Поэтому огромное количество алгоритмов не возможно реализовать, особенно связанных с фазой. И у тебя из-за этого все рушиться тоже.

sabluk

попробуй описать словестно что ты хочеш получить, может и придумаем тогда нормировку

Сергей, как вы думаете, тянет на кандидатскую операции с комплексными числами без необходимости извлекать корень из минус единицы? В нашей шараге каждый студент это делал на третьем курсе. Повторите пожалуйста тему комплексных чисел. Извините, но не могу спокойно на такое смотреть.

 

логарифма я не брошу потомучто он хороший

экспоненты и параболы на любителя

 

sabluk, берем абсалютное значение числа, извлекаем логарифм и умножаем на знак числа. И будь добр, отредактируй название темы, Математика правильно пишется так: "МАТЕМАТИКА".

 
Integer >>:

sabluk, берем абсалютное значение числа, извлекаем логарифм и умножаем на знак числа. И будь добр, отредактируй название темы, Математика правильно пишется так: "МАТЕМАТИКА".

что написано пером не вырубеш уже )

 
Integer >>:

sabluk, берем абсалютное значение числа, извлекаем логарифм и умножаем на знак числа. И будь добр, отредактируй название темы, Математика правильно пишется так: "МАТЕМАТИКА".

Разрыв 2-го порядка в нуле. Если прибавить 1, то разрыва не будет вообще.

 

да я уже замутил:

  Result=0;
  if( А > В)  Result= MathLog( (А/В-1) / SD+1 ) ;
  if( А < В)  Result= -MathLog( (В/А-1) / SD +1 ) ;


 
Integer писал(а) >>

Сергей, как вы думаете, тянет на кандидатскую операции с комплексными числами без необходимости извлекать корень из минус единицы? В нашей шараге каждый студент это делал на третьем курсе. Повторите пожалуйста тему комплексных чисел. Извините, но не могу спокойно на такое смотреть.

Я тоже не могу на это спокойно смотреть.

Это можно делать, если априорно знаешь, что работаешь с комплексным числом. А как быть если не знаешь ?

Допустим есть система уравнений, решение которой в зависимости от входных значений может быть действительными числами, а может быть и комплексными. Нужно иметь признак, что получилось комплексное число. После срабатывания этого признака, делать соответствующую обработку.

Есть в MQL признак что в результате вычислений получилось комплексное число ?

Вот пример

Print(MathSqrt(-1)); результат - negative argument for MathSqrt function

Print(MathLog(-1)); результат - -1.# IND

Что прикажете каждую эту ситуацию предусматривать и программировать. Комплексные числа очень удобны при анализе ЦФ их АЧХ.

http://myachin.com/filter_02.htm

Все программировать и вылавливать ошибки, жизни не хватит.

Возмешся спрограммировать все фильтры и процедуры, что тут есть ?

http://www.nsu.ru/matlab/MatLab_RU/signalprocess/book1/index.asp.htm

такой же Signal Processing есть и в Маткаде.

Разработчики к сожалению, с моей точки зрения идут неправильным путем. Все закрывают и надеются, что своими усилиями все сами реализуют. Но есть же мировой опыт, тот же Билл Гейц, создал плату, и всю документацию, со всеми пояснениями разослал всем, и постепенно на него стали работать многие, делая различные примочки, платы, программы и т.д. Так же поступили и с MATLAB-ом, туда очень легко, что то вставить и присоединить.

Вместо того, что бы дать возможность использования программ написанных на уже проверенных языках высокого уровня (на создание которых ушли миллиарды человеко-лет), они стараются создать свой собственный язык программирования. Потратят милиард человеко лет может и создадут, только боюсь мы не доживем до этого счастья.

 

блин теперь при смене ТФ все ок а при смене фин.инструмента не ок (

еще надо подумать..

 

придумал:

  Result=0;
  if( А > В) Result= MathLog( (А-В) / SD+1 ) ;
  if( А < В) Result= -MathLog( (В-А) / SD +1 ) ;