#56049 - Wed Jun 19 2013 09:50 PM
Формула суммы значений множества
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Помогите, плиз, как написать синтаксически в блоке "Формула" сумму множества значений. Например, для суммы цен закрытия: типа Sum(close[i]:close[i-n]), где n - некая переменная, кот. является константой или обновляемым значением.
Отредактировано zhutkin77 (Wed Jun 19 2013 09:53 PM)
|
|
Наверх
|
|
|
|
#56063 - Thu Jun 20 2013 12:48 AM
Re: Формула суммы значений множества
[Re: ViL]
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Спасибо, Vil. Но все-таки вопрос про написание данной формулы, а не про реализацию задачи. На самом деле список задач гораздо больше, поэтому хотелось бы понять синтаксис написания. Например, модуль числа: Math.Abs(close-close[i-1]), а здесь как? В описаниях и в FAQ не нашел, к сожалению.
|
|
Наверх
|
|
|
|
#56064 - Thu Jun 20 2013 12:53 AM
Re: Формула суммы значений множества
[Re: ViL]
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Блок СуммаЗа и блок СвязанныйПараметр. Связанный подключаем к суммеза и константе. Кстати, почему-то СуммаЗа и константа отказываются привязываться вместе к блоку СвязанныйПараметр. Версия тслаб 1.2.27.0
|
|
Наверх
|
|
|
|
#56065 - Thu Jun 20 2013 02:16 AM
Re: Формула суммы значений множества
[Re: zhutkin77]
|
TSLab
Carpal Tunnel
Registered: Sun Oct 17 2010
Записи: 8143
|
Спасибо, Vil. Но все-таки вопрос про написание данной формулы, а не про реализацию задачи. На самом деле список задач гораздо больше, поэтому хотелось бы понять синтаксис написания. Например, модуль числа: Math.Abs(close-close[i-1]), а здесь как? В описаниях и в FAQ не нашел, к сожалению. Такого Math метода microsoft не предусмотрел. Если не устраивает решение блоками, то вариант только один, делать свой индикатор.
Отредактировано ViL (Thu Jun 20 2013 02:20 AM)
|
|
Наверх
|
|
|
|
#56066 - Thu Jun 20 2013 02:18 AM
Re: Формула суммы значений множества
[Re: zhutkin77]
|
TSLab
Carpal Tunnel
Registered: Sun Oct 17 2010
Записи: 8143
|
Блок СуммаЗа и блок СвязанныйПараметр. Связанный подключаем к суммеза и константе. Кстати, почему-то СуммаЗа и константа отказываются привязываться вместе к блоку СвязанныйПараметр. Версия тслаб 1.2.27.0 На старых сборках была проблема. Потом правили. Сейчас смотрю, проблема возникла снова. Нужно будет обновится, ночную сборку, завтра после 21, это поправят.
Отредактировано ViL (Thu Jun 20 2013 02:22 AM)
|
|
Наверх
|
|
|
|
#56067 - Thu Jun 20 2013 02:56 AM
Re: Формула суммы значений множества
[Re: ViL]
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Такого Math метода microsoft не предусмотрел. Если не устраивает решение блоками, то вариант только один, делать свой индикатор.
Спасибо, Vil за ответ. Я как раз и хочу создать свой индикатор, поэтому и интересуюсь синтаксисом. А как тогда реализована формула внутри блока у индикатора SMA, кот. как раз и представляет собой сумму цен n-периода?
|
|
Наверх
|
|
|
|
#56071 - Thu Jun 20 2013 09:34 AM
Re: Формула суммы значений множества
[Re: zhutkin77]
|
member
Registered: Mon May 07 2012
Записи: 150
|
поищите по форуму, гдето в примерах есть исходник EMA. по моему в исходных кодах стандартных индикаторов.
|
|
Наверх
|
|
|
|
#56072 - Thu Jun 20 2013 10:16 AM
Re: Формула суммы значений множества
[Re: zhutkin77]
|
Carpal Tunnel
Registered: Thu Sep 27 2012
Записи: 2860
|
Такого Math метода microsoft не предусмотрел. Если не устраивает решение блоками, то вариант только один, делать свой индикатор.
Спасибо, Vil за ответ. Я как раз и хочу создать свой индикатор, поэтому и интересуюсь синтаксисом. А как тогда реализована формула внутри блока у индикатора SMA, кот. как раз и представляет собой сумму цен n-периода? В студии если поставить решарпер, то возможно посмотреть код любого индикатора. Используя Resharper -> Navigate to -> Decompiled Sources.
public static IList<double> SMA(IList<double> candles, int period)
{
int count = candles.Count;
double[] numArray = new double[count];
if (period < 4)
{
for (int curbar = 0; curbar < count; ++curbar)
numArray[curbar] = Indicators.SMA(candles, curbar, period);
}
else
{
int num1 = Math.Min(count, period);
double num2 = 0.0;
for (int index = 0; index < num1; ++index)
{
num2 += candles[index];
numArray[index] = num2 / (double) (index + 1);
}
for (int index = num1; index < count; ++index)
{
double num3 = candles[index];
double num4 = candles[index - period];
double num5 = numArray[index - 1];
numArray[index] = num5 + (num3 - num4) / (double) period;
}
}
return (IList<double>) numArray;
}
_________________________
__
|
|
Наверх
|
|
|
|
#56093 - Thu Jun 20 2013 11:37 PM
Re: Формула суммы значений множества
[Re: ViL]
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Кстати, почему-то СуммаЗа и константа отказываются привязываться вместе к блоку СвязанныйПараметр. Версия тслаб 1.2.27.0 На старых сборках была проблема. Потом правили. Сейчас смотрю, проблема возникла снова. Нужно будет обновится, ночную сборку, завтра после 21, это поправят.
Да, теперь блоки СуммаЗа и константа соединяются со связываемым параметром, но как такого связывания не происходит: обычно при связывании двух параметров один из них исчезает из оптимизации, а здесь оба присутствуют и оптимизируются отдельно друг от друга
|
|
Наверх
|
|
|
|
#56094 - Thu Jun 20 2013 11:38 PM
Re: Формула суммы значений множества
[Re: zhutkin77]
|
newbie
Registered: Sat Jul 23 2011
Записи: 40
|
Кстати, почему-то СуммаЗа и константа отказываются привязываться вместе к блоку СвязанныйПараметр. Версия тслаб 1.2.27.0
На старых сборках была проблема. Потом правили. Сейчас смотрю, проблема возникла снова. Нужно будет обновится, ночную сборку, завтра после 21, это поправят.
Да, теперь блоки СуммаЗа и константа соединяются со связанным параметром, но как такого связывания не происходит: обычно при связывании двух параметров один из них исчезает из оптимизации, а здесь оба присутствуют и оптимизируются отдельно друг от друга
Отредактировано zhutkin77 (Fri Jun 21 2013 12:26 AM)
|
|
Наверх
|
|
|
|
|
|