Пользовательские индикаторы > Помогите с алертом при пересечении индикаторов

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
guslav
Сообщения: 18
Зарегистрирован: 25 апр 2020, 13:36
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение guslav » 14 дек 2020, 19:25

Всем привет.
В Альфе, на мой взгляд, проблемы с алертами. Хотя, может, это я "не умею их готовить" ))).
Просмотрел весь форум, но не нашел ничего подходящего. Есть только программа с алертом при пересечении линии. А вот нет ли у кого рабочей программки с алертом, типа, пересеклись 2 какие-нибудь скользящие средние - посылается алерт в сообщения. И хорошо бы еще при этом и звук был. Ну, или без звука.
Если есть у кого-то подобное, выложите, пожалуйста. Или киньте ссылкой в меня, если я плохо искал )).
Кому-то, возможно, нетрудно программку такую сваять за 5 минут. Мне, вот, трудновато, увы. Помогите, плз, буду очень благодарен.

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 14 дек 2020, 20:34

Приветствую! В конструкторе можно собрать.

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

/**

Hash code 33183BB5C180D78FD192EF26BB69E03E
**/
function Initialize()
{
   StrategyName = "MACross";
   AddParameter("PFast", 10, "", 1);
   AddParameter("PSlow", 50, "", 1);
   AddInput("Input1", Inputs.Candle, 1, true, "");
   LongLimit = 1;
   ShortLimit = -1;
   AddChartIndicator("EMA", new Dictionary <string, string>{{"Period", "PFast"}});
   AddChartIndicator("SMA", new Dictionary <string, string>{{"Period", "PSlow"}});
}

function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (CrossAbove(EMA(Input1.Close, PFast), SMA(Input1.Close, PSlow)) == true) )
   {
      ShowMessage("Пересекает вверх");
      PlaySound(InnerSystemSounds.Beep);
   }

   /// ПРАВИЛО 2
   if ( (CrossBelow(EMA(Input1.Close, PFast), SMA(Input1.Close, PSlow)) == true) )
   {
      ShowMessage("Пересекает вниз");
      PlaySound(InnerSystemSounds.Beep);
   }

}


Скачать скрипт стратегии (советника)

MACross.zip
(117.77 КБ) 773 скачивания
никогда такого не было и вот опять

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 14 дек 2020, 20:37

MACross-01.png
MACross-01.png (22.88 КБ) 16611 просмотров

MACross-02.png
MACross-02.png (29.07 КБ) 16611 просмотров
никогда такого не было и вот опять

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 14 дек 2020, 20:40

MACross-03.png
MACross-03.png (30.12 КБ) 16624 просмотра
никогда такого не было и вот опять

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 14 дек 2020, 20:46

MACross-04.png
никогда такого не было и вот опять

guslav
Сообщения: 18
Зарегистрирован: 25 апр 2020, 13:36
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение guslav » 15 дек 2020, 16:54

Спасибо большое. Отлично, но ведь это стратегия. И запускается она, как я понимаю, только на одном инструменте.
А мне хотелось бы индикатор на группу инструментов.
Если заменить параметр StrategyName на IndicatorName будет ли этот индикатор работать на группе инструментов?

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 15 дек 2020, 16:57

Стратегию можно запустить на сколько угодно инструментов.
Создав на основании стратегии нужное количество роботов-советников со своими инструментами и параметрами Pfast и Pslow, т.е. периоды для EMA и SMA, которые будут слать нужные сигналы в мобильное приложение и терминал.

Заменять в коде StrategyName на IndicatorName не нужно, после этого стратегия перестанет компилироваться и работать.
никогда такого не было и вот опять

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 15 дек 2020, 17:14

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

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

function Initialize()
{
   IndicatorName = "IMACross";
   AddParameter("PFast", 10, 1);
   AddParameter("PSlow", 50, 1);
   AddInput("Input", Inputs.Candle);
   AddSeries("iSMA", DrawAs.Line, Color.Red);
   AddSeries("iEMA", DrawAs.Line, Color.Green);
   PriceStudy = true;
}

function Evaluate()
{

   //evge 15.12.2020 https://alfadirect4.ru

   var I = Input;
   var E = EMA(I, PFast);
   var S = SMA(I, PSlow);
   
   iSMA[0] = S[0];
   iEMA[0] = E[0];
   
   // только на текущем баре
   if (CurrentIndex != MaxIndex) return;
     
   /// вверх
   if ( E[0] > S[0] && E[1] <= S[1] )
   {
      ShowMessage("Пересекает вверх");
      PlaySound(InnerSystemSounds.Exclamation);
   }

   /// вниз
   if ( E[0] < S[0] && E[1] >= S[1] )
   {
      ShowMessage("Пересекает вниз");
      PlaySound(InnerSystemSounds.Exclamation);
   }

}


Работает только на последнем (живом) баре, если график смещен и не обновляется последний бар, то сигналов не будет

Выдавать сообщения будет на каждом тике текущего бара.
никогда такого не было и вот опять

guslav
Сообщения: 18
Зарегистрирован: 25 апр 2020, 13:36
Благодарил (а): 2 раза
Поблагодарили: 1 раз

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение guslav » 15 дек 2020, 20:36

Спасибо огромное. Очень признателен. Все попробую. Возможно, я просто не сильно вникал в стратегии.

В случае стратегии сообщения будут выдаваться в чат. Чат - это окно, где общаются посетители?
Или это окно "Сообщения" и раздел "Сообщения роботов? ?

А в случае индикатора будет сообщение выдаваться в окно "Сообщения", типа, в системные сообщения или там, персональные? Или только всплывающие, значит включить их надо, получается.

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

Re: Помогите с алертом при пересечении индикаторов

Непрочитанное сообщение evge » 15 дек 2020, 21:23

guslav писал(а):В случае стратегии сообщения будут выдаваться в чат. Чат - это окно, где общаются посетители?
Или это окно "Сообщения" и раздел "Сообщения роботов? ?


Где общаются, но выдаваться будет они в отдельной закладке с вашим именем. Приложение на смартфоне, планшете будут присылать push уведомления как на скриншоте выше, т.е. там будет информация о роботе-советнике, инструменте, таймфрейме, времени сигнала и вашим текстом из ShowMessage("текст").

guslav писал(а):А в случае индикатора будет сообщение выдаваться в окно "Сообщения", типа, в системные сообщения или там, персональные? Или только всплывающие, значит включить их надо, получается.


Всплывающее, надо включать.
никогда такого не было и вот опять


Вернуться в «Пользовательские индикаторы»

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

Сейчас этот форум просматривают: Bing [Bot] и 10 гостей