получение значения пользовательского индикатора LUA на QPILE

Страницы: 1
RSS
получение значения пользовательского индикатора LUA на QPILE, получение значения пользовательского индикатора LUA на QPILE
 
Есть ли возможность получить значение пользовательского индикатора (со звездочкой) в скрипт QPILE?
Функция GET_CANDLE_EX ничего не выдает, хотя значение "Идентификатор" прописываю в свойствах скрипта точно так же, как при использовании встроенных индикаторов.
 
Цитата
meteop написал:
Есть ли возможность получить значение пользовательского индикатора (со звездочкой) в скрипт QPILE?
Да есть.

Цитата
meteop написал:
Функция GET_CANDLE_EX ничего не выдает, хотя значение "Идентификатор" прописываю в свойствах скрипта точно так же, как при использовании встроенных индикаторов.

Проверьте корректно ли Вы указали параметры функции.
 
Цитата
Sergey Gorokhov написал:
Проверьте корректно ли Вы указали параметры функции.
Проверил для стандартного MA и для пользовательского, все параметры одинаковые кроме tag, на графике значение в 11:35 у обоих индикаторов есть, но скрипт получает значение только стандартного, скриншоты и код скрипта прилагаю, подскажите пожалуйста, где ошибка. Также прикрепляю скриншоты в хорошем разрешении.




Код
PORTFOLIO_EX TEST_;
DESCRIPTION TEST;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;
PROGRAM

delete_all_items() 

MAID1 = "MAID1"
MAID2 = "MAID2"

currdate=20200406
SERVERTIME=113500

ADD_ROW("currdate",currdate)
ADD_ROW("SERVERTIME",SERVERTIME)

maline1= GET_CANDLE_EX(MAID1,currdate,SERVERTIME)
ADD_ROW("maline1",maline1)

line1=Get_Collection_Item (Get_Value (maline1,"LINES") , 0) 
MA1=Get_Value (line1,"CLOSE")+0 

ADD_ROW("MA1",MA1)

maline2= GET_CANDLE_EX(MAID2,currdate,SERVERTIME)
ADD_ROW("maline2",maline2)

line2=Get_Collection_Item (Get_Value (maline2,"LINES") , 0) 
MA2=Get_Value (line2,"CLOSE")+0 

ADD_ROW("MA2",MA2)


FUNC ADD_ROW(PRM, VAL)
  M = CREATE_MAP()
  M = SET_VALUE(M, "Param", PRM)
  M = SET_VALUE(M, "Value", VAL)
  ADD_ITEM(GET_NUMBER_OF("OWN") + 1, M)
END FUNC

END_PROGRAM

PARAMETER Param;
PARAMETER_TITLE Параметр;
PARAMETER_DESCRIPTION Название параметра;
PARAMETER_TYPE STRING(64);
END

PARAMETER Value;
PARAMETER_TITLE Значение;
PARAMETER_DESCRIPTION Значение параметра;
PARAMETER_TYPE STRING(200);
END

END_PORTFOLIO_EX
 
Цитата
meteop написал:
все параметры одинаковые

В этом и причина, они НЕ должны быть одинаковые.
Как минимум то что Lua индикаторы имеют лишнюю линию в начале.
Тот же MA рисуется второй по счету линией, значит в Get_Collection_Item надо указывать не 0, а 1.
 
Цитата
Sergey Gorokhov написал:
В этом и причина, они НЕ должны быть одинаковые.
Под одинаковыми я имел в виду параметры функции GET_CANDLE_EX, то есть дату и время:
maline1= GET_CANDLE_EX(MAID1,currdate,SERVERTIME)
Для LUA индикатора GET_CANDLE_EX вообще ничего не возвращает.
Соответственно и Get_Collection_Item ничего не возвращает, даже если указать 1, а не 0 (проверил).
 
Цитата
meteop написал:
Для LUA индикатора GET_CANDLE_EX вообще ничего не возвращает.
Удалил из кода индикатора
Код
{
      Name = "Horizontal line",
      Type = TYPE_LINE, 
      Color = RGB(140, 140, 140)
      },
и все заработало, GET_CANDLE_EX стала возвращать данные, причем сразу в линии 0
Почему не работало, так и не понял, с остальными индикаторами работало, например с ATR, в котором есть такой же код.
Страницы: 1
Читают тему
Наверх