смотри раздел "Пользовательские индикаторы и события" внимательней.
Да уже несколько раз пересмотрел. Может у меня "раздел "Пользовательские индикаторы и события"" не такой?

Поиск "procsell" тоже ничего не находит.

Можете дать скрин или процитировать?
странно, лови.
Пользовательские индикаторы и события
В JL Script можно создавать как свои индикаторы так и события к ним.
Для этого используеться одна команда trader.sendEvent("имя",значение);
Так же команда может быть вызвана с помощью трех параметров trader.sendEvent("символ","имя",значение);
Вы можете придумать любое уникальное имя которое не совпадает с существующими именами индикаторов и отправлять значение всем группам скриптов.
Например, вы хотите создать индикатор вычисления среднего чесла последних цен спроса и предложения AskPrice и BidPrice.
Назовем индикатор "MidPrice". Транслировать событие этого индикатора будет выше указанная функция trader.sendEvent("MidPrice",значение);
Теперь нам надо вычислять значение среднего при каждом изменении цены спроса или предложения.
Создаем новую группу для скрипта и назовем его "Индикатор среднего числа".
И добавляем туда два события на изменение последних цен спроса и предложения.
Image
Теперь добавляем код который будет транслировать наше событие, вычисление которого будем делать в отдельной функции, назвоем ее "calculateMidPrice()".
Кодом который вычисляет среднее значение у нас будет "(trader.get("BidPrice")+trader.get("AskPrice"))/2".
Транслировать событие надо только если изменилось наше среднее значение, поэтому создаем переменную "lastMidPrice", в которой будем хранить последнее значение.
Code: Select all
var lastMidPrice=0;
calculateMidPrice(); // Вызываем функцию при старте, чтобы не дожидаться изменения индикаторов
function calculateMidPrice()
{
var midPrice=(trader.get("BidPrice")+trader.get("AskPrice"))/2;
if(midPrice==lastMidPrice)return; // Останавливаемся если значение не изменилось
lastMidPrice=midPrice; // Сохраняем последнее значение
trader.sendEvent("MidPrice",midPrice); // Транслируем наше событие
}
trader.on("BidPrice").changed()
{
calculateMidPrice();
}
trader.on("AskPrice").changed()
{
calculateMidPrice();
}
Image
Теперь проверим как работает наш индикатор. Создаем еще одну пустую группу скрипта под названием "Проверка".
Получать событие пользовательского индикатора так же просто как и с стандартными событиями.
Пишем тело события:
Code: Select all
trader.on("MidPrice").changed()
{
}
И мы будем получать значения внутри него. Чтобы увидеть работу его визуально, добавляем вывод в лог всех изменений.
Code: Select all
trader.on("MidPrice").changed()
{
trader.log("Средняя цена изменилась:", value);
}
Запускаем обе группы скриптов и смотрим в лог.
Image
Наш индикатор работает, и его можно использовать в любом скрипте и в любом месте с помощью стандартного метода trader.get("MidPrice");