Общие вопросы по разработке > Сложение индикаторов

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
Сергей
Сообщения: 34
Зарегистрирован: 01 апр 2016, 17:03

Re: Сложение индикаторов

Непрочитанное сообщение Сергей » 01 апр 2016, 23:42

простите ..видимо я тупой...

Код: Выделить всё

function Initialize()
{
   IndicatorName = "ADXEMA";   // Задайте название индикатора и сохраните с данным именем
   PriceStudy = false;   // Рисовать в области цены (true – да, false – нет)
   
   AddInput("Input", Inputs.Candle);// Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
   AddSeries("MY.EHMApDI", DrawAs.Line, Color.Green);   
   AddSeries("MY.EHMAnDI", DrawAs.Line, Color.Red);

    AddParameter("PeriodMY.EHMA", 9);
    AddParameter("PeriodADX", 14); 

}

function Evaluate()
{
var E = MY.EHMA(Input.Close, PeriodEMA);

var A = ADX(Input, PeriodADX);
var nDi = A.GetValue("NegDI", 0);
var pDi = A.GetValue("PosDI", 0);

MY.EHMAnDI = E[0] + nDi;
MY.EHMApDI = E[0] + pDi;
}


не получается((

Аватара пользователя
evge
Администратор
Сообщения: 1534
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 59 раз
Поблагодарили: 263 раза
Контактная информация:

Re: Сложение индикаторов

Непрочитанное сообщение evge » 02 апр 2016, 11:38

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

А так у Вас очередная ошибка, которую я не заметил сразу в предыдущем Вашем примере.

Непонятно зачем в инициализации Вы присваиваете имена сериям равным обращению к пользовательскому индикатору, используя при этом "." в наименовании серии, что естественно приведет к ошибкам.

Код: Выделить всё

AddSeries("MY.EHMApDI", DrawAs.Line, Color.Green);   
AddSeries("MY.EHMAnDI", DrawAs.Line, Color.Red);


Тоже самое относится и к параметру "PeriodMY.EHMA".

не буду писать кусками приведу рабочий пример:

Код: Выделить всё

function Initialize()
{
   IndicatorName = "ADXEMA";   // Задайте название индикатора и сохраните с данным именем
   PriceStudy = false;   // Рисовать в области цены (true – да, false – нет)
   
   AddInput("Input", Inputs.Candle);// Input - входной ряд (Inputs.Price) или свечи (Inputs.Candle)
   AddSeries("EHMApDI", DrawAs.Line, Color.Green);   
   AddSeries("EHMAnDI", DrawAs.Line, Color.Red);

   AddParameter("PeriodEHMA", 9);
   AddParameter("PeriodADX", 14); 
}

function Evaluate()
{
var E = MY.EHMA(Input.Close, PeriodEHMA);
var A = ADX(Input, PeriodADX);
var nDi = A.GetValue("NegDI", 0);
var pDi = A.GetValue("PosDI", 0);

EHMAnDI = E[0] + nDi;
EHMApDI = E[0] + pDi;
}
никогда такого не было и вот опять


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя