Пользовательские индикаторы > Sentiment: настроение в течение дня

Дополнительные индикаторы от пользователей Альфа-Директ 4. Готовые решения от пользователей.
BugsDigger
Сообщения: 535
Зарегистрирован: 11 ноя 2018, 17:11
Благодарил (а): 21 раз
Поблагодарили: 92 раза

Sentiment: настроение в течение дня

Непрочитанное сообщение BugsDigger » 18 апр 2020, 15:43

Основан на значениях Ask/Bid; по мотивам DeltaCumLine/DeltaDay.

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

function Initialize()
{
 IndicatorName = "Sentiment";
 PriceStudy=false;
 AddInput("Input", Inputs.Candle);           
 AddSeries("Ask", DrawAs.Line, Color.Green);
 AddSeries("Bid", DrawAs.Line, Color.Red);
 AddLevel(50.0, Color.Black, "Ask");

 AddParameter("Period", 0);     // 0: от начала дня; >0: бегущее окно, но в пределах дня
 AddParameter("Relative", 0);   // 0: ask/bid абсолютные; 1: в процентах к общему объему
 
 AddGlobalVariable("AskCum", Types.Double, 0.0);
 AddGlobalVariable("BidCum", Types.Double, 0.0);
 AddGlobalVariable("VolCum", Types.Double, 0.0);
 AddGlobalVariable("DayIndex", Types.Int, 0);
}

function Evaluate()
{
 if(BarDate(0)>BarDate(1) || CurrentIndex==0)
 {
  AskCum=0.0;
  BidCum=0.0;
  VolCum=0.0;
  DayIndex=CurrentIndex;
 }
 
 AskCum+=Input.VolumeAsk[0];
 BidCum+=Input.VolumeBid[0];

 if(Period>0 && DayIndex+Period<=CurrentIndex)
 {
  AskCum-=Input.VolumeAsk[-Period];
  BidCum-=Input.VolumeBid[-Period];
 }
 
 if(Relative!=0)
 {
  VolCum+=Input.Volume[0];
  if(Period>0 && DayIndex+Period<=CurrentIndex) VolCum-=Input.Volume[-Period];
 
  if(VolCum>0)
  {
   Ask=AskCum/VolCum*100.0;
   Bid=BidCum/VolCum*100.0;
  }
  else { Ask=0; Bid=0; }
 }
 else { Ask=AskCum; Bid=BidCum; }
}
Смысл видится в том, чтобы согласовывать открытие позиции с общим настроением дня/последнего времени; например, если некий индикатор советует открыть лонг, то вряд ли стоит это делать, когда большинство сделок проходит по Bid (или в условиях неясного настроения).

Также можно попробовать задать уровень (>50%), при пробое которого вверх настроение можно считать достаточно определенным.

Ну и на кривые Ask и Bid можно пробовать навесить какие-то индикаторы, смотреть их пересечения и т.п.

Sentiment.png

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

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

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