Вот исходный код несложного индикатора:
Click to reveal..

using System.Collections.Generic;
using TSLab.Script.Handlers;

namespace MyIndicators {
[HandlerCategory("MyIndicators")]
public class WMA : IDouble2DoubleHandler {
[HandlerParameter(true, "20", Min = "10", Max = "100", Step = "5")]
public int Period { get; set; }

public IList<double> Execute(IList<double> source) {
var wma = new double[source.Count];

// Вычислить сумму весов в знаменателе
int w = 0;
for (int i = 1; i <= Period; i++)
w += i;

for (int i = Period-1; i < source.Count; i++) {
int wv = 1; // вес
double wma1 = 0; // сумма
// Вычислить сумму произведений веса на цену элементов слева
for (int k = i - Period + 1; k <= i; k++, wv++)
wma1 += wv*source[k];
//Вычислить значение WMA в i-ой точке
wma[i] = wma1/w;
}
return wma;
}
}
}


Выделил нек. ключевые слова, без которых индикатор скомпилируется но не будет виден.
Вообще, непросто предполагать в чем проблема с Вашим индикатором, маловато информации. Пришлите, что ли код индикатора, гляну завтра (уже сегодня). Расчетную часть (содержимое функции Execute) можете не присылать smile

Еще вот как можно компилировать CS файлы даже без SD:
build.cmd WMA.cs

В build.cmd исправьте 2ую строчку. Надо указать путь к файлам TSLab


Attachments
build.rar (85 downloads)

_________________________
Не пишите мне! Никому ничего делать не буду.